我有两个长度不等的矩阵。每个矩阵在一列中包含坐标,在第二列中包含与这些坐标相关联的值。
两种情况下的坐标范围相似,但是坐标并不完全相同。
我想找到第一个和第二个矩阵的值之间的增量。如何克服不同坐标的问题?
user2381197
问问题
2383 次
1 回答
1
您可以尝试将值从一个矩阵插值到另一个矩阵的坐标并绘制增量:
y = rand(25,1);
z = rand(30,1);
x{:,1} = linspace(0,1,size(y,1))';
x{:,2} = linspace(0,1,size(z,1))';
hold on
plot(x{:,1},y,'b');
plot(x{:,2},z,'r');
z_new = interp1(x{:,2},z,x{:,1});
zy_delta = y - z_new;
plot(x{:,1},zy_delta,'xk');
两者y
和z
都针对相同的“无量纲”范围绘制,[0,1]
。z
有更多的点,y
并且该rand
函数提供了一种获得两个不同数据集的简单方法。
在情节中,人们将能够比较y
和z
。要测量差异,请使用interp1
- 或您发现适合您的问题的任何其他插值 - 在具有较低分辨率的数据集的坐标处找到具有较高分辨率的数据集的值。
现在你有两个长度相等的数据集:y
和z_new
. 在这两者之间,如有必要,您可以计算增量并绘制它。
在这种情况下,y
并且z
差异足以产生大量的增量。如果它们更接近,则增量会更小。
于 2013-05-28T13:38:19.413 回答