首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >轴标签问题

轴标签问题
EN

Stack Overflow用户
提问于 2010-06-25 17:14:22
回答 3查看 3.8K关注 0票数 2

通过运行我编写的以下matlab函数,x轴和y轴在图中互换。

谁能告诉我问题出在哪里,或者帮我解决?提前感谢您的帮助。

代码语言:javascript
复制
function axislabeling(n)
x=1:1:n;
y=1:1:n;

z=zeros(n,n);

for i=1:n
    for j=1:n
        z(i,j)=i;
    end
end
surf(x,y,z(x,y))

xlabel('x-axis')
ylabel('y-axis')
zlabel('z-axis')
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-25 18:08:44

我怀疑问题不是轴的标签错误,而是图表不是您所期望的。原因是matlab矩阵被访问(行、列) --即(y,x) --而不是您所拥有的(x,y)。因此,当您设置z(i,j)=i时,您得到的斜率方向是错误的。

票数 0
EN

Stack Overflow用户

发布于 2010-06-26 00:16:40

在这一点上,我同意@walkytalky。

出于故障排除的目的,最好使用x~=y来帮助您更清楚地了解情况。

例如:

代码语言:javascript
复制
n=10;
x=1:n;  %# stepsize of 1 is default and need not be specified
y=x.^2; %# instead of y=1:n to more easily distinguish x and y
z=repmat(x',1,n) %# use of repmat should be faster than a nested loop
surf(x,y,z)
ylabel('y-axis')   
xlabel('x-axis')   
zlabel('z-axis')

给出一个图,其中x和y轴被清晰地标记为正确的。

票数 1
EN

Stack Overflow用户

发布于 2014-04-21 18:28:24

在matlab中,矩阵存储为(行,列)格式,但行表示y轴,列表示x轴。因此,绘图命令应该是surf(x,y,z'),而不是surf(x,y,z)。

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

https://stackoverflow.com/questions/3116849

复制
相关文章

相似问题

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