一个简单的例子:
首先 有离散点的数据如下
x=[376.82 377.56 379.74 421.20 419.41 417.82 418.80 458.86 457.72 ...
459.55 461.64 500.27 501.51 499.48 498.02 499.19 539.31 538.37 ...
539.96 542.43 540.81 580.87 580.89 582.67 579.80 578.48 579.50 ];
y=[311.42 344.05 381.52 422.46 383.35 345.66 313.22 314.89 347.19 ...
385.15 423.93 462.25 425.33 386.88 348.68 316.53 318.11 350.12 ...
388.58 426.71 463.96 486.67 465.60 428.02 390.20 351.48 319.65 ];
z=[365.45 354.19 430.11 432.51 356.90 340.96 379.24 272.01 279.68 ...
264.96 374.48 360.38 305.39 195.33 259.36 158.41 111.65 205.40 ...
192.63 242.56 351.51 309.88 318.34 209.11 231.77 152.79 101.59 ];
共27个点 其中x和y表示点的坐标 z表示这个点的参数值
为了生成云图 首先要对这些连续的点进行插值处理
[X,Y,Z]=griddata(x,y,z,linspace(376,583,100)',linspace(311,487,100),'v4');
注 linspace(x1,x2,N)函数中x1、x2、N分别为起始值、终止值和元素个数 若N省去 则表示默认值100
[X,Y,Z] = griddata(x,y,z,X,Y,'v4')中 'v4'代表插值方法为matlab4格点样条函数内插
也可换用其它的值如'linear','cubic','nearest'等
分别为以三角形为基础的线性内插,以三角形为基础的三次方程内插,最邻近的点内插
contourf(X,Y,Z,20) %等值线图
其中20表示云图中数值分成的份数
pcolor(X,Y,Z);shading interp%伪彩色图
除此之外 还可以画出三维曲面
surf(X,Y,Z)%三维曲面
|