首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >彩色地图绘制,使用surf()数据时出错,数据维度必须一致

彩色地图绘制,使用surf()数据时出错,数据维度必须一致
EN

Stack Overflow用户
提问于 2016-09-23 09:18:09
回答 1查看 801关注 0票数 1

我正在尝试使用下面的代码绘制一个彩色地图:

代码语言:javascript
运行
复制
[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,因为我只想使用网格中的第一到第三个元素,这意味着x和z都是0,100,200,但matlab返回了错误:

使用surf时出错(第74行)数据维度必须一致。

测试图出错(第10行) surf(x,z,E,'EdgeColor','None');

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

EN

Stack Overflow用户

发布于 2016-09-23 09:36:12

矩阵维度不匹配。由于您制作了7x7网格矩阵,因此结果矩阵E必须是7x7矩阵。

请尝试下面的代码。

代码语言:javascript
运行
复制
[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是7x7矩阵,因此可以避免矩阵尺寸错误。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39651124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档