- 1、本文档共115页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在命令窗输入type sqr.txt查看文件内容: type sqr.txt 运行结果为: x= 1.0 y= 1.00 x= 1.5 y= 2.25 x= 2.0 y= 4.00 x= 2.5 y= 6.25 x= 3.0 y= 9.00 例: 用fscanf函数读取平方表sqr.txt内容。 编写如下M文件: fid=fopen(sqr.txt,rt); [g,n]=fscanf(fid,%c); fclose(fid); 在命令窗输入: g 运行结果为: g = x= 1.0 y= 1.00 x= 1.5 y= 2.25 x= 2.0 y= 4.00 x= 2.5 y= 6.25 x= 3.0 y= 9.00 例: 写格式化文本文件file3.txt,存储学生的数据。 编写如下M文件exm5.m: stu.n=Li Ming; stu.s=79; stu(2).n=Zhang Liang;stu(2).s=93; fid=fopen(file3.txt,wt); for i=1:2 fprintf(fid,%15s\t,stu(i).n); fprintf(fid,%5d\n,stu(i).s); end fclose(fid); 在命令窗输入type file3.txt查看文件内容: type file3.txt 运行结果为: Li Ming 79 Zhang Liang 93 例: 从格式化文本文件file3.txt中读取学生数据。 编写如下M文件exm6.m: fid=fopen(file3.txt,rt); x=fscanf(fid,%c); fclose(fid); 在命令窗输入: x 运行结果为: Li Ming 79 Zhang Liang 93 4. 文件定位 文件的读写,由文件指针定位。实现对文件指针操作的 函数是fseek和ftell。 fseek函数的调用格式为: status=fseek(fid,OFFSET,ORIGIN) fseek函数的功能: 将fid所标识的文件指针,移到以ORIGIN为基点, OFFSET为偏移量的位置。若操作成功,则status为0, 否则status为-1。 三. 错误控制语句 错误控制语句的基本调用格式: try 语句体1 catch 语句体2 end 错误控制语句的作用是在try之下的一个语句出现错误时 跳出该语句体并执行catch语句体。 使用lasterr函数可以查询最后的错误信息,查询结果为 空字符串时表示语句体1成功执行。 例: 计算矩阵乘法,如果矩阵不满足乘法运算规则报错。 编写如下M文件: a=[1 2;3 4]; b=[3 2;1 5]; try disp(a);disp(b); x=a*b;disp(x); catch errordlg(错误矩阵运算);%弹出出错信息对话框 end 运行结果: 1 2 3 4 3 2 1 5 5 12 13 26 如果将程序中的b矩阵赋值语句改为: b=[3 2;1 5;2 6]; 运行结果: 1 2 3 4 3 2 1 5 2 6 弹出出错信息对话框: 四. 交互控制指令 1. 程序终止语句 程序终止语句 return 程序终止语句return用于终止当前的命令序列并返回 被调用的函数,也可用于终止keyboard方式。 2. 键盘控制指令 键盘控制指令 keyboard keyboard指令常用在程序调试和运行中的变量修改。 当系统执行keyboard指令时,将停止运行,显示提示符 “K”,并把控制权交给键盘,等待用户的输入,显示 如下: K 输入: K return 返回: 3. 输入控制指令 输入控制指令 input 调用格式: variable=input(prompt) 例: 编写程序实现对用户输入的两矩阵进行乘法运算, 如果矩阵不满足乘法运算规则报错。 编写如下M文件: a=input(enter the first matrix:); b=input(enter the second matrix:); try disp(a);disp(b); x=a*b;disp(x); catch errordlg(错误矩阵运算);%弹出错误信息对话框 end 运行结果: enter the first matrix: [2 3;4 1] enter the second matrix: [1 2 ;5 3] 键盘输入 显示:
文档评论(0)