【问题标题】:parametric function plotting in matlabmatlab中的参数函数绘图
【发布时间】:2020-09-29 06:09:58
【问题描述】:

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

【问题讨论】:

    标签: matlab matlab-figure


    【解决方案1】:

    您可以将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

    【讨论】:

    • 哦,我什至不知道fsurf。我建议的更清洁的解决方案。 +1!
    【解决方案2】:

    我会为此使用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') 显示):

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-17
      • 1970-01-01
      • 2017-10-02
      • 1970-01-01
      相关资源
      最近更新 更多