编程实例系列2:matlab与excel

上传人:di****ng 文档编号:36425129 上传时间:2018-03-28 格式:DOC 页数:29 大小:179.50KB
返回 下载 相关 举报
编程实例系列2:matlab与excel_第1页
第1页 / 共29页
编程实例系列2:matlab与excel_第2页
第2页 / 共29页
编程实例系列2:matlab与excel_第3页
第3页 / 共29页
编程实例系列2:matlab与excel_第4页
第4页 / 共29页
编程实例系列2:matlab与excel_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《编程实例系列2:matlab与excel》由会员分享,可在线阅读,更多相关《编程实例系列2:matlab与excel(29页珍藏版)》请在金锄头文库上搜索。

1、Matlab 编程实例系列 2:matlab 与 excel1编程实例系列编程实例系列 2 2:matlabmatlab 与与 excelexcel视频教程摘要视频教程摘要第第 2_0 讲讲 概述概述201709301.本系列内容1.1 运用 matlab 编程方式实现 excel 表格数据的写入写出、替换、添加、删除、调整、分类、组合、提取、比较等;1.2 通过编程实例体会运用 matlab 处理 excel 表格数据的思路。2.需求举例,先看效果2.1 把 excel 表格文件名写入表格 C1 位置;2.2 组合:把指定文件夹内的所有表格数据组合成一个新表;2.3 分开:excel 表数据

2、按照某一列字符不同分成多个 excel表;2.4 提取:提取 excel 数据某一列不重复的字符;3.欢迎交流和探讨, 微信公众号: matlab 分享小站第第 2_1 讲讲 添加文件名添加文件名201709251.把电子表格文件名写入该表 C1 位置Matlab 编程实例系列 2:matlab 与 excel22.认识 xlswrite 命令2.1 把数据写出到外部 excel 文档的函数;格式:status=xlswrite(filename,data,sheet,C1:H3);3.延伸3.1 数据存入;3.2 字符存入;3.3 其他表格数据存入;3.4 把指定文件夹内所有表的执行相同操作

3、;3.5 把指定文件内所有子文件夹里的所有表的执行相同操作;第第 2_2 讲讲 替换替换201709251.把电子表格里所有字符串 A 替换成字符串 B;2.认识几个命令2.1 xlsread:读入 excel 文件数据到 matlab;格式:a,b,c=xlsread(filename);2.2 strrep:替换字符串格式:str=strrep(data,A,B);例:str=strrep(abdc,a,r)2.3 NaN:not a number为 nan 的情况:缺失值、0/0、0*Inf 等。Matlab 编程实例系列 2:matlab 与 excel3判断是否 nan 命令:isn

4、an(nan)=1第第 2_3 讲讲 调整调整201709301.把 excel 数据抽取列、合并列、添加列,另存成新的excel;2.认识命令2.1 判断语句,if elseif else end2.2 findstr:获取短字符串在长字符串所在的起始位置格式:index=findstr(str1,str2)例:index=findstr(Find the starting indices of the shorter string.,the)第第 2_4 讲讲 strmatch201710031用于字符数组和元胞数组的字符匹配,返回匹配的索引值拓展: str=abcd, str=abcd;

