我想描述具有interp2功能的平面的表面平整度。
空间采样点如下。
width=[0 500];
length=[0 100 200 300 400 500 600 700 800 900 1000];
和平坦度如下,宽度分别为0和500.
a = [1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1]; % flatness at width 0
b = [-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1]; % flatness at width 500
使用这些值,表面形状如下图所示。
我想用interp2函数将此图更改为下图。
以下是我的代码。
widthq=[0 100 200 300 400 500];
flatness=[a' b'];
flatnessq=interp2(width,length,flatness,widthq,length);
但是,不处理一个错误,'输入数据的大小不一致。'
任何人都可以解释这个错误,并提供一种如何用interp2函数插入我的数据的方法吗?
答案 0 :(得分:1)
前三个输入需要全部具有相同的大小
[W, L] = meshgrid(width, length);
最后两个参数也需要具有相同的大小
[Wq, Lq] = meshgrid(widthq, length);
然后它应该工作
flatnessq=interp2(W,L,flatness,Wq,Lq);