我已经生成了一个矩形矩阵,它的方位角随行变化,半径随着列的变化而变化。这些是为了表示旋转的直升机叶片所经历的相对速度。这会生成一个名为Vmat的矩阵。我想把它画成一个圆圈(代表刀片的旋转)
到目前为止我已经试过了
[R,T] = meshgrid(r,az);
[x,y] = pol2cart(T,R);
surf(x,y,Vmat(r,az));
它应该产生一个显示速度的等高线表面,它随着方位角和半径的变化而变化,但它会出现尺寸误差。我不介意它是二维等高线图还是三维曲线图,我猜两者都是以类似的方式编写的。
谢谢詹姆斯
发布于 2014-01-12 02:49:39
错误在于写入Vmat(r,az)
,假设这些是半径和方位角的实际值,而不是半径和方位角的索引。如果您只想获取Vmat
的一个子集,那就稍微不同了,但这应该是可行的:
[R,T] = meshgrid(r,az); % creates a grid in polar coordinates
[x,y] = pol2cart(T,R); % changes those to cartesian for surf
surf(x,y,Vmat);
或者,您可以绘制等高线图:
h = polar([0 2*pi], [0 max(r)]); % set up polar axes with right scale
delete(h) % remove line
hold on
contour(x,y,Vmat);
https://stackoverflow.com/questions/21067181
复制相似问题