我有3个带坐标值(X,Y,Z)的矢量,我想将它们绘制成曲面。我已经尝试过来自这里和其他论坛的各种解决方案,并且不能让我的生活让它看起来像任何有意义的东西。我有一张图片可以更好地描述情况但我无法发布,因为我没有足够的声誉。请帮忙。谢谢。
编辑:这是图片的链接:
在图片中,每个矢量箭头的原点代表3D坐标中的点,矢量箭头的长度给出了在3D空间中该点移动所需扭矩的大小。
现在,数据在行向量中与每个点的坐标分开:这样,X的一个向量,Y的一个向量.Z是整个3行矩阵内的一行矩阵描述了3个坐标轴中所需的扭矩。
我尝试在X和Y向量上使用meshgrid
,然后使用griddata
然后surf
将Z值归因于我,但我没有得到某些内容看起来像原始:
情节是线性的,但我非常确定数据不是......至少不是线性的。
答案 0 :(得分:1)
似乎你想要绘制由向量描述的单个点,在这里你有一个旧的答案(作为奖励,你将有漂亮的彩色情节'因为这是原始问题的问题):
假设Data=[Vec1,Vec2,Vec3,...]
和VecN=[Xn,Yn,Zn]'
”
如果要绘制点,可以定义RGB颜色并使用hold on
绘制单点,如下所示:
hold on
for i=1:length(Data(:,1))
plot3(Data(i,1),Data(i,2),Data(i,3),'Color',[(i/100*255)/255 0/255 (255-(i/100*255))/255],'LineWidth',2)
end
shg
“
答案 1 :(得分:1)
管理解决问题。如上所述,数据并不统一,正因为如此,surf
从剧情的一端跳到另一端,造成了一团糟。通过使用linspace
线性组织值然后使用这些值创建meshgrid
,然后使用griddata
和cubic
插值分配Z值来解决此问题。管理到用手边的数据生成适当的表面图。
答案 2 :(得分:0)