• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

利用matlab将三维数据画成三维立体图

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

这里三维图参考了博客1:https://blog.csdn.net/weixin_41649786/article/details/81867092和
博客2:https://blog.csdn.net/LG1259156776/article/details/47761293
通过查询网上的资料,整理写成了matlab读取excel数据,画三维图,具体程序如下:

clear;
filename=‘数据.xlsx’;
sheet=5;
xlRange=‘B3:K25’;
%[num]=xlsread(filename,sheet,xlRange);
[num]= xlsread(filename,sheet,xlRange);
%补充,可以读取成txt,num,raw三种格式文件
[row,col]=size(num);
%选择要读取的列数,并写到data中去
data=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19,20];
%x=zeros(row,col);
%这里选择数据作为x变量
x=num(1:row,data(7));
x1=log10(x);
xmax=max(x1);
xmin=min(x1);
%设置x的间隔值
delta_x=xmax-xmin;
inter_x=delta_x/row;
%这里选择
数据作为y变量
y=num(1:row,data(8));
y1=log10(y);
ymax=max(y1);
ymin=min(y1);
%设置y的间隔值
delta_y=ymax-ymin;
inter_y=delta_y/row;
%这里选择**数据作为z数据
z=num(1:row,data(10));
z1=log10(z);
zmax=max(z1);
zmin=min(z1);
delta_z=zmax-zmin;
inter_z=delta_z/row;

%重构三维数据,画图
%将x,y轴网格化,重构用于画图的x,y数据;
[xq,yq]=meshgrid(xmin:inter_x:xmax,ymin:inter_y:ymax);
%插值,重构用于插值的Z轴数据;
zq=griddata(x1,y1,z1,xq,yq);

figure
surf(xq,yq,zq);
hold on
xlabel(‘log10(chl a concentration)’);
ylabel(‘log10(suspended concentration)’);
zlabel(‘log10(bacteria abundance)’);
plot3(x1,y1,z1,‘o’);

结果图:

如果存在问题,或者需要讨论的,可以留言相互讨论下。程序参考了好多网上的资料,如果你发现存在侵权,可以联系博主删除。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi与DirectX之DelphiX(65):TDIB.DoBrightness();发布时间:2022-07-18
下一篇:
注册表-显示回收站 - 疯狂delphi发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap