【问题标题】:Plot surface in cylindrical coordinate system in matlab在matlab中的圆柱坐标系中绘制曲面
【发布时间】:2016-01-15 21:46:01
【问题描述】:

我有一个函数,想在柱坐标上绘制它。

w(z,theta)=sin(n.pi.z/a).sin(m.theta) 

变量的极限是:z=0..a,theta=0..theta_0,圆柱半径是R=1。

从物理意义上来说,我可以解释说,如果我们在笛卡尔坐标中, z & theta 是 x,y 轴,w 是这个矩形域上的表面。但是在圆柱坐标 z 和 theta 中,限制了一个半径 = 1 的圆柱体,w 是该域上的表面。

【问题讨论】:

    标签: matlab plot cylindrical


    【解决方案1】:

    使用柱坐标或球坐标绘图涉及几个步骤:

    1. thetaz 创建向量:

      theta = linspace(0,2*pi); z = linspace(0,10);

    2. thetaz 创建一个meshgrid

      [TH,Z] = meshgrid(theta,z);

    3. 写出你的函数 R(TH,Z):

      R = sin(Z)+1+5*sin(TH); %// 对于圆柱体,它只是 R = one(size(Z));

    4. 将圆柱坐标转换为笛卡尔坐标:

      [x,y,z] = pol2cart(TH,R,Z);

    5. 使用surfmesh 或其他方式绘制结果:

      网格(x,y,z); 轴相等

    这是你得到的结果:

    【讨论】:

    • 请问有什么方法可以根据与 z 轴的径向距离而不是基于 z 轴的颜色代码?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多