网站专题页面文案设计,wordpress中怎么去掉默认页面模板中的评论框,网站开发html工具,永久免费网站建设系统首先先分析对象。将数据利用matlab画出图#xff0c;最开始是导入数据#xff0c;然后处理数据#xff0c;最后将处理的数据画出来。
所以我将它分为三个步骤。
第一步#xff1a;导入数据
如果是mat数据。可以直接load如果是txt数据。可以用txtread如果是excel数据。可…首先先分析对象。将数据利用matlab画出图最开始是导入数据然后处理数据最后将处理的数据画出来。
所以我将它分为三个步骤。
第一步导入数据
如果是mat数据。可以直接load如果是txt数据。可以用txtread如果是excel数据。可以用xlsread
详细的可以参考https://blog.csdn.net/blueskyjian/article/details/72832449
代码如下
%% 导入数据
clear all;clc;close all;
load xyzdata.mat;%导入的的数据应当去除NaN值
这是我的数据截图 注需要注意的是要将数据的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轴数据总共*******行
xmaxmax(xRow);%x轴数据最大值为********
xminmin(xRow);%x轴数据最小值为*********
%下面两行是测试用的便于设置间隔值
%delta_xxmax-xmin;%x轴范围宽度值为*****
%delta_x/a;%z轴间隔大约为1.4796e-04可以设置为0.01,如果想要更为精确可以设置为0.001、0.0001
[b,~]size(yCol);%y轴数据为********
ymaxmax(yCol);%y轴数据最大值为********
yminmin(yCol);%y轴数据最小值为********
%下面两行是测试用的便于设置间隔值
%delta_yymax-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轴数据
Zgriddata(xRow,yCol,z,X,Y);%插值重构用于画图的Z轴数据
clear a b xmax xmin ymin ymax xRow yCol z;
mesh(X,Y,Z)
实验结果 由于保密需要吗图像结果打上马赛克数据也不能提供。
完整代码
%利用txt excel等大量x y z数据化三维立体图
%% 导入数据
clear all;clc;close all;
load xyzdata.mat;%导入的的数据应当去除NaN值
%% 相关计算
[a,~]size(xRow);%x轴数据总共********行
xmaxmax(xRow);%x轴数据最大值为**********
xminmin(xRow);%x轴数据最小值为********
%下面两行是测试用的便于设置间隔值
%delta_xxmax-xmin;%x轴范围宽度值为*****
%delta_x/a;%z轴间隔大约为1.4796e-04可以设置为0.01,如果想要更为精确可以设置为0.001、0.0001
[b,~]size(yCol);%y轴数据为******
ymaxmax(yCol);%y轴数据最大值为******
yminmin(yCol);%y轴数据最小值为********
%下面两行是测试用的便于设置间隔值
%delta_yymax-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轴数据
Zgriddata(xRow,yCol,z,X,Y);%插值重构用于画图的Z轴数据
clear a b xmax xmin ymin ymax xRow yCol z;
mesh(X,Y,Z)给学matlab的人包括我自己一个勉励路漫漫其修远兮吾将上下而求索。