MATLAB高级应用.ppt

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020/4/7
MATLAB_高级应用
9
文件打开模式
‘r’:只读文件 'r+':读写文件 'w':删除已存在文件内容或建立新文件,并
只写文件
'w+':删除已存在文件内容或建立新文件, 并读写文件
'a':以只写方式建立并打开一个新文件或打 开一个已存在的文件,只能在文件末尾添 加内容
‘a+’:以读写方式建立并打开一个新文件或 打开一个已存在的文件,在文件末尾添加 内容。
2020/4/7
MATLAB_高级应用
14
读二进制数据
fread命令为读二进制数据
[a,count]=fread(fid,size,precision,skip) a为矩阵数据; count为成功读取的数据元素个数; fid为文件指针; size需要读取的数据个数; precision为一个字符串,用来指定读取
MATLAB高级应用
MATLAB应用接口 文件的输入输出 Notebook
2020/4/7
MATLAB_高级应用
1
MEX 文件
MEX即MATLAB可执行程序。 MEX文件是 由C或FORTRAN程序编译生成的, 用mex命令。 也可以由M文件经由C源代码生成,用mcc-x命令。
MEX 文 件 在 Windows 系 统 是 扩 展 名 为 DLL 的动态链接库,类似于MATLAB的内部函数,在 M文件中可以直接调用。
数据的精度,即数据类型;
skip为每读取一个数据后跳过的字节数。
2020/4/7
MATLAB_高级应用
15
写二进制数据
fwrite命令为写二进制数据。 count=fwrite(fid,a,precision,skip) count为成功写入数据的个数; fid为文件指针; a为矩阵数据; precision和skip参数含义与fread命令相 同。
4
MEX 文件与EXE文件
MEX文件与EXE文件的区别 MEX文件只能在MATLAB环境中运行;当调
用MEX文件时会与MATLAB的解释器进行动 态链接。 而EXE文件是可以独立于MATLAB环境运行的。
2020/4/7
MATLAB_高级应用
5
由M函数文件创建C MEX文件
使用“mcc –x”命令 以上命令中的-x选项表示由M文件 转换为C源文件后,自动调用mex命 令把C源文件转换为MEX文件。
2020/4/7
MATLAB_高级应用
6
创建EXE文件
mbuild命令把C文件生成EXE文件 mcc命令把M文件生成EXE文件 mcc-m mcc-p mcc-B sgl mcc-B sglcpp
2020/4/7
MATLAB_高级应用
7
文件的操作
打开文件 fopen 读写操作 关闭文件 fclose
Baidu Nhomakorabea
2020/4/7
MATLAB_高级应用
13
fgetl和fgets命令
fgetl 和 fgets 命 令 : 读 取 文 件 的 下 一 行 , 并 将 该行的ASCII字符转换成字符串。 tline=fgetl(fid) 读取文件的下一行,不包括换行符 tline=fgets(fid) 读取文件的下一行,包括换行符 tline=fgets(fid,nchar) 限制读取文件字符个数
2020/4/7
MATLAB_高级应用
2
MEX文件的应用: (1) 对于已存在的C或FORTRAN子程序,可 以通过编译生成MEX文件,在MATLAB环 境中直接调用,而不必重新编写M文件。 (2) 由于MATLAB是解释性语言,运行如for 等循环体时,会出现速度十分缓慢的现象, 为了能提高速度,往往要使用MEX程序。
……
MATLAB中,如果有同名文件则调用顺序是 MEX、DLL、M文件。
2020/4/7
MATLAB_高级应用
3
MATLAB编译器功能
使M文件生成MEX文件 使M文件生成EXE文件 产生C MEX的S函数 产生C共享库(Windows中称为动态链 接库DLL)或C++静态库。
2020/4/7
MATLAB_高级应用
2020/4/7
MATLAB_高级应用
16
文件定位
1. fseek命令:用来移动文件位置指针 status=fseek(fid,offset,origin) fid为文件指针; offset指定移动的字节数; status为返回值; origin指定移动位置指针的参考起点:
'bof' 或-1:文件的开头 'cof' 或0:文件的当前位置 'eof' 或1:文件的末尾。
2020/4/7
MATLAB_高级应用
8
打开文件
fid = fopen(filename,permission) 以指定格 式打开文件
[fid,message] = fopen(filename,permission) 返回打开文件的信息 fid为返回的文件指针(File Identifier) ; message用来显示打开文件的信息; filename为文件名,是字符串; permission为指定文件的打开模式。
size为需要读取的数据个数
2020/4/7
MATLAB_高级应用
12
写格式化文件
fprintf命令:写入格式化数据 count=fprintf(fid,format,a) count为成功写入数据的个数; fid为文件指针,所指为二进制文件; a为矩阵数据,将a写到fid指向的文件; format为写入的格式;
2020/4/7
MATLAB_高级应用
10
关闭文件
status=fclose(fid) %关闭文件指针所指的文件 status=fclose('all') %关闭所有打开的文件
说明:status为关闭文件指针所指文件 的状态,如果成功则返回0,如果失败则返 回-1;fid为所打开的文件指针。
2020/4/7
MATLAB_高级应用
11
读格式化文件数据
fscanf命令 :读格式化文件数据。
[a,count]=fscanf(fid,format,size) a返回读取的数据; count为成功读取的数据元素个数; fid为文件指针,所指为需要读取的格式
化文件;
format指定读取数据格式,以“%”开头 (与C语言类似);
相关文档
最新文档