最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于MATLAB的EXCEL数据计算与分析

来源:动视网 责编:小OO 时间:2025-10-05 04:49:15
文档

基于MATLAB的EXCEL数据计算与分析

基于MATLAB的EXCEL数据计算与分析潜刘方摘要:再怎么样希望先看摘要,阅读本文需要一定的MATLAB基础知识,不需要excel相关知识。结合本人近期工作上的需要测量计算,想偷懒就选择了利用MATLAB偷懒,于是便有了本文。本文首先利用MATLAB读取数据,计算,将数据写入excel,然后花了很大的精力来根据实际需要画图,最后将图保存在excel所在的文件夹下。这个m文件可谓花了我不少的时间和精力。最后根据m文件的不足(不能将图形输入到excel文档当中),进一步弥补这不足,就有了exli
推荐度:
导读基于MATLAB的EXCEL数据计算与分析潜刘方摘要:再怎么样希望先看摘要,阅读本文需要一定的MATLAB基础知识,不需要excel相关知识。结合本人近期工作上的需要测量计算,想偷懒就选择了利用MATLAB偷懒,于是便有了本文。本文首先利用MATLAB读取数据,计算,将数据写入excel,然后花了很大的精力来根据实际需要画图,最后将图保存在excel所在的文件夹下。这个m文件可谓花了我不少的时间和精力。最后根据m文件的不足(不能将图形输入到excel文档当中),进一步弥补这不足,就有了exli
基于MATLAB的EXCEL数据计算与分析

潜刘方

摘要:再怎么样希望先看摘要,阅读本文需要一定的MATLAB基础知识,不需要excel相关知识。结合本人近期工作上的需要测量计算,想偷懒就选择了利用MATLAB偷懒,于是便有了本文。本文首先利用MATLAB读取数据,计算,将数据写入excel,然后花了很大的精力来根据实际需要画图,最后将图保存在excel所在的文件夹下。这个m文件可谓花了我不少的时间和精力。最后根据m文件的不足(不能将图形输入到excel文档当中),进一步弥补这不足,就有了exlink(也叫excel link),在网上搜索了相关的知识,发现很多关于exlink的培训,觉得实在可笑,所以就将exlink的使用写的比较详细,以供读者自行分析体会。

关键字:MATLAB  excel  exlink 接口

一、前沿

MATLAB是一款应用在各个领域的数学软件,最初叫做矩阵实验室,专用于矩阵的运算,后来的版本再各个领域都得到了很好的应用,比如:通信、电力电子、电机控制、运动控制、计算机控制、自动控制,DSP数字信号处理。但是MATLAB对于数据的处理与可视化是很多软件所不能及的。

EXCEL作为办公必备软件,能对简单数据分析计算与作图分析,但是处理复杂数据显得力不从心,比如三维作图就无法利用EXCEL作出;EXCEL本身的函数远远没有MATLAB多,MATLAB作为数据有其独特的优势,集成了很多数学函数,包括数据拟合差值等。MATLAB可以从EXCEL中读取数据,经过相关运算之后又可以将数据写入EXCEL,假如需要重复性的对excel可以利用MATLAB编写函数,每次只要运行MATLAB程序就可以完成,大大节省时间和精力。

另外,MATLAB还有与EXCEL的接口,叫做EXLINK,运用这个接口可以在excel中完成MATLAB函数的调用,还能传送数据给MATLAB,从MATLAB当中读取数据,从MATLAB当中读取图形,使用方便,操作简单。

二、基于MATLAB的数据分析

数据分析操作流程主要分为三步:第一步,从excel中读取数据;第二部:利用MATLAB大量函数对数据分析处理;第三步:将分析结果写入excel中。在整个过程中,不需要打开excel软件,操作十分方便,每次操作唯一要做就是修改excel所在的目录及文件名。主要函数如下(具体使用方法可在MATLAB命令窗口输入help +函数名 查看):

Xlsread  从excel中读数据

Xlswrite 向excel中邪数据

num2str  将数字转换为字符串

strncmp  字符串比较

polyfit  数据拟合

polyval  具体数值代入求值

plot      作图

xlabel    x轴标注

ylabel    y轴标注

title     图名称标注

还想写点其他的,想想最近自己真没有用到,所以就不写了,MATLAB还有一个好处就是数据运算像写数学式子一样方便,包括加减,点乘点除,又如sum(求和),length(求数据长度),两个相除就可以得到平均值,max(求最大数),min(最小数);总之用起来还是很方便的。

下面介绍一个具体实例,由于我最近老是需要测试芯片,然后芯片类型比较相似,只要测输入电压,输入电流,输出电流(某个阶段是恒定的),输出功率,最后计算效率,然后我就用MATLAB完成了这些操作,还画图保存在相应的位置。具体代码如下:

file='F:\\XP\\box\\LY99';%每次操作前目录必须要修改

Vin=xlsread(file,'a3:a500');%读数据可以多读,所以多读500个,数据不可超过500;

Iin=xlsread(file,'b3:b500');

Iout=xlsread(file,'c3:c500');

Pout=xlsread(file,'d3:d500');

Pin=Vin.*Iin/1000;n=Pout./Pin*100;

IoutStr=num2str(Iout);Pout=Pout/70;

xlswrite(file,n,'sheet1','e3');%写入地址,最好改,不然有可能显示NA或部分数据没有完全写入

str=IoutStr(1,1:3);

Num_totle=size(Vin);

j=1;f_t=1;

