做数模时,Matlab的四维表示找了我一晚上,好浪费时间,在这里做个整理。
四维是XYZ加各点颜色t=f(x,y,z)
我把三维空间离散化成三维点阵,X,Y,Z表示其中一维,都是从1到 xn,yn,zn
现在我的是一个三维矩阵
所以现在是在一个三维空间布满了点,我想用颜色来表示这些点。
会查到scatter3和plot3这两个函数
我用的是scatter3
写一下我写的函数
scatter3(X(v),Y(v),Z(v),35,'filled','cdata',t(X(v),Y(v),Z(v)))
X(v):绘制点的X轴坐标
Y(v):绘制点的Y轴坐标
Z(v):绘制点的Z轴坐标
35:绘制点的大小
'filled':绘制点实心
'cdata',t(X(v),Y(v),Z(v)):将绘制的每个点根据t(x,y,z)的值填上颜色数据
(X(v),Y(v),Z(v))就是每一个点的坐标了,所以X(v),Y(v),Z(v)的数量一点要相同
X(v)=1:a:n1
Y(v)=1:b:n2
Z(v)=1:c:n3
这样写,每个轴上的数量一定要相等