[英]Plotting a contour 3D plot in Matlab
我在Matlab中输入了这段代码:
[x,y]=meshgrid(-3:1:3,-3:1:3);
z=sqrt((y.*y)-(x.*x))
contour3(x,y,z)
但我得到同样的错误。 2D轮廓图解决了。给定代码的问题是什么?
问题是,你正在引入复杂数字contour3
无法处理。
使用其中之一
z = abs( sqrt((y.*y)-(x.*x)) )
要么
z = real( sqrt((y.*y)-(x.*x)) )
或者重新考虑你是否真的想要你正在做的事情。
对于2D contour
命令,它会自动获取实际部分 。 您也可以做这样的事情来绘制两者。
[x,y] = meshgrid(-3:1:3,-3:1:3);
zr = real( sqrt((y.*y)-(x.*x)) )
contour(x,y,zr,'linewidth',1); hold on
zi = imag( sqrt((y.*y)-(x.*x)) )
contour(x,y,zi,'linewidth',3); hold off
得到:
粗线表示虚部,细线表示实部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.