for i=1:Num_totle

    TF=strncmp(str,IoutStr(i,1:3),3);

    if TF==0

        j=1;figure(f_t);

        plot(x,y,'r*-'); 

xlabel('Vin(v)');

ylabel('n(%)');

        ttt=strcat('Iout=',str,'mA'); 

title(ttt);

        grid on;

 x=0;y=0;

        f_t=f_t+1;

str=IoutStr(i,1:3);

    end

    x(j)=Vin(i); y(j)=n(i); j=j+1;

end

figure(f_t);

plot(x,y,'r*-');

xlabel('Vin(v)');ylabel('n(%)');

ttt=strcat('Iout=',str,'mA');

title(ttt);

grid on

为了节省空间,就缩放下了,这个m文件初稿是在断网的情况下写的,刚开始代码比较简便,也存在很多的漏洞,这是我不断修改后得到的比较满意的代码。该m文件分为读数据,计算效率,将效率写入excel中,最后是根据输出电流的不同画效率的折线图,运用字符串的操作命名图形名称及标题,并保存在excel所在的文件夹下,每次操作只需要更改文件名及路径就可以完成计算画图等。大大节约了没有必要浪费的时间。还有一点比较局限的是excel中每次数据存数数据位置不能改变,当然对数据个数没有太大的,根据需要可以加大数据个数。

这里没有用到数据拟合,因为没有这个必要,数据拟合在实际当中应用还是很广的,所以在常用函数里面写了,希望引起注意。还有一点,不能将画好的图形保存在excel文件当中,找了很久没有找到这样的函数,于是便有了EXLINK。

三、EXLINK介绍

正是由于不能通过函数将图写入excel文档,于是便有了exlink。exlink是MATLAB的一个工具箱,也是excel与MATLAB的一个接口,这个时候更像是在操作excel,通过excel可以运行MATLAB函数,发送和读数据,读图像等等操作,当然也可以在MATLAB命令窗口运行相关函数。运行excel可以同时运行MATLAB,这个时候MATLAB更像是excel的一个辅助软件,让excel的功能更加强大,并且exlink一直很受欢迎。

四、EXLINK使用

使用步骤如下:首先成功安装excel和MATLAB,打开excel,加载宏(工具—加载宏I—-浏览(找到MATLAB安装目录下toolbox—-exlink—-excell

ink.xla))--确定,并在前面复选框内打勾,确定。这就完成了exlink的连接,完成之后效果如图1所示。注:也许你觉得我老土,居然还在使用2003版本的excel,其实不是的,我装的MATLAB2009a没有对应的xlam文件(excellink2007.xlam),并且使用WPS非专业版还不能加载宏,所以只能使用2003版的办公软件了。

图1 exlink加载成功的界面

从左到右,分别为启动MATLAB,放数据到MATLAB,从MATLAB读取数据,运行MATLAB函数,获取MATLAB图像,函数向导,exlink设置。这里每次启动excel都会启动MATLAB,MATLAB大启动慢,为了不启动MATLAB可以在excel内输入MLAtuoStart(“no”),即可启动excel而不启动MATLAB,需要的时候只需要将no改为yes即可。下面做一个简单的测试。单击启动MATLAB按钮(若已经启动可省略),在MATLAB中运行如下程序及结果如图2图3所示。

图2 测试程序代码

图3 程序运行结果

然后再excel中输入x,y,单击A2,并单击getmatrix,再提示框中输入x并确定得到如图4所示。

图4 从MATLAB读入数据后

同理输入y,也可以单击getfigure,得到如图5所示的图形。

图5 从MATLAB读取图像

在excel中执行MATLAB函数,可输入MLEvalString(“a=magic(3);”);magic为MATLAB函数,此时excel内显示为0,但他是一个矩阵,可将这个值赋给MATLAB变量,单击putmatrix,再提示框内输入a,可以发现MATLAB多了一个变量a,在命令窗口中输入a并回车,可以发现a是一个的魔方矩阵。这里就不再截图浪费版面了。这就是exlink使用基础,至于怎么运用就看实际情况灵活使用了。这个接口能用起来还是很不错的,强烈建议使用。

五、总结

首先介绍了利用MATLAB函数读取excel数据,处理、分析、可视化数据,将结果写入excel中。然后结合近期本人写的m文件进一步可视化数据,根据具体要求作图,并将图形保存在excel所在的文件夹下,由于将图形保存在excel中更为妥当,但是MATLAB并没有这样的函数,所以就有了exlink,exlink是利用excel来操作MATLAB,在其自身功能上再充分利用MATLAB的资源,达到了更好的可视化图形,对于分析复杂数据有着极其重要的意义。

还有空间:写点参考文献吧,大家懂得就好

MATLAB应用大全 清华大学出版社 赵海滨      2012年5月

Excellink宏在数据分析中的应用 梁坤峰等   2002年

文档

基于MATLAB的EXCEL数据计算与分析

基于MATLAB的EXCEL数据计算与分析潜刘方摘要:再怎么样希望先看摘要,阅读本文需要一定的MATLAB基础知识,不需要excel相关知识。结合本人近期工作上的需要测量计算,想偷懒就选择了利用MATLAB偷懒,于是便有了本文。本文首先利用MATLAB读取数据,计算,将数据写入excel,然后花了很大的精力来根据实际需要画图,最后将图保存在excel所在的文件夹下。这个m文件可谓花了我不少的时间和精力。最后根据m文件的不足(不能将图形输入到excel文档当中),进一步弥补这不足,就有了exli
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top