- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工程科技]第7章 Matlab文件和面向对象编程
第七章 M文件和面向对象编程 本章详细讲解利用M语言进行编程的方法 讲述的主要内容: 流程控制(7.3) 脚本文件(7.4) 函数文件(7.4) 子函数(7.5) 私有函数(7.5) M文件的调试 7.1 概述 MATLAB的工作模式 指令驱动模式 通常MATLAB以指令驱动模式工作,即在MATLABM命令行窗口下用户输入单行指令时, MATLAB立即处理这条指令,并显示结果,这就是MATLAB命令行方式。 命令行方式程序可读性差,而且不能存储,当处理复杂问题和大量数据时很不方便。 M文件模式 将MATLAB语句构成的程序存储成以m为扩展名的文件,然后再执行该程序文件,这种工作模式称为程序文件模式。 程序文件不能在指令窗口下建立,因为指令窗口只允许一次执行一行上的一个或几个语句。 概述(续) 概述(续) 【例7.1-1】通过M脚本文件,画出下列分段函数所表示的曲面。 %exm0701_1.m a=2;b=2; % 2 clf; x=-a:0.2:a;y=-b:0.2:b; for i=1:length(y) for j=1:length(x) if x(j)+y(i)1 z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j)); elseif x(j)+y(i)=-1 z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j)); else z(i,j)=0.7575*exp(-y(i)^2-6.*x(j)^2); end end end axis([-a,a,-b,b,min(min(z)),max(max(z))]); colormap(flipud(winter));surf(x,y,z); 【例7.1-2】通过M函数文件画出上例分段函数的曲面。 7.2 M文本编辑器 7.2 M文本编辑器 7.3 MATLAB控制流 程序流程控制包含控制程序的基本结构和语法 结构化的程序主要有三种基本的程序结构 顺序结构 指所有组成程序源代码的语句按照由上至下的次序依次执行,直到程序的最后一个语句。 选择结构 依照不同的判断条件进行判断,然后根据判断的结果选择某一种方法来解决某一个问题。 循环结构 就是在程序中某一条语句或多条语句重复多次的运行。 MATLAB语言的程序结构与其它高级语言是一致的,分为顺序结构、选择结构、循环结构 流程控制(续) 循环结构 选择结构 break语句和continue语句 提高运算性能 循环结构 在MATLAB中,包含两种循环结构 循环次数不确定的while循环 循环次数确定的for循环 7.3.1 for循环结构 使用for语句循环需要预先知道循环体执行的次数 格式 for index=start:increment:end MATLAB语句 end index的取值取决于start和end的值 在for循环语句中,不仅可以使用行向量进行循环迭代的处理,也可以使用矩阵作为循环次数的控制变量 循环的索引值将直接使用矩阵的每一列,循环的次数为矩阵的列数 【例7.3.1-1】一个简单的for循环示例。 for i=1:10; x(i)=i; end; x 7.3.2 while循环结构 while语句可以实现“当”型的循环结构 格式 while(表达式) MATLAB语句 end 特点是先判断循环条件,当循环条件成立,即表达式运算结果为“真”,再执行循环体 在循环过程中一定要有能够改变关系表达式或者布尔类型变量的值 【例7.3.2-1】Fibonacci数组的元素满足Fibonacci 规则: , ;且 。现要求该数组中第一个大于10000的元素。 选择结构 当判断某一条件是否满足,根据判断的结果来选择不同的解决方法时,就需要使用选择结构 MATLAB的条件判断可以使用if语句或者switch语句 7.3.3 if语句 if语句的三种基本语法结构 if(关系运算表达式) MATLAB语句 end if(关系运算表达式) MATLAB语句A else MATLAB语句B end if(关系运算表达式a) MATLAB语句A elseif (关系运算表达式b) MATLAB语句B
文档评论(0)