实际上很有趣。
Wolfram Alpha只显示整个图表的top part,ezsurf只想显示图表的下半部分,使用meshgrid产生this ugly weirdness,并更改zlim在ezsurf绘制的图表上给了我一个flat plane。
我喜欢Matlab向我展示一些平滑而美好的东西,就像ezsurf和wolfram所展示的那样,但我想在同一个图中看到它的两个部分。
有没有办法做到这一点?
答案 0 :(得分:0)
我认为你的问题只是选择正确的x和y坐标来绘制。
在Wolfram上,x和y都形成-0.5到0.5。在Matlab中这样做可以得到以下结果:
clear
clc
[x,y] = meshgrid(-.5:.01:.5,-.5:.01:.5);
z = 1./(1-x.^2-y.^2);
surf(x,y,z,'FaceColor','interp','EdgeColor','interp')
colormap(jet)
view(30,50);
camlight right
你可以改变观点,但这对我来说很好看:))
答案 1 :(得分:0)
设置您想要绘制的限制:
ezsurf(@f,[-.5,.5],[-.5,.5])
你可能也想要这个:
function z=f(x,y)
z = 1./(1-x.^2-y.^2);
z(z<0)=nan;
end
然后使用ezsurf(@f,[-1,1],[-1,1],'circ')
绘图:
ezsurf(@f,[-1,1],[-1,1],'circ')
或没有circ
选项