如何在MATLAB中用平方根绘制三维图?

时间:2017-10-08 05:57:47

标签: matlab plot

我想用函数z=sqrt(9-x.^2-y.^2) (x=[-3,3],y=[-3,3])

绘制一个图

但是matlab没有绘制情节。

如何绘制具有给定功能的情节?

2 个答案:

答案 0 :(得分:0)

Matlab需要meshgrid将3d数据绘制为曲面。但是,您的函数允许负根,导致z的结果复杂。任何3d图都无法准确表示这一点。为了更好地查看表面,我建议使用surf(X,Y,z(X,Y)),但surf无法处理复杂的输入。

x = -3:0.1:3;
y = x;
[X,Y] = meshgrid(x,y);
z = @(x,y) sqrt(9-x.^2-y.^2);
plot3(X,Y,z(X,Y));

答案 1 :(得分:0)

快速方法是使用fsurf(在R2016a之前的Matlab版本中使用ezsurf)或anonymous function。但是,与Dennis Klopfer's answer中的enter image description here一样,此选项可以比手动创建网格和调用surf更少控制。

fsurf(@(x,y) sqrt(9-x.^2-y.^2), [-3 3 -3 3])

enter image description here