matlab 根据三维数据可视化
主要使用了matlab里meshgrid、surf和shading。MATLAB绘图参考meshgrid 生成栅格meshgrid(x,y)由向量x和向量y通过复制的方法产生绘制图形时所需的栅格数据点矩阵X、Y。该命令产生栅格数据方法为:将向量X作为矩阵X的一个行向量,并将向量X复制length(y)次,以构成栅格数据点X矩阵;同样,将向量y作为矩阵Y的一个列向量,并将向量y复制length(x)
主要使用了matlab里meshgrid、surf和shading。
MATLAB绘图参考
meshgrid 生成栅格
meshgrid(x,y)由向量x和向量y通过复制的方法产生绘制图形时所需的栅格数据点矩阵X、Y。该命令产生栅格数据方法为:将向量X作为矩阵X的一个行向量,并将向量X复制length(y)次,以构成栅格数据点X矩阵;同样,将向量y作为矩阵Y的一个列向量,并将向量y复制length(x)次,以构成栅格数据点Y矩阵。
linspqce 控制坐标尺度
通过meshgrid这样生成的都是矩形区域,即根据Z轴涂色的基础就是底层是个矩形,绘制的是规则图像,如果绘制不规则图像,就要使用linspace函数,linspace函数形式为linspace(X1,X2,N),以X1为起始元素,X2为结尾元素,生成等间距的N个元素的列向量,其实整个生成过程都是通过插值完成的,N代表X1和X2之间插多少个数据。
[X,Y] = meshgrid(linspace(min(aa),max(a),300),linspace(min(b1),max(b),300));
TriScatteredInterp 将X、Y和Z的数据对应
插入二维或三维散点数据
https://blog.csdn.net/qq_30815237/article/details/86600840
surf 绘制三维曲面
通过上步绘完x和y的栅格后,就需要根据Z轴涂色以观察3维效果。Surf的格式为surf(x,y,z),其中X和Y就是上步骤中生成的栅格数据,Z则是X和Y对应的Z轴数据,以此为根据涂色。
但是涂什么颜色就要靠colormap和shading
surf(X,Y,Z);
shading interp;
colormap gray;
axis off %使坐标轴消失
view(az,el)定义呈现的视角
print 保存
print(gcf,'-djpeg','-r9',strcat(savepath,imageName));
其他方法
离散数据
plot3
scatter3(X,Y,Z)
创建三维散点图。使用 sphere 定义向量 x、y 和 z。
https://ww2.mathworks.cn/help/matlab/ref/scatter3.html
引用
https://blog.csdn.net/yongchunaq/article/details/37829867
https://ww2.mathworks.cn/help/matlab/creating_plots/types-of-matlab-plots.html
https://ww2.mathworks.cn/help/matlab/ref/scatter3.html

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)