精品chap05 MATLAB编程.ppt(共46页)【在线阅读】

您所在的位置:网站首页 matlab在线编程 精品chap05 MATLAB编程.ppt(共46页)【在线阅读】

精品chap05 MATLAB编程.ppt(共46页)【在线阅读】

2023-01-13 20:05| 来源: 网络整理| 查看: 265

精品chap05 MATLAB编程.ppt(共46页)【在线阅读】

【文档描述】

1、1Matlab 编程入门2Matlab 编程入门q Matlab 编程简介u Matlab 作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算、符号计算、矩阵运算能力和丰富的绘图功能,同时也具有和 C、FORTRAN 等高级语言一样进行程序设计。 u 在 Matlab 程序设计中,要充分利用 Matlab 数据结构的特点,提高编程效率。 u 利用 Matlab 的程序控制功能,可以将有关 Matlab 命令编成程序存储在一个文件中(M 文件),然后在命令窗口中运行该文件,Matlab 就会ak 和 continuel break 语句用于终止循环的执行,即跳出最内层循环l continue 语句用于结束本次循环,进行下一次循环l break 和 continue 一般与 if 语句配合使用其它流控制语句u returnl return 语句用于退出正在运行的脚本或函数,通常用在函数文件中。 34首先由计算机随机产生一个 1,100 之间的一个整数,然后由用户猜测所产生的这个数。 根据用户猜测的情况给出不同的提示,如果猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于。

2、自动依次执行文件中的命令,直到全部命令执行完毕。 3q 用 Matlab 语言编写的程序称为 M 文件。 q M 文件是由若干 Matlab 命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。 事实上,Matlab 提供的内部函数以及各种工具箱,都是利用 Matlab 语言开发的M 文件。 用户也可以结合自己的工作需要,开发自己的程序或工具箱。 q M 文件根据调用方式的不同可以分为两类:u Script:脚本文件/命令文件u Function:函数文件M 文件q M 文件以.m 为扩展名。 4果预先无法确定循环的次数,则可以使用while 循环。 32l 这个例子给出了计算 eps 的一种方法。 l 这里我们用大写 EPS,因此系统中 eps 的值不会被覆盖。 当 EPS=eps 时,条件仍成立;而当 EPS=eps/2 时,条件为假,退出循环,所以最后应有 EPS=eps/num 用来记录循环次数。 u 计算 Matlab 中 eps 值(exp02.m)while 循环举例num=0;EPS=1;while(1+EPS)1 EPS=EPS/2;num=num+1;end33u bre。

3、q M 文件是一个文本文件,可以用任何文本编辑器来建立和编辑,通常使用 Matlab 自带的 M 文件编辑器。 M 文件的建立与打开q 新建一个 M 文件u 菜单操作(File New M-File)u 命令操作(edit M 文件名)u 命令按钮(快捷键)q 打开已有的 M 文件u 菜单操作(File Open)u 命令操作(edit M 文件名)u 命令按钮(快捷键)u 双击 M 文件5u 在命令窗口中输入 f2cs,即可执行该 M 文件。 例:编写一个脚本文件将华氏温度转化为摄氏温度脚本文件举预分配内存A2=zeros(N,N);for m=1:Nfor n=1:N A2(m,n)=1/(m+n-1);endendt2=tocl 为了提高运行效率,应尽可向量化编程,避免 循环的使用31l 循环语句可以嵌套使用while 循环while expression(条件)statement(循环体)endl 不能在 for 循环体内改变循环变量的值l 为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免 for 循环的使用l 如果预先就知道循环的次数,则可以采用 for 循环;否则,如。

4、例clear;%清除当前工作空间中的变量f=input(Please input Fahrenheit temperature:);c=5*(f-32)/9;fprintf(The centigrade temperature is%gn,c);u 新建一个 M 文件 f2cs.m,内容如下:脚本文件运行后,文件中所产生的所有变量都驻留在Matlab 当前工作空间,可以用 whos 查看。 6q 程序控制结构有三种:顺序结构、选择结构和循环结构。 任何复杂的程序都由这三种基本结构组成。 u 顺序结构Mend循环变量l 表达式 expression 可以是行向量,也可以是矩阵for 循环clear;y=0;n=100;for k=1:ny=y+1/(2*k-1);end例:已知,当 n=100 时,求 y 的值30for循环的效率%初始化代码clear;clc;N=1000;tic%第一种方式for m=1:Nfor n=1:N A1(m,n)=1/(m+n-1);endendt1=toctic%向量化编程n=repmat(1:N,N,1);A3=1./(m+m.-1);%t3=toctic%。

