基于MATLAB的EXCEL数据计算与分析_第1页
基于MATLAB的EXCEL数据计算与分析_第2页
基于MATLAB的EXCEL数据计算与分析_第3页
基于MATLAB的EXCEL数据计算与分析_第4页
基于MATLAB的EXCEL数据计算与分析_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于基于 MATLAB 的的 EXCEL 数据计算与分析数据计算与分析 潜刘方 摘要:摘要:再怎么样希望先看摘要,阅读本文需要一定的 MATLAB 基础知识,不需要 excel 相 关知识。结合本人近期工作上的需要测量计算,想偷懒就选择了利用 MATLAB 偷懒,于是 便有了本文。本文首先利用 MATLAB 读取数据,计算,将数据写入 excel,然后花了很大的 精力来根据实际需要画图,最后将图保存在 excel 所在的文件夹下。这个 m 文件可谓花了我 不少的时间和精力。最后根据 m 文件的不足(不能将图形输入到 excel 文档当中) ,进一步 弥补这不足, 就有了 exlink (也叫 excel link) , 在网上搜索了相关的知识, 发现很多关于 exlink 的培训,觉得实在可笑,所以就将 exlink 的使用写的比较详细,以供读者自行分析体会。 关键字关键字:MATLABexcelexlink 接口 一、前沿一、前沿 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作图 xlabelx 轴标注 ylabely 轴标注 title图名称标注 还想写点其他的,想想最近自己真没有用到,所以就不写了,MATLAB 还有一个好处就 是数据运算像写数学式子一样方便,包括加减,点乘点除,又如 sum(求和),length(求 数据长度),两个相除就可以得到平均值,max(求最大数),min(最小数);总之用起来还是 很方便的。 下面介绍一个具体实例,由于我最近老是需要测试芯片,然后芯片类型比较相似,只要 测输入电压,输入电流,输出电流(某个阶段是恒定的),输出功率,最后计算效率,然后我 就用 MATLAB 完成了这些操作,还画图保存在相应的位置。具体代码如下: file=F:XPboxLY9899;%每次操作前目录必须要修改 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 是一个33的魔方矩阵。这里就不再截图浪费版面了。这 就是 exlink 使用基础,至于怎么运用就看实际情况灵活使用了。这个接口能用起来还是 很不错的,强烈建议使用。 五、总结五、总结 首先介绍了利用 MATLAB 函数读取 excel 数据,处理、分析、可视化数据,将结果写 入 excel 中。然后结合近期本人写的 m 文件进一步可视化数据,根据具体要求作图,并将 图形保存在 excel 所在的文件夹下,由于将图形保存在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论