在极地网格上绘制轮廓的示例在matlab中不起作用

问题描述 投票:0回答:1

我正在关注matlab的以下示例:http://se.mathworks.com/help/matlab/creating_plots/contour-plot-in-polar-coordinates.html。这个例子有效,但是当我想绘制自己的数据时,图形不会改变,我没有输出。像往常一样使用contour()绘制我的数据。我究竟做错了什么?

编辑:示例中的代码是:

th = (0:5:360)*pi/180;
r = 0:.05:1;
[TH,R] = meshgrid(th,r);
[X,Y] = pol2cart(TH,R);
Z = X + 1i*Y;
f = (Z.^4-1).^(1/4);

figure
surf(X,Y,abs(f))
colormap summer;
hold on
surf(X,Y,zeros(size(X)))
hold off
xlabel('Real')
ylabel('Imaginary')
zlabel('abs(f)');
figure
contour(X,Y,abs(f),30)
axis equal
xlabel('Real')
ylabel('Imaginary')
h = polar([0 2*pi], [0 1]);
delete(h)
hold on
contour(X,Y,abs(f),30)

我的值是abc,代表网格(如THR)和c,它是一个高度矩阵。我只是替换了最后一个命令:

contour(a, b, c, 30)

a是361x361大小的矩阵,范围从2到226,b相同。 c从0.5到50,大小为361x361。

matlab contour polar-coordinates
1个回答
0
投票

好的,问题的解决方案只是重写这一行

h = polar([0 2*pi], [0 1]);

h = polar([0 2*pi], [0 max(a)]);

因为我的数据从x值2开始,因此没有显示在从01的范围内。

© www.soinside.com 2019 - 2024. All rights reserved.