gpt4 book ai didi

matlab - 彩色图绘制,使用surf()时出错数据尺寸必须一致

转载 作者:行者123 更新时间:2023-12-03 07:58:55 27 4
gpt4 key购买 nike

我正在尝试使用以下代码绘制颜色图:

[x,z] = meshgrid(0:100:600,0:100:600);
mm = size(z);
for z2 = 1:3
for x2 = 1:3
E(z2,x2) = (x(x2))^2 + (z(z2))^2;
end
end

figure;
surf(x,z,E,'EdgeColor','None');
view(2);
xlabel('x','fontsize',20);
ylabel('z','fontsize',20);
colormap jet;

我在for循环中使用了z2和x2,因为我只想在meshgrid中使用第一个到第三个元素,这意味着x和z都使用0,100,200,但是matlab向我返回了错误:

使用Surf时出错(第74行)
数据尺寸必须一致。

睾丸错误(第10行)
surf(x,z,E,'EdgeColor','None');

但是,如果我设置z2 = 3:7和x2 = 3:7,那么它可以生成没有错误的图形,但是我不知道为什么会这样,如何实现要绘制的图形?

最佳答案

矩阵尺寸不匹配。由于您创建了7by7网格矩阵,因此结果矩阵E必须为7by7矩阵。

请尝试以下代码。

[x,z] = meshgrid(0:100:600,0:100:600);
mm = size(z);

E=zeros(7,7); %initializing result matrix E

for z2 = 1:3
for x2 = 1:3
E(z2,x2) = (x(x2))^2 + (z(z2))^2;
end
end

figure;
surf(x,z,E,'EdgeColor','None');
view(2);
xlabel('x','fontsize',20);
ylabel('z','fontsize',20);
colormap jet;

在3:7的情况下,由于结果矩阵E为7by7矩阵,因此可以避免矩阵维数误差。

关于matlab - 彩色图绘制,使用surf()时出错数据尺寸必须一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39651124/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com