matlab利用插值方法,离散温度点怎么画出四维图像
给出的slice 例程程序如下。现温度值V 与坐标没有函数关系,要如何才能画出下图呢?[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);v = x.*exp(-x.^2-y.^2-z.^2); xslice = [-1.2,.8,2]; yslice = 2; zslice = [-2,0]; slice(x,y,z,v,xslice,yslice,zslice) colormap hsv
“温度值V 与坐标没有函数关系”,如果你的数据是离散的xyz坐标值以及与枯段其对应的温度v值,那么你要得到使用slice要求的条件,分两步:1.得到V的网格化的值。可以使用v1= griddata3(x,y,z,v,xi,yi,zi);xyz是三维坐标,xi,yi,zi是你指定的网格的坐标,按照上面没配誉的例程就是[xi,yi,zi] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);这样你就得到了新的网格化的V1,满足了你没有函数关系也计算出v的目的。2.设定slice并绘制。xslice = ......;yslice = ......; zslice = ......;
slice(xi,yi,zi,v,xslice,yslice,zslice) ;你可以试试,主要步卖桐骤和函数比较简单,就是matlab在插值(网格化)方面是比较软肋的,提供的插值算法忒少了,有时对实际数据的网格化并不令人满意,不过对于四维数据的网格化也只能用matlab了。另外四维数据的显示还可以用surf和mesh,显示三维坐标的曲面,用曲面上的颜色表示第四维数据,用哪一种你可以根据研究目的而定,研究瓜瓤用slice,研究瓜皮用surf和mesh。