我运行了模拟,得到与
我希望做的是将我的数据绘制在一个圆柱坐标轴上,类似于
谢谢你的帮助! G.
另外,我正在使用Matlab 2012a
编辑:
r_val = 包含唯一半径的1x8向量
th_val = 包含唯一角度的1x16向量
v_val = 包含与每个位置对应的电压的8x16矩阵
注意:(回答后)
这个问题目前没有真正理想的解决方案,因为Matlab目前不支持真正的极坐标轴方法。 此处找到资源。
X
个不同半径和Y
个对应角度的数据点。这意味着我有X
乘以Y
个数据点需要绘制。目前我正在以非理想的方式绘制数据:我将x
和y
轴用作r
和theta
轴。这意味着我的数据在笛卡尔坐标系中以正弦波形式随半径增加,而不是在圆形图像上呈现。以下是我目前绘制数据的方式:surf(r_val, th_val, v_val);
我希望做的是将我的数据绘制在一个圆柱坐标轴上,类似于
polar()
函数,但是在R3空间中。我不想下载工具箱或修改现有的极坐标函数;如果没有其他解决方案,那么我显然最终还是会这样做。谢谢你的帮助! G.
另外,我正在使用Matlab 2012a
编辑:
r_val = 包含唯一半径的1x8向量
th_val = 包含唯一角度的1x16向量
v_val = 包含与每个位置对应的电压的8x16矩阵
注意:(回答后)
这个问题目前没有真正理想的解决方案,因为Matlab目前不支持真正的极坐标轴方法。 此处找到资源。
surf(x,y,z)
函数输入长度为n的向量x
和长度为m的向量y
,然后z
是一个nXm的矩阵。通过将我的r和theta转换为笛卡尔坐标,矩阵的值不再匹配(因为我使用了唯一的r和theta值)。 - gkiarsurf
也接受x
和y
的矩阵。在这种情况下,x
、y
和z
必须都是相同的大小。尝试类似于[R,T] = meshgrid(r_val,th_val)
,然后[x,y] = pol2cart(T,R);
。 - Chris