matlab中的参数函数绘图

parametric function plotting in matlab

我需要绘制 x = cos(u)*cos(v), y=cos(v)*sin(u), z = -sin(v) 其中 u,v 都来自 (0, \pi)。我查看了 fplot3 函数,但它只需要一个参数。任何人都可以指出一些功能还是有其他方法比如编写脚本来进行绘图?

我会为此使用 meshgrid

u = linspace(0,pi,51);
v = linspace(0,pi,51);
[U,V] = meshgrid(u,v);
X =  cos(U).*cos(V);
Y =  sin(U).*cos(V);
Z = -sin(V);

然后您可以根据需要将其绘制为网格(使用 mesh(X,Y,Z))或一组线(例如,此处通过 plot3(X',Y',Z') 显示):

您可以使用 fsurf 绘制参数曲面图。 fsurf 接受两个输入,uv

% your functions
f_x = @(u,v) cos(u).*cos(v);
f_y = @(u,v) cos(v).*sin(u);
f_z = @(u,v) -sin(v);

% plot
umin = 0;
umax = pi;
vmin = 0;
vmax = pi;

figure(1); clf;
fsurf(f_x,f_y,f_z, [umin umax vmin vmax])

您还可以查看 fcontourfmesh