5、efghstr=abcd;efg, str=abcd;efg2.格式:index=strmatch(str,strs,exact)例:index=strmatch(max,maxjiomaxmin,exact)Matlab 编程实例系列 2:matlab 与 excel4index=strmatch(max,strvcat(max,minimax,maximum)index=strmatch(max,max,max;maxis,abc;abc,max)拓展:与 findstr 用法的比较。3.补充元胞数组建立方法3.1 ,cell(0),cell(1),cell(2,3), ,;3.2 用 x

6、lsread 读入 excel 数据。第第 2_5 讲讲 读取函数读取函数201710031.把 excel 文件中数据读取到 matlab 工作环境中,同时剔除标题行数据,并写成函数文件。2.认识命令2.1 建立函数文件的格式:function y=hanshuming(x);2.2 获取输入变量的个数:nargin;拓展:nargout2.3 添加注释;2.4 初始化缺省值第第 2_6 讲讲 写出函数写出函数201710031.把 matlab 数据写出到外部 excel 文档中,同时显示提示信息。Matlab 编程实例系列 2:matlab 与 excel5第第 2_7 讲讲 删除行删除

7、行201710041.根据 excel 文档某 index 列数据中,与某字符 str 相同的字符所在的整行删除。2.先写 m 文件,再包装成函数文件。第第 2_8 讲讲 组合组合201710051.把给定路径下的所有 excel 数据组合在一起,另存成新表。2.矩阵纵向组合:c=c1;c2。3.添加文档(或文件夹)例外的方法:return,break,continue第第 2_9 讲讲 提取提取201710061.提取不重复的字符串,并返回行索引第第 2_10 讲讲 分开分开201710071.把一个 excel 文档数据按照给定列数据的不同分成多个文档。2.体会数据分开的处理思路。第第 2

8、_11 讲讲 比较比较20171008Matlab 编程实例系列 2:matlab 与 excel61.比较给定数据与原型数据的差异第第 2_12 讲讲 排列排列201710091. 把数据依据某列字符标记进行分界,在每个分界范围内,lie1 列索引的所有行与 lie2 列索引的所有行进行排列组合第第 2_13 讲讲 批量处理批量处理201710101.对给定形式下的所有 excel 文档数据批量进行相同的处理。2.做成模板,可以在自定义区调用多个 excel 数据处理的函数。第第 2_14 讲讲 添加添加201710111. 在 Excel 数据存在字符 str1 处添加字符 str2。2.

9、只演示过程,不讲具体程序。第第 2_15 讲讲 实例实例201712131. 把十字交叉型数据展开。效果如图:Matlab 编程实例系列 2:matlab 与 excel72.认识命令pwd:获取 matlab 当前路径。3.延伸:3.1 带标题;3.2 多个相关列;3.3 多个文件;3.4 多个文件夹。第第 2_16 讲讲 实例二实例二201712131. 把几列数据组合在一起放到第一列。效果如图:Matlab 编程实例系列 2:matlab 与 excel82. 原始文件放入 0 文件夹里,处理后的文件自动存入 1 文件夹里,相同或相似的数据处理可以直接套用本程序。第第 2_17 讲讲 实

10、例三实例三201712131. 把代号和描述包装成特定格式。效果如图:结尾说明结尾说明1.如果大家有这方面的需求和案例,可以通过微信公众号给我留言,会选取好的案例持续更新本系列的视频分享;2.视频编程内容与本文档下附程序有些许差异,方法和思路是一致的。获取源程序请关注微信公众号(推荐):matlab 分享小站Matlab 编程实例系列 2:matlab 与 excel9附录(部分程序)附录(部分程序)2.1 Excel 处理:文件名写入处理:文件名写入 C1,把,把 Excel 表名称写入该表的表名称写入该表的C1 位置位置把该功能写成 wenjianming2c1.m 函数文件,代码如下:

11、function y=wenjianming2c1(lujingin,lujingout,wenjianming) %20170810%把文件名写入 Excel 表格的 C1 %在路径 lujingin 和 lujingout 中分别有文件 wenjianming 和标题行文件 mbwenjianming%初始化输入缺省值 if isempty(lujingin)lujingin=E:matlabtest; end if isempty(lujingout)lujingout=E:matlabtesttest1; elseif lujingout=1lujingout=lujingin end

12、mbwenjianming=wenjianming;fuzhi(lujingin,lujingout,.xls,mbwenjianming,-1);%复制 excel 标题行文件 status=xlswrite(lujingout,wenjianming,wenjianming,1,C1);%写入 if status=1 disp(wenjianming,*Excel 文件名添加 C1 成功*); else disp(wenjianming,?Excel 文件名添加 C1 写出失败?); end wenjianming2c1(,mmlrz)Excel 处理:批量文件名写入处理:批量文件名写入

13、C1,批量把不同文件夹里的,批量把不同文件夹里的Excel 文件名写入文件名写入 Excel 表格的表格的 C1代码如下: %20170812%批量把不同文件夹里的 Excel 文件名写入 Excel 表格的 C1 clear,clcMatlab 编程实例系列 2:matlab 与 excel10xilieminglist=test1,test2;%2 个文件路径 for ii=1:length(xilieminglist)xilieming=xilieminglistii;%遍历每个文件路径lujingin=E:matlabtest,xilieming,ADAMAQ;%组合出输入输出的完整路

14、径lujingout=E:matlabtest,xilieming,ADAMAQ;wenjianming=huoquwenjianming(lujingin,*.xls);%获取该路径下的所有文件名%处理for i=1:length(wenjianming)wenjianming2c1(lujingin,lujingout,wenjianmingi);%把 Excel 文件名写入 Excel 表 C1 位置end end disp(oooook)2.2 Excel 处理:替换函数,把处理:替换函数,把 Excel 里所有字符里所有字符 A 替换为字替换为字符符 B把该功能写成 tihuan.m

15、 函数文件,代码如下: function y=tihuan(lujingin,lujingout,mbwenjianming,wenjianming,A,B) %20170804%替换,把 Excel 里所有字符串 A 替换为字符串 B %在路径 lujingin 和 lujingout 中分别有文件 wenjianming 和标题行文件 mbwenjianming %获取源程序请关注微信公众号:matlab 分享小站%初始化缺失路径,数字文件名转换成字符 if isempty(lujingin)lujingin=E:matlabtest; end if isempty(lujingout)lujingout=E:matlabtesttest1; end if isa(wenjianming,double)wenjianming=num2str(wenjianming); end%读入 excel 数据 a,b,c=xlsread(lujingin,wenjianming);%读取 excel 数据%处理 for i=1:size(c,1)for j=1:size(c,2)Matlab 编程实例系列 2:matlab 与 excel11if isnan(ci,j)cci,j=strrep(ci,j,A,B);%遍历所有数据并替换elsecci,j=nan;endend

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号