5、文件控制流l 按排列顺序依次执行各条语句,直到程序的最后。 l 这是最简单的一种程序结构,一般涉及数据的输入输出、数据的计算或处理等。 7例A=input(Please input A:)u 数据的输入:inputA=input(提示信息)l 其中 提示信息 为字符串,l 该命令要求用户输入 A 的值(可以是数或字符串)数据输入 inputA=input(提示信息,s)注:此时输入的字符串不要加单引号!l 如果是输入字符串,也可以使用下面的方法name=input(Whats your name?n80+k;seventies(k+1)=70+k;endswitch x case 100 r=满分;case excellent r=优秀;case eighties r=良好;case seventies r=中;case 60:69%r=及格;otherwise r=不及格;endr28循环结构 是按照给定的条件,重复执行指定的语句。 Matlab 用于实现循环结构的语句有 for 语句和 while 语句循环结构29for variable=expressionstatement(循环体)。

6、s)例8keyboard指令nkeyboard指令是将“控制权”暂时交给键盘,用户可以从键盘输入各种MATLAB指令。 仅当用户输入return指令后才将“控制权”交还给程序。 它可以一次输入多条MATLAB指令。 在keyboard控制下提示符为K9disp(X)输出变量 X 的值,可以是数值矩阵或字符串 B=1 2 3;4 5 6;7 8 9;disp(B)数据输出 dispu 数据的输出:disp A=Hello,Tom!;disp(A)例10数据输出 fprintffprintf(fid,f当比较结果为真时,就执行相应的语句组,然后跳出 switch 结构。 l switch 后面的表达式 expression 的值可以是一个标量或字符串。 switch 语句l otherwise 指令可以不出现。 l 如果所有的比较结果都为假,则执行 otherwise 后面的语句组,然后跳出 switch 结构。 x=input(please input score:);excellent=90,91,92,93,94,95,96,97,98,99;%for k=0:9 eighties(k+1)=。

7、ormat,variables)按指定的格式将变量的值输出到指定的文件u 数据的输出:fprintfl fid 为文件句柄,若缺省,则将变量的值输出到屏幕上l format 用来指定数据输出时采用的格式,常见的有%e(采用科学计算形式)%f(采用浮点数形式)%g(由系统自动选取上述两种格式之一)%s(输出字符串)l format 中还可以使用一些特殊格式,如:n(换行)t(制表符)b(退格)(反斜杆)%(百分号)11数据输出 fprintf a=Hello;b=2.4;c=100*pi;fpri;endif 语句举例25l 根据表达式的不同取值,分别执行不同的语句。 switch expression(表达式)case value1(表达式1)statement1(语句组1)case value2(表达式2)statement2(语句组2).case valuem(表达式m)statementm(语句组m)otherwisestatement(语句组)endswitch 语句26l Matlab 首先计算 expression 的值,然后将它依次与各个 case 指令后的检测值进行比较。

8、ntf(a=%s,b=%f,c=%en,a,b,c)例l format 中的输出格式要与输出变量一一对应l 可以没有输出变量 fprintf(Today is Mondayn)例12pauseu 程序的暂停:pausepause 或 pause(n)若想强行终止程序的运行,可以使用 Ctrl+c其中 n 是延迟时间,以秒为单位;若缺省,则将暂停程序,直到用户按任意键后继续l pause off 屏蔽程序中所有 pause 的作用l pause on打开 pause 的作用13选择结构 是根据给定例u 数论中的一个有趣问题:任取一个正整数,如果是偶数,用 2 除,如果是奇数,用 3 乘再加 1,反复这个过程,直到所得到的数为 问:是否存在使该过程永不中止的整数?(exp01.m)24while 1n=input(Please enter n(nonpositive quit):);m=n;if n1if rem(n,2)=0n=n/2;elsen=3*n+1;endfprintf(n n=%d,n);endfprintf(n%d is not we need!continue.n,m。

9、的条件成立或不成立,分别执行不同的语句。 Matlab 用于实现选择结构的语句有if 语句和 switch 语句。 选择结构14l 单分支结构if expression(条件)statements(语句组)endif 条件语句if expression(条件)statements1(语句组1)elsestatements2(语句组2)endl 双分支结构15if expression1(条件1)statements1(语句组1)elseif expression2(条件2)statements2(语阵,则 any 和 all 按列运算,返回一个 0-1 向量逻辑运算l 相关函数any(x)如果向量 X 中存在非零元素,则返回 1,否则返回 021括号幂,点幂正号,负号,逻辑非乘,除,点乘,点除加,减冒号运算关系运算&|&|运算优先级高低22isfinite元素为有限值,返回真值 1isinf元素为无穷大,返回真值 1isnan元素为不定值,返回真值 1isreal参量无虚部,返回真值 1isstr参量为一个字符串,返回真值 1isempty参量为空,返回真值 1一些测试函数23if 语句举。

10、句组2).elseif expressionm(条件m)statementsm(语句组m)elsestatements(语句组)endl 多分支结构if 条件语句16关系运算小于大于=大于等于=等于=不等于l 比较大小,如果结论是 真 则返回 1,否则返回 0l 注意=与=的区别l 关系操作符能用来比较两个同样大小的数组,或用来比较一个数组和一个标量,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小一样。 q 关系运算符17例:关系运算举例 2+2=4 23 A=1 3 5;2 0 6;B=3 1 0;2 4 6;A=B x=5 0;4 2;x4ans=0 1 1 1 0 1ans=0 1 0 1ans=1ans=018&向量与|向量或非xor(x,y)异或逻辑运算q 逻辑运算符&标量与|标量或A&B 等价于 and(A,B)A|B 等价于 or(A,B)A等价于 not(A)19运算对象与或非异或ABA&BA|BAXor(A,B)000010010111100101111100逻辑运算表20all(x)如果向量 X 中所有元素都非零,则返回 1,否则返回 0若 x 为矩。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3