自定义矩阵插值每10每一列的数字
4视图(30天)
显示旧的评论
亲爱的,我有一个矩阵(Mx) 400 x 410。我需要插入它获得2000 x2050矩阵。最终结果应该几乎等于外汇(附加矩阵。请注意,2000年外汇应该x2050但文件太大,所以我裁剪1000 x1000)。给定矩阵的性质(纬度文件从卫星场景),一个线性/双线性/立方/等。插值引入一个错误使插值无用的文件。我找到了适合我,我在Excel中复制它在一个小样本(附加文件),但我没有能力编写MATLAB脚本,可以做同样的事情。这些都是我需要的步骤,以获得所需的结果:
1)
编辑*:
首先,每一行的水平插值。相邻点之间的差异,利用这些差异来计算1/5th 4内陆点。产生一个矩阵(400年x2050):
2)安排垂直插值矩阵(不需要这一步我想在MATLAB中,这只是直观地解释理论):
3)我需要计算10块的内插的数字。这将是,在上面的示例中,A1 A10, A11 A20,等等。这应该是通过应用以下方法:
x = (A6 - A1) / 5;
A1 = A1;
这必须保持不变。
A2 = A1 + x;
A3 = A2 + x;
A4 = A3 + x;
A5 = A4 + x;
A6 = A6;
这必须保持不变。
A7 = A6 + x;
A8 = A7 + x;
A9 = A8 + x;
A10 = A9 + x;
在这一点上,我需要搬到第二块10(即。,A11 A20):
x ' = (A16 - A11) / 5;
A11 = A11;
这必须保持不变。
A12 = A11 + x”;
首次购物= A12 + x”;
阿= A13 + x”;
A15 =阿+ x”;
A16 =系;
这必须保持不变。
第A17 = A16 + x”;
那么第A17 = + x”;
A19 =那么+ x”;
A20 = A19 + x”;
然后,我应该搬到第三块10(即。A21故事本来)……等等……
我应该在所有的列重复相同的过程。最终结果应该类似于:
你的帮助非常感激!
0评论
接受的答案
马特·J
2023年1月23日
编辑:马特·J
2023年1月23日
[]=重塑(1,2);
一(10:最终,)= (10:,:)* 2;
一个=(1:5:最终,);%的输入
M = 5;% upsampling因素
= kron ([1; 0 (m - 1, - 1)]);
N =大小(1);
fcn = @ (z) repelem (z, 2 * M, 1);
B = diff ((1: M:,:), 1, 1);
B = B / M(1:2:最终,);
C = repmat ((0:2 * m - 1),高(B), 1);
B = fcn (B);
结果= fcn ((1:2 * M:最后,:))+ b * C;
表(),结果
答案(1)
沃尔特·罗伯森
2023年1月22日
[Mxrows, Mxcols] =大小(Mx);
输出= interp1 (1: Mxrows, interp1 (1: Mxcols, Mx。”,1:1。:Mxcols)。”,1:1。:Mxrows);