poster
2019-11-28, 17:20
我有四个传感器的测量数据,每个传感器给出给定水深(d)和时间(t)的当前速度。以下是这四个电流测量值的矩阵尺寸:
cs1 = [d1 x t1]; cs2 = [d2 x t2]; cs3 = [d3 x t3]; cs4 = [d4 x t4]
水深数组d1, d2, d3, d4是唯一值,但它们的范围重叠。例如, d1=5:4:141和d2=72:2:200 。时间数组t1,t2,t3,t4也具有不同的起点和终点,且具有不同的时间步长。
我需要创建一个组合的矩阵cs ,其中包括来自所有四个传感器的数据。为此,我创建了一个NaN矩阵,如下所示:
t = unique([t1;t2;t3;t4]); d = unique([d1 d2 d3 d4]); cs = NaN(length(d),length(t)); % Populaitng data from 1st sensor for i=1:length(d1) for j=1:length(t1) cs(d==d1(i) & t==t1(j))=cs1(i,j); end end 我正在使用for循环来一次填充一个仪器数据的cs矩阵。由于深度和时间数组的大小都很大,所以这种方法效率很低。
是否有一种更快的方法来填充cs矩阵,而无需为每个仪器运行for循环?
更多&回答... (https://stackoverflow.com/q/59078910)
cs1 = [d1 x t1]; cs2 = [d2 x t2]; cs3 = [d3 x t3]; cs4 = [d4 x t4]
水深数组d1, d2, d3, d4是唯一值,但它们的范围重叠。例如, d1=5:4:141和d2=72:2:200 。时间数组t1,t2,t3,t4也具有不同的起点和终点,且具有不同的时间步长。
我需要创建一个组合的矩阵cs ,其中包括来自所有四个传感器的数据。为此,我创建了一个NaN矩阵,如下所示:
t = unique([t1;t2;t3;t4]); d = unique([d1 d2 d3 d4]); cs = NaN(length(d),length(t)); % Populaitng data from 1st sensor for i=1:length(d1) for j=1:length(t1) cs(d==d1(i) & t==t1(j))=cs1(i,j); end end 我正在使用for循环来一次填充一个仪器数据的cs矩阵。由于深度和时间数组的大小都很大,所以这种方法效率很低。
是否有一种更快的方法来填充cs矩阵,而无需为每个仪器运行for循环?
更多&回答... (https://stackoverflow.com/q/59078910)