【发布时间】:2020-03-23 12:34:09
【问题描述】:
我有来自四个传感器的测量数据,每个传感器都给出给定水深 (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 循环?
【问题讨论】:
-
请编辑您的代码,以便定义输入变量(示例值),并指明所需的输出是什么
标签: matlab matrix large-data