资源预览内容
第1页 / 共53页
第2页 / 共53页
第3页 / 共53页
第4页 / 共53页
第5页 / 共53页
第6页 / 共53页
第7页 / 共53页
第8页 / 共53页
第9页 / 共53页
第10页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MATLAB 7 简明教程 清华大学出版社第10章 MATLAB 7程序设计 教学目标 教学重点 教学过程Date1第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社教学目标 用交互式的方式来编写程序适用于命 令行比较简单,输入比较方便,同时 处理的问题步骤较少的情况。 当需要处理重复、复杂且容易出错的 问题时,可以进行控制流的程序设计 ,这就是M文件的编程工作方式。Date2第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社教学重点 MATLAB 7的控制流语言 变量和函数的种类 了解程序的调试和优化Date3第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社教学过程 M文本编辑器的基本知识 MATLAB 7的控制流语言 变量和函数的种类 程序设计的辅助函数 程序的调试和优化Date4第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社1. M文本编辑器的基本知识 M文本编辑器 M文件的基本属性 M文件的组成部分 脚本式M文件 函数式M文件 Date5第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社(1)M文本编辑器 M文件的语法类似于一般高级语言, 是一种程序化的编程语言,但是,与 传统的高级语言相比,M文件又有自 己的特点。它只是一个简单的ASC 型码文本文件,因此,它的语法比一 般的高级语言要简单,程序也容易调 试,并且有很好的交互性。Date6第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社M文件的基本属性 M文件有两种,一种为脚本式(Script) ,一种为函数式(Function) 。 函数M文件必须满足一些标准,另外,它们还 应该满足一些MATLAB 7的属性。主要有以下 几点: 函数式M文件名和出现在文件的第一行的函数名必 须相同。实际上,MATLAB 7忽略了第一行的函数 名,并且根据存储在硬盘上的文件名来执行函数 。 Date7第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社M文件的组成部分 函数式M文件的组成部分。 调出Medit窗口,在里边输入如下内容: function f = fact(n) %函数的定义行 % Compute a factorial value. %H1行 % FACT(N) returns the factorial of N, %帮助文本 % usually denoted by N! % Put simply, FACT(N) is PROD(1:N). %注释 f = prod(1:n); % 函数体Date8第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社M文件的组成部分及其功能 M文件的组成部分及其功能 组 成 部 分描 述函数定义行(仅限于 函数式M文件)定义函数名,以及输入和输出变量的数目和顺序H1 行H1行对程序进行概括性的描述,使用help和lookfor命令都可以调出 此行 帮助文本这是比H1 行更详细 的帮助信息,使用help命令时与H1行一起显示函数体函数体是M文件的主要部分,程序的计算和设计 都在此实现注释解释程序行的意义Date9第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社(2)脚本式M文件 用户可以将需要重复输入的所有命令按顺 序放到一个扩展名为m的文本文件下,每 次运行时只要输入该M文件的文件名即可 。 用户自己创建的M文件的文件名要避免与 MATLAB 7的内置函数和工具箱中的函数 重名,以免发生内置函数被替换的情况。 Date10第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社脚本式M文件举例 本脚本式M文件 绘制一个正弦曲 线: %此文件用于绘制【 2pi,2pi】区间 的正弦曲线图 x=-2*pi:0.05:2*pi; y=sin(x); plot(x,y,c+) legend(正弦曲线图)Date11第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社(3)函数式M文件 函数式M文件一般都要自带参数,并且有 返回结果 。 函数式M文件的第一行都是以function开 始,说明此文件是一个函数。函数式M文 件中的变量都不是全局变量,仅在函数运 行期间有效,函数运行完毕之后,它所定 义的变量将从工作区间中清除。Date12第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社函数式M文件举例 例11-4 判断某一年是否 为闰年。 解:调出Medit窗口,在 里边输入如下内容。 %该函数用于判断某一 年是否为闰年 %使用格式为 isleapea(y),其中y是用户 所要计算的年份 function isleapyear(year) sign=0; if rem(year,4)=0 sign=sign+1; end if rem(year,100)=0 sign=sign-1; end if rem(year,400)=0 sign=sign+1; end if sign=1 fprintf(%4d year is a leap year.n,year) else fprintf(%4d year is not a leap year.n,year) endDate13第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社2. 控制流 最简单的程序控制就是顺序结构,用户依 次输入命令语句即可。 MATLAB 7语言还提供了4种高级的控制 结构。它们是:if-else-end结构、switch- case-otherwise-end结构、for循环和 while循环。 Date14第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社(1)顺序结构 顺序结构是最简单的程序结构,用户在编 写好程序之后,系统将按照程序的物理位 置顺次执行。 a=1; b=2; c=3; s1=a+b s2=s1+c s3=s2/s2Date15第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社(2)ifend语句 只有一种选择时的情况 if 表达式 执行语句 end Date16第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社ifend语句 有两种选择时的情况 if 表达式 执行语句1 else 执行语句2 end Date17第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社ifend语句 有3种或3种以上选择时的情况 if 表达式1 表达式1为真时的执行语句1 elseif表达式2 表达式2为真时的执行语句2 elseif表达式3 表达式3为真时的执行语句3 elseif else 所有的表达式都为假时的执行语句 endDate18第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社(3) switchcaseend语句 switch开关语句 case条件语句, 执行语句,执行语句 case 条件语句1,条件语句2, 条件语句3 , 执行语句,执行语句 otherwise, 执行语句,执行语句 endDate19第10章 MATLAB 7程序设计MATLAB 7 简明教程 清华大学出版社(4) trycatchend try-catch模块给用户提供了一种错误捕获机制 。换句话说,利用try-catch模块,MATLAB 7编 译系统发现的错误将被其捕获,用户可以控制 MATLAB 7怎样对发生的错误进行处理。 try 执行语句1 catch 执行语
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号