matlab根据数据画三维图_matlab导入三组数据画三维图

matlab根据数据画三维图_matlab导入三组数据画三维图首先先分析对象。将数据利用matlab画出图,最开始是导入数据,然后处理数据,最后将处理的数据画出来。所以我将它分为三个步骤。第一步:导入数据如果是mat数据。可以直接load 如果是txt数据。可以用txtread 如果是excel数据。可以用xlsread详细的,可以参考https://blog.csdn.net/blueskyjian/article/details/728…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

首先先分析对象。将数据利用matlab画出图,最开始是导入数据,然后处理数据,最后将处理的数据画出来。

所以我将它分为三个步骤。

第一步:导入数据

  • 如果是mat数据。可以直接load
  • 如果是txt数据。可以用txtread
  • 如果是excel数据。可以用xlsread

详细的,可以参考https://blog.csdn.net/blueskyjian/article/details/72832449

代码如下:

%% 导入数据
clear all;clc;close all;
load xyzdata.mat;%导入的的数据应当去除NaN值

这是我的数据截图:

matlab根据数据画三维图_matlab导入三组数据画三维图

注:需要注意的是,要将数据的NaN(空值)去掉。可以在matlab工作去查看,并去除。

第二步:数据处理

由于我们的x、y轴数据,并不是1 、 2 、3等这样的整数排列的,所以必须利用原有的数据,重新构造三维数据。

重构三维数据主要有两步:

  • 第一步:栅格化,用到meshgrid()函数
  • 第二步:插值,用到griddata()函数

栅格化原理、效果可以参考https://blog.csdn.net/shanchuan2012/article/details/72772191

简单来时就是绘制网格

插值原理、效果可以参考https://blog.csdn.net/pingmin2014/article/details/47298947

简单来说就是估计绘制网格格点的z的数据

代码如下:

%% 相关计算
[a,~]=size(xRow);%x轴数据总共*******行;
xmax=max(xRow);%x轴数据最大值为********
xmin=min(xRow);%x轴数据最小值为*********
%下面两行是测试用的,便于设置间隔值
%delta_x=xmax-xmin;%x轴范围宽度值为*****
%delta_x/a;%z轴间隔大约为1.4796e-04,可以设置为0.01,如果想要更为精确,可以设置为0.001、0.0001
[b,~]=size(yCol);%y轴数据为********
ymax=max(yCol);%y轴数据最大值为********
ymin=min(yCol);%y轴数据最小值为********
%下面两行是测试用的,便于设置间隔值
%delta_y=ymax-ymin;%轴范围宽度值为为*********
%delta_y/b;%y轴间隔大约为9.9876e-05,可以设置为0.01,如果想要根为精确,可以设置为0.001、0.0001

第三步:画图

这一步需要注意的是:选好网格间隔,网格间隔越小,精确度越高,相对应的,计算量越大,电脑性能要求越高。

电脑性能不高的,可以跳大间隔,同时优化代码,清除画图用不了的变量。

代码如下:

%% 重构三维数据,画图
%间隔为 0.05的时候,X Y数据为 *****×****,  电脑一般的,将间隔调大
%间隔为    1的时候,X Y数据为 ***×****,    电脑  好的,将间隔调小
[X,Y]=meshgrid(xmin:1:xmax,ymin:1:ymax);%将x、y轴网格化,重构用于画图x、y轴数据
Z=griddata(xRow,yCol,z,X,Y);%插值,重构用于画图的Z轴数据
clear a b xmax xmin ymin ymax xRow yCol z;
mesh(X,Y,Z)

实验结果:

matlab根据数据画三维图_matlab导入三组数据画三维图

由于保密需要吗,图像结果打上马赛克,数据也不能提供。

完整代码:

