gki*_*iar 3 3d matlab cylindrical
我运行了模拟,它给出了X与不同半径数相对应的数据点,以及Y评估每个半径的角度数.这意味着我有X时间Y,我需要绘制的数据点.
我目前正以非理想的方式绘制它:我使用x和y轴作为轴r和theta轴.这意味着我的数据显示为正弦趋势,其在笛卡尔网格上随半径增加,而不是在物理上表示的圆.这就是我目前正在绘制数据的方式:
surf(r_val, th_val, v_val);
Run Code Online (Sandbox Code Playgroud)
我想要做的是将我的数据绘制在圆柱轴上,例如函数的数据polar(),但是在R3空间中.我宁愿不下载工具箱,也不想修改现有的极地功能; 如果没有其他解决方案,那么我显然最终会这样做.
谢谢你的帮助!G.
另外,我正在使用Matlab 2012a
编辑:
r_val =包含唯一半径的1x8向量
th_val =包含唯一角度的1x16向量
v_val = 8x16矩阵,包含对应于每个位置的电压
注意:(回答后)
这个问题不存在真正理想的解决方案,因为Matlab目前不支持真正的极轴方法.资源在这里找到.
您应该在绘制坐标之前将坐标转换为笛卡尔坐标.MATLAB具有用于执行coordiante变换的内置函数.例如pol2cart,参见哪个将极坐标或圆柱坐标转换为笛卡尔坐标.在您的情况下,您只需使用以下内容:
[x, y] = pol2cart(th_val, r_val);
surf(x, y, v_val);
Run Code Online (Sandbox Code Playgroud)
编辑:鉴于th_val并且r_val是不同长度的向量,有必要首先在调用之前创建一个点网格pol2cart,沿着以下行:
[R, T] = meshgrid(r_val, th_val);
[x, y] = pol2cart(T, R);
surf(x, y, v_val);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8743 次 |
| 最近记录: |