自定义矩阵插值每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故事本来)……等等……
我应该在所有的列重复相同的过程。最终结果应该类似于:
你的帮助非常感激!

接受的答案

马特·J
马特·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;
表(),结果
ans =20×2表
一个 结果 ________ ________1 21 23 21 22 0 0 2 0 0 3 0 0 4 24 0 0 5 25 26 6 26日6 0 0 7 0 0 8 27 28 29 0 0 9 0 0 10 30 22 22 62 62 24 64 0 0 26 66 0 0 0 0 28 30 70 32 72 32 72 68 0 0
5个评论

登录置评。

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2023年1月22日
[Mxrows, Mxcols] =大小(Mx);
输出= interp1 (1: Mxrows, interp1 (1: Mxcols, Mx。”,1:1。:Mxcols)。”,1:1。:Mxrows);
5个评论
西蒙。
西蒙。 2023年1月23日
编辑:西蒙。 2023年1月23日
你好沃尔特,如果我输入21 221 [1][A1 A6 A11],分别输出你建议是正确的。
确认,第一批将从A1 A10, A11是第二批的一部分,从A11样子。
编辑*: 我注意到步骤1(水平线性插值,例如使用interp1),不会产生结果我需要。相反,第一步可以调整插入的值通过相邻点之间的差异,利用这些差异来计算1/5th 4内部点?
我修改相应的原文。
多谢!

登录置评。

类别

找到更多的在插值帮助中心文件交换

下载188bet金宝搏


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!