Matlab基础及其应用教程课件12.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Matlab基础及其应用教程课件12.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 基础 及其 应用 教程 课件 12
- 资源描述:
-
1、第12章MATLAB应用接口【本章学习目标】掌握MATLAB与Excel的混合使用方法。掌握MATLAB数据接口的使用方法。了解MATLAB编译器的使用方法。了解MATLAB与其他语言的应用接口。12.1 MATLAB与Excel的接口Spreadsheet Link插件是MATLAB提供的Excel与MATLAB的接口,通过Spreadsheet Link,可以在Excel工作区和MATLAB工作区之间进行数据交换1Spreadsheet Link的安装与启动Spreadsheet Link的安装是在MATLAB安装过程中,随其他组件一起安装的。安装完成后,还需要在Excel中进行一些设置。
2、“加载宏”对话框的“可用加载项”列表中多了一个“Spreadsheet Link 3.3.2 for use with MATLAB and Excel”选项12.1.1 在Excel中导出/导入数据12.1 MATLAB与Excel的接口1Spreadsheet Link的安装与启动在Excel窗口的“开始”选项卡的工具栏右端多了一个MATLAB命令按钮,该命令按钮下拉列表包含的命令如表12.1.1 在Excel中导出/导入数据12.1 MATLAB与Excel的接口2Spreadsheet Link的主要功能和操作(1)将Excel表格中的数据导出到MATLAB工作空间中在Excel中选中
3、需要的数据,在“开始”选项卡的MATLAB命令组的下拉列表中选择“Send data to MATLAB”命令。(2)从MATLAB工作空间导入数据到Excel表格中在Excel中选中要导入数据的起始单元格,在“开始”选项卡的MATLAB命令组的下拉列表中选择“Get data from MATLAB”命令。12.1.1 在Excel中导出/导入数据12.1 MATLAB与Excel的接口在“开始”选项卡的MATLAB命令组的下拉列表中选“MATLAB Function Wizard”命令在“Select a category”栏内选择函数的类别,在“Select a function”栏选择
4、函数,在“Select a function signature”栏选择一种调用方法在“Function Arguments”对话框中设置函数的输入、输出参数。12.1.2 在Excel中调用MATLAB函数12.1 MATLAB与Excel的接口1导入工具从Excel文件、分隔文本文件和等宽的文本文件中导入数据。在MATLAB桌面的主页选项卡中单击“变量”命令组中的“导入数据”按钮,或在命令行窗口输入命令:uiimport(数据文件名)12.1.3 在MATLAB中导入/导出数据12.1 MATLAB与Excel的接口2读写读写ExcelExcel文件的文件的MATLABMATLAB函数函数
5、(1)xlsread函数用于读取Excel文件,调用格式为:filename指定要读取的文件;选项sheet指定要读取的工作表,默认读取Excel文件的第一个工作表;选项xlRange指定要读取的区域12.1.3 在MATLAB中导入/导出数据num,txt,raw,custom=xlsread(filename,sheet,xlRange,processFcn)12.1 MATLAB与Excel的接口2读写读写ExcelExcel文件的文件的MATLABMATLAB函数函数(2)xlswrite函数用于将数据写入Excel文件,调用格式为:filename指定要写入数据的文件,A是存储数据的
6、MATLAB变量;选项sheet指定要写的工作表,默认写入Excel文件的第一个工作表;选项xlRange指定要写的区域12.1.3 在MATLAB中导入/导出数据status,message=xlswrite(filename,A,sheet,xlRange)12.2 文件操作MATLAB提供了一系列访问自由格式文件的函数1文件打开与关闭(1)fopen函数用于打开文件以供读写,调用格式为fid=fopen(filename,permission)filename指定待操作的文件名,文件名可带路径,默认文件位于当前文件夹;permission用于指定对文件的访问方式,默认为r。fid为文件识
7、别号。例如:12.2.1 文件输入/输出操作%以文本模式打开文件old.txt,允许进行读操作F1=fopen(old.txt,rt)%在以二进制模式打开可供读写的文件new.datF2=fopen(new.dat,w+)12.2 文件操作1文件打开与关闭(1)fopen函数12.2.1 文件输入/输出操作文件打开后,默认以二进制模式读写数据,若要以文本模式读写文件,则需在参数值后加t,如rt、wt等12.2 文件操作2文本文件的读写(1)fprintf函数将数据按指定格式写入到文本文件中。调用格式为count=fprintf(fid,fmt,A1,.,An)fid为文件识别号,默认为1,即输
8、出到屏幕。fmt用以控制输出数据的格式。A1,.,An为存储数据的MATLAB变量。count返回成功写入文件的字节数。12.2.1 文件输入/输出操作12.2 文件操作2文本文件的读写(1)fprintf函数12.2.1 文件输入/输出操作数据格式描述符12.2 文件操作r=1:0.1:2;A=pi*r.*r;Y=r;A;fid=fopen(file1.txt,wt);fprintf(fid,%6.2f%12.8fn,Y);fclose(fid);n表示换行符,r 表示回车符t 表示水平制表符v 表示垂直制表符。12.2 文件操作2文本文件的读写(2)fscanf函数用于读取文本文件,并按指
9、定格式存入MATLAB变量。调用格式为A,count=fscanf(fid,fmt,size)fid为文件识别号,fmt用于控制读取的数据格式,size指定读取多少数据。size的可取值如下。Inf:表示一致读取到文件尾,默认值是Inf。n:表示最多读取n个数据。m,nA用于存放读取的数据,count返回成功读取的字符个数。12.2.1 文件输入/输出操作12.2 文件操作【例12.2】将整数1200写入文件file2.txt,每行放置5个数据,数据之间用空格分隔。然后重新打开文件,用不同格式读取数据。u=1:200;fid=fopen(file2.txt,wt);fprintf(fid,%d
10、%d%d%d%dn,u);fclose(fid);fid=fopen(file2.txt,rt);%从当前位置读取100个整数,存入列向量xx=fscanf(fid,%d,10);%从当前位置读取100个整数,存入1010矩阵yy=fscanf(fid,%d,10,10);%从当前位置读取4个数据,存储为一个字符串A=fscanf(fid,%s,4);%从当前位置读取后面的所有数据,生成一个2行的矩阵C=fscanf(fid,%g%g,2 inf);12.2 文件操作2文本文件的读写(3)fgetl与fgets函数用于按行读取数据。调用格式为:tline=fgetl(fid)tline=fge
11、ts(fid,nchar)fgetl函数读入数据时去掉了文件中的换行符fgets函数读入数据时保留了文件中的换行符。fgets函数的选项nchar指定最多读取的字符个数。tline是一个字符向量,存储读取的数据,若文件为空或读到文件尾,则tline返回-1。12.2.1 文件输入/输出操作12.2 文件操作【例12.312.3】读出并显示例12.1生成的文件file1.txt中的数据。fid=fopen(file1.txt,rt);tline=fgetl(fid);%读取第1行数据while tline=-1%判断是否读到文件尾 disp(tline);tline=fgetl(fid);end
12、 fclose(fid);12.2 文件操作2文本文件的读写(4)textscan函数用于读取多种类型数据重复排列、但非规范格式的文件。调用格式为C=textscan(fid,fmt,N,param,value)fid为文件识别号,fmt用以控制读取的数据格式。选项N指定重复使用该格式的次数。选项param与value成对使用,param指定操作属性,value是属性值。12.2.1 文件输入/输出操作12.2 文件操作【例12.4】假定文件file4.txt中有以下格式的数据fid=fopen(file4.txt,rt);grades=textscan(fid,%s%d%d%d,3,head
13、erlines,1);12.2 文件操作3二进制文件的读写二进制文件中的数据为二进制编码,例如图片文件、视频文件,数据在读写时采用二进制模式,不需要转换类型,因此对于大量数据的读写,二进制文件比文本文件更小,读写效率更高。(1)fread函数用于读取二进制文件中的数据。调用格式为A,count=fread(fid,size,precision,skip)fid为文件识别号;选项size用于指定读入数据的元素数量,默认读取整个文件内容;选项precision指定读写数据的精度;选项skip称为循环因子,若skip值不为1,则按skip指定的比例周期性地跳过一些数据,默认为0。A用于存放读取的数据
14、,count返回所读取的数据个数。12.2.1 文件输入/输出操作12.2 文件操作【例12.512.5】假设文件alphabet.txt的内容是按顺序排列的26个小写英文字母,读取并显示前5个字母的ASCII码和这5个字符。%以二进制模式读取数据fid=fopen(alphabet.txt,r);c1=fread(fid,5);display(c1)fclose(fid);%以文本模式读取数据fid=fopen(alphabet.txt,rt);c2=fgets(fid,5);display(c2)fclose(fid);12.2 文件操作3二进制文件的读写(2)fwrite函数用于将数据用
15、二进制模式写入文件。调用格式为count=fwrite(fid,A,precision,skip)fid为文件识别号,A是存储了数据的变量;选项precision用于控制数据输出的精度,默认按列顺序以8位无符号整数的形式写入文件;选项skip控制每次执行写入操作跳过的字节数,默认为0。count返回成功写入文件的数据个数。12.2.1 文件输入/输出操作12.2 文件操作【例12.612.6】建立一数据文件magic5.dat,用于存放5阶魔方阵。fid=fopen(magic5.dat,w);cnt=fwrite(fid,magic(5),int32);fclose(fid);下列程序则可实
16、现对数据文件magic5.dat的读操作。fid=fopen(magic5.dat,r);B,cnt=fread(fid,5,inf,int32)fclose(fid);12.2 文件操作4 4其他文件操作其他文件操作(1)fseek函数用于定位文件位置指针,调用格式为status=fseek(fid,offset,origin)fid为文件识别号;offset表示位置指针相对移动的字节数,若为正整数表示向文件尾方向移动,若为负整数表示向文件头方向移动;origin表示位置指针移动的参照位置,可取值有3种:cof 或0表示文件指针的当前位置,bof 或1表示文件的开始位置,eof或1表示文件的
17、结束位置。若操作成功,status返回值为0,否则返回值为1。12.2.1 文件输入/输出操作fseek(fid,0,-1)%指针移动到文件头 fseek(fid,-5,eof)%指针移动到文件尾倒数第5个字节 12.2 文件操作4 4其他文件操作其他文件操作(2)frewind函数用来将文件位置指针移至文件首,调用格式为:frewind(fid)(3)ftell函数用来查询文件位置指针的当前位置,调用格式为position=ftell(fid)position返回位置指针的当前位置。若查询成功,返回从文件头到指针当前位置的字节数;若查询不成功,返回1。12.2.1 文件输入/输出操作12.2
18、 文件操作4 4其他文件操作其他文件操作(4)feof函数用来判断当前的文件位置指针是否到达文件尾,调用格式为 status=feof(fid)当到达文件尾时,结果为1,否则返回0。(5)ferror函数用来查询最近一次输入或输出操作中的出错信息,调用格式为:message,errnum=ferror(fid,clear)clear用于清除文件的错误指示符。message返回最近的输入/输出操作的错误消息;errnum用于返回错误代号,若errnum为0表示最近的操作成功。12.2.1 文件输入/输出操作12.2 文件操作1 1MATMAT文件文件MAT文件是MATLAB存储数据的标准格式,在
展开阅读全文