当我们有一堆离散点的数据,但愿经由过程云图或等值线图的形式直不雅地表现数据的分布特征,并且我们需要绘制的区域有时是矩形的,有时是圆形的,或是其他外形,这里将介绍分歧轮廓下云图的绘制。
假设给定一个矩形区域-1≤x≤1,-2≤y≤2.
并假定在该区域上有8个离散点,坐标为:
x=[1,0.3,-0.5,0.7,0.9,-0.8,-0.2,0],y=[-0.3,0.3,-1.5,-1.2,1.8,0,1.1,0.6],
每个离散点上的参数值记为f=[5.7,4.3,7.5,9,2.4,5.6,7.6,4]
首先在matlab号令行窗口中输入离散点坐标及对应参数值(如图)
生当作矩形云图区域的法则的插值点,例如将矩形区域-1≤x≤1,-2≤y≤2在x标的目的20等分,在y标的目的40等分,用X1,Y1来暗示矩形区域新的插值点的坐标。这可以经由过程图中体例实现,或用linspace(x1,x2,N)号令实现,见图。这里X1和Y1都是行标的目的量。
将原先离散点的数据按必然的数学体例插值到新的离散点X1,Y1,这里采用griddata号令,前面的x,y,f别离为本来离散点的坐标和响应的参数值,这里出格注重X1右上角有个转置的符号 ' ,如许才能直接由两个行标的目的量形当作一个坐标矩阵,如下图中的X和Y,X和Y均为21×41的矩阵。
图中Z则为插值获得的与X和Y坐标对应的参数值;
'v4'代表插值方式为matlab4样条函数内插,也可用'linear','cubic','nearest'等
用contourf号令绘制等值线图,见图中红色线框圈出的内容。号令中20暗示云图中等值线数值分当作的份数。
如许矩形区域云图(等值线图)就绘制当作功,如图。
对于同样的离散点的数据,若给定圆形区域:圆心为(0,0),半径为2的圆形区域,生当作等值线图的关头步调是生当作圆形区域内的插值点坐标矩阵,如图中的X1和Y1,这里X1和Y1均为21×121的矩阵,而不是标的目的量,感化如同上面第三步中的X和Y。
将原先离散点的数据按必然的数学体例插值到新的离散点X1,Y1。
Z=griddata(x,y,f,X1,Y1,'v4');
这里与矩形区域云图绘制的最年夜区别是X1和Y1都是21×121的矩阵(如图),不是行标的目的量,是以X1右上角不需要转置符号;此外,输出量只需插值获得的新的参数值矩阵Z。
用contourf号令绘制等值线图,号令中20暗示云图中等值线数值分当作的份数。
如许圆形区域云图(等值线图)就绘制当作功,如图。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!