资源描述:
《刘卫国全套配套课件MATLAB程序设计与应用第3版第13章 MATLAB外部程序接口技术.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第13章MATLAB外部程序接口技术13.1MATLAB与Office软件的混合使用13.2MATLAB数据接口13.3MATLAB与其他语言的接口13.1MATLAB与Office软件的混合使用为了在Word环境下调用MATLAB的计算功能,需要调用MATLAB的Notebook软件工具,它为Word提供M-Book.dot模板。利用该模板创建的Word文档通常称为M-Book文档。1.Notebook的安装与启动>>notebook-setup13.1.1在Word中使用MATLAB2.Notebook菜单项M-Boo
2、k模板定义了Word与MATLAB进行通信的宏指令、文档样式和工具栏。3.单元的使用在MATLABNotebook中,凡是在Word与MATLAB之间进行传递的内容称为单元(cell),它是Notebook与MATLAB交互的基本单位。(1)输入输出单元定义输入单元的方法输入单元执行后产生蓝色的输出单元。(2)自动初始化单元(3)单元组4.计算区计算区(calczone)是一个由普通Word文本、输入单元和输出单元组成的连续区,用于描述某个具体的作业或问题。在计算区里,用户可以根据描述问题的需要,安排段落、标题、分栏,而不
3、受计算区外的有关格式的约束。定义计算区的方法13.1.2在Excel中使用MATLAB通过SpreadsheetLink,可以在Excel工作区和MATLAB工作空间之间进行数据交换,也可以使用插件方式在Excel中调用MATLAB的算法。1.SpreadsheetLink的安装与启动2.SpreadsheetLink的操作(1)将Excel表格中的数据导出到MATLAB工作空间中(2)从MATLAB工作空间导入数据到Excel表格中(3)调用MATLAB函数进行运算13.2MATLAB数据接口MATLAB提供多种方法支持
4、将磁盘文件和剪贴板中的数据导入到MATLAB的工作区,最简单的办法是使用数据导入向导(可通过在“主页”选项卡“变量”命令组中选择“导入数据”命令按钮或在命令行窗口执行uiimport命令来激活它),而在M文件中则可以使用MATLAB文件操作函数。13.2.1文件操作1.文件打开与关闭(1)fopen函数fid=fopen(filename,permission)r以读方式打开一个文件。w以写方式打开一个文件。a打开一个文件,随后的操作可在该文件末尾添加数据r+以读和写方式打开一个文件fopen默认打开二进制文件,如果打开的
5、是文本文件,则需在上述允许方式后加t,如rt、wt等。例如:F1=fopen('old.txt','rt')F2=fopen('new.dat','r+')(2)fclose函数fclose函数用于关闭已打开的文件,其调用格式为:status=fclose(fid)2.文件的读写(1)fscanf函数fscanf函数用于读取文本文件的内容,并按指定格式存入矩阵,其调用格式为:[A,count]=fscanf(fid,fmt,size)例如:x=fscanf(fid,'%5d',100);y=fscanf(fid,'%5d'
6、,[10,10]);(2)fprintf函数fprintf函数可以将数据按指定格式写入到文本文件中,其调用格式为:count=fprintf(fid,fmt,A)例13-1计算当x=[0.0,0.1,0.2,…,1.0]时,f(x)=ex的值,并将结果写入文件demo1.txt。程序如下:x=0:0.1:1;Y=[x;exp(x)];fid=fopen('demo1.txt','w');fprintf(fid,'%6.2f%12.8f',Y);fclose(fid);(3)fgetl与fgets函数除上述对文本文件进行
7、读写操作的函数外,读取文本文件的函数还有fgetl和fgets,它们按行读取数据,其调用格式为:line=fgetl(fid)line=fgets(fid,nchar)例13-2读出例13-1生成的文件demo1.txt中的数据。fid=fopen('demo1.txt','r');while1line=fgetl(fid);ifline<0breakenddisp(line)endfclose(fid);(4)textscan函数如果一个文件中的数据全部由ASCII字符组成,且数据间有间隔符(如空格、逗号、分号、制表位)
8、,则文件称为有格式文件。有格式文件可以使用文本输入函数textscan读取数据,函数调用格式为:C=textscan(fid,fmt,N,param,value)例13-3假定文件textdemo.txt中有以下格式的数据:NameEnglishChineseMathmaticsWang9998100L