%利用txt excel等大量x y z数据,化三维立体图
%% 导入数据
clear all;clc;close all;
load xyzdata.mat;%导入的的数据应当去除NaN值
%% 相关计算
[a,~]=size(xRow);%x轴数据总共********行;
xmax=max(xRow);%x轴数据最大值为**********
xmin=min(xRow);%x轴数据最小值为********
%下面两行是测试用的,便于设置间隔值
%delta_x=xmax-xmin;%x轴范围宽度值为*****
%delta_x/a;%z轴间隔大约为1.4796e-04,可以设置为0.01,如果想要更为精确,可以设置为0.001、0.0001
[b,~]=size(yCol);%y轴数据为******
ymax=max(yCol);%y轴数据最大值为******
ymin=min(yCol);%y轴数据最小值为********
%下面两行是测试用的,便于设置间隔值
%delta_y=ymax-ymin;%轴范围宽度值为为******
%delta_y/b;%y轴间隔大约为9.9876e-05,可以设置为0.01,如果想要根为精确,可以设置为0.001、0.0001
%% 重构三维数据,画图
%间隔为 0.05的时候,X Y数据为 *****×****,  电脑一般的,将间隔调大
%间隔为    1的时候,X Y数据为 ***×***,    电脑  好的,将间隔调小
[X,Y]=meshgrid(xmin:1:xmax,ymin:1:ymax);%将x、y轴网格化,重构用于画图x、y轴数据
Z=griddata(xRow,yCol,z,X,Y);%插值,重构用于画图的Z轴数据
clear a b xmax xmin ymin ymax xRow yCol z;
mesh(X,Y,Z)

给学matlab的人,包括我自己一个勉励:路漫漫其修远兮,吾将上下而求索。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183176.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据帧的学习整理

    数据帧的学习整理事先声明,本文档所有内容均在本人的学习和理解上整理,不具有权威性,甚至不具有准确性,本人也会在以后的学习中对不合理之处进行修改。在了解数据帧之前,我们得先知道OSI参考模型咱们从下往上数,数据帧在

    2022年8月5日
    4
  • jquery定时执行函数_jquery自动提交

    jquery定时执行函数_jquery自动提交setTimeout用于延时器,只执行一次.setInterval:用于多次执行.functiongetnums(){$.get(“http://special.ku6.com/office2010/api/nums.php?”+Math.random(),function(data){nums=”;$.each(data,f

    2025年11月2日
    2
  • acwing-393. 雇佣收银员(差分约束)

    acwing-393. 雇佣收银员(差分约束)一家超市要每天 24 小时营业,为了满足营业需求,需要雇佣一大批收银员。已知不同时间段需要的收银员数量不同,为了能够雇佣尽可能少的人员,从而减少成本,这家超市的经理请你来帮忙出谋划策。经理为你提供了一个各个时间段收银员最小需求数量的清单 R(0),R(1),R(2),…,R(23)。R(0) 表示午夜 00:00 到凌晨 01:00 的最小需求数量,R(1) 表示凌晨 01:00 到凌晨 02:00 的最小需求数量,以此类推。一共有 N 个合格的申请人申请岗位,第 i 个申请人可以从 ti 时刻开始

    2022年8月9日
    10
  • 时间序列预测(四)—— LSTM模型「建议收藏」

    时间序列预测(四)——LSTM模型文章链接(一)数据预处理(二)AR模型(自回归模型)(三)Xgboost模型(四)LSTM模型(五)Prophet模型(自回归模型)模型原理  LSTM(Long-shorttimememory,LSTM)模型,亦即是长段时间模型。LSTM的原理这篇博客讲的十分的清楚,建议英语好的小伙伴直接去看原文,我这里就大致的翻译精简一下。  人类天…

    2022年4月11日
    355
  • 卓见杯”第五届CCPC河南省赛参赛感悟

    卓见杯”第五届CCPC河南省赛参赛感悟

    2021年9月27日
    67
  • goland-2022.01.13 激活码(注册激活)2022.02.24

    (goland-2022.01.13 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月1日
    472

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号