平滑的三维矩阵

6视图(30天)
海伦Barthe
海伦Barthe 2022年11月18日
回答: 沃斯 2022年11月18日
我有一个3 d surfrace策划但很粗糙,我需要光滑。我已经尝试使用interpt2我一直收到错误代码。
下面是我一直努力的代码
x = 0:21;
y = 0:17;
(x, y) = meshgrid (x, y);
z = [5 5 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5 5; 0 0 5 0 1 0 2 0 0 1 0 5 5 5 5 5 5 5 5 5 5;0 2 0 1 0 0 0 1 0 0 2 0 3 0 0 1 5 5 5 5 5;1 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 5 5 5 5;13 5 5 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5;5 5 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 5 5;5 5 5 0 0 0 0 0 0 24 24 1 0 0 0 0 0 0 0 0 5;5 5 5 5 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0;5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5;5 5 5 5 5 0 0 0 2 0 0 0 0 0 0 0 0 0 5 5 5;5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 1 0 5 5 5;5 5 5 5 5 5 5 0 3 0 0 0 0 0 0 0 5 5 5 5;23日5 5 5 5 5 5 5 5 0 0 0 0 0 27日27日0 5 5 5 5 5;5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 5 5 5 5 5 5;5 5 5 5 5 5 5 5 5 0 0 0 0 5 5 5 5 5 5 5 5;5 5 5 5 5 5 5 5 5 0 0 0 5 5 5 5 5 5 5 5 5;5 5 5 5 5 5 5 5 5 5 0 5 5 5 5 5 5 5 5 5 5];
冲浪(z)
包含( “宽度” )
ylabel ( “长度” )
zlabel ( “地震” )
ξ= 0:.1:10;
易= 0:.1:10;
[xi, yi] = meshgrid (xi, yi);
佐= interp2 (x, y, z, xi,咦, “立方” );
冲浪(xi,咦,佐)
这些错误不断出现
错误使用griddedInterpolant
GridVectors必须定义一个网格的大小
兼容数组的值。
错误interp2 > makegriddedinterp(第226行)
F = griddedInterpolant(变长度输入宗量{:});
错误interp2(第134行)
F = makegriddedinterp (X, Y, V,方法,extrap);
错误MultiVaribleProject(12)行
佐= interp2 (x, y, z, xi,咦,“立方”);

接受的答案

沃斯
沃斯 2022年11月18日
x = 0:21;
y = 0:17;
(x, y) = meshgrid (x, y);
z = [5 5 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5 5; 0 0 5 0 1 0 2 0 0 1 0 5 5 5 5 5 5 5 5 5 5;0 2 0 1 0 0 0 1 0 0 2 0 3 0 0 1 5 5 5 5 5;1 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 5 5 5 5;13 5 5 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5;5 5 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 5 5;5 5 5 0 0 0 0 0 0 24 24 1 0 0 0 0 0 0 0 0 5;5 5 5 5 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0;5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5;5 5 5 5 5 0 0 0 2 0 0 0 0 0 0 0 0 0 5 5 5;5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 1 0 5 5 5;5 5 5 5 5 5 5 0 3 0 0 0 0 0 0 0 5 5 5 5;23日5 5 5 5 5 5 5 5 0 0 0 0 0 27日27日0 5 5 5 5 5;5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 5 5 5 5 5 5;5 5 5 5 5 5 5 5 5 0 0 0 0 5 5 5 5 5 5 5 5;5 5 5 5 5 5 5 5 5 0 0 0 5 5 5 5 5 5 5 5 5;5 5 5 5 5 5 5 5 5 5 0 5 5 5 5 5 5 5 5 5 5];
x y z
类属性名称大小字节x 18将3168双y 18将3168双z 17 x21 2856双
正如您可以看到的, z 有一个行和列少于吗 x y 。这就是错误消息 interp2 是抱怨。
定义 x y 从1开始允许 interp2 工作(我不知道如果这是一个适当的解决在这种情况下):
x =一21;
y =一17;
(x, y) = meshgrid (x, y);
z = [5 5 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5 5; 0 0 5 0 1 0 2 0 0 1 0 5 5 5 5 5 5 5 5 5 5;0 2 0 1 0 0 0 1 0 0 2 0 3 0 0 1 5 5 5 5 5;1 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 5 5 5 5;13 5 5 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5;5 5 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 5 5;5 5 5 0 0 0 0 0 0 24 24 1 0 0 0 0 0 0 0 0 5;5 5 5 5 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0;5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5;5 5 5 5 5 0 0 0 2 0 0 0 0 0 0 0 0 0 5 5 5;5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 1 0 5 5 5;5 5 5 5 5 5 5 0 3 0 0 0 0 0 0 0 5 5 5 5;23日5 5 5 5 5 5 5 5 0 0 0 0 0 27日27日0 5 5 5 5 5;5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 5 5 5 5 5 5;5 5 5 5 5 5 5 5 5 0 0 0 0 5 5 5 5 5 5 5 5;5 5 5 5 5 5 5 5 5 0 0 0 5 5 5 5 5 5 5 5 5;5 5 5 5 5 5 5 5 5 5 0 5 5 5 5 5 5 5 5 5 5];
x y z%都是一样的尺寸
类属性名称大小字节x 17 x21 2856双y 17 x21 2856双z 17 x21 2856双
冲浪(z)
包含(“宽度”)
ylabel (“长度”)
zlabel (“地震”)
ξ= 0:.1:10;
易= 0:.1:10;
[xi, yi] = meshgrid (xi, yi);
佐= interp2 (x, y, z, xi,咦,“立方”);
冲浪(xi,咦,佐)
然而,请注意,由此产生的高分辨率表面并没有昔日的形状一样。这是因为查询点 只有去10而不是21岁或17像原始的 x y 分别,这表面仅覆盖原地区的大约四分之一。为了解决这个问题,定义 定义的原始地区跨度 x y 。例如:
ξ= linspace (x(1),(结束),50);
易= linspace (y (1), y(结束),50);
[xi, yi] = meshgrid (xi, yi);
佐= interp2 (x, y, z, xi,咦,“立方”);
冲浪(xi,咦,佐)
包含(“宽度”)
ylabel (“长度”)
zlabel (“地震”)
现在与原始表面,它涵盖了同一地区,~ 2.5 x的决议。调整50用于定义 调整分辨率。

更多的答案(0)

社区寻宝

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

开始狩猎!