matlab绘画三维图形(三)

版权声明:本文为博主原创文章,如果转走了就评论说一声就好了哈。 https://blog.csdn.net/qq_36124802/article/details/80525856

作图均在方法一上的数据进行更改。

对散点图拟合三维网格图形:

方法一(可控制网格上的密度:

num=xlsread('data_2011a.xls', 'B4:E322') %读取出该区域的数据作为表格
A=num(:,1) %从B矩阵取出第一列的所有行
B=num(:,2) 
C=num(:,3) 
xx=linspace(min(A),max(A),50); %产生min(A)到max(A)均摊的50个点,目的上拟合离散点数量上的不足
yy=linspace(min(B),max(B),50); 
[xt,yt]=meshgrid(xx,yy); %做成二维网格
zt=griddata(A,B,C,xt,yt,'v4'); %用v4点的方式进行填充
surf(xt,yt,zt) %输出结果图形


方法二:

[X,Y,Z]=griddata(A,B,C,linspace(min(A),max(A))',linspace(min(B),max(B)),'v4');%插值,
figure,surf(X,Y,Z)

等高线图:

在三维网格的后面加上

figure(3),contourf(xt,yt,zt)
colorbar%对等高线添加一个颜色代表的深度


浓度图:
h=pcolor(xt,yt,zt)%建立浓度图
shading interp;%使浓度图变得平滑
colorbar%对等高线添加一个颜色代表的深度





Others:

a=A'//A矩阵转置,符号为单引号

猜你喜欢

转载自blog.csdn.net/qq_36124802/article/details/80525856