挺好的——matlab循环语句
- 格式:doc
- 大小:49.50 KB
- 文档页数:17
个人收集整理资料, 仅供交流学习, 勿作商业用途 1 / 17 Matlab 基本语句
1.循环语句for for i=s1:s3:s2 循环语句组 end 解释:首先给i赋值s1;然后,判断i是否介于s1与s2之间;如果是,则执行循环语句组,i=i+s3后,继续下一次循环。
例:求1到100的和,可以编程如下: sum=0 for i=1:1:100 sum=sum+i end 这个程序也可以用while语句编程。 注:for循环可以通过break语句结束整个for循环.
2.循环语句while 例:sum=0。i=1。 while(i<=100> sum=sum+i。i=i+1。 end 个人收集整理资料, 仅供交流学习, 勿作商业用途 2 / 17 3.if语句 if(条件> 语句 end if(条件> 语句 else 语句 end
if(条件> 语句 elseif 语句 end
4.关系表达式: =,>,<,>=,<=,==(精确等于> 5.逻辑表达式:|(或>,&(且>
6.[n,m]=size(A>(A为矩阵> 这样可以得到矩阵A的行和列数 n=length(A>,可以得到向量A的分量个数;如果是矩阵,则得到矩个人收集整理资料, 仅供交流学习, 勿作商业用途 3 / 17 阵A的行与列数这两个数字中的最大值。
7.!后面接Dos命令可以调用运行一个dos程序。 8.常见函数: poly(>:为求矩阵的特征多项式的函数,得到的为特征多项式的各个系数。如a=[1,0,0。0,2,0。0,0,3],则poly(a>=1 -6 11 -6。相当于poly(a>=1入^3+(-6>入^2+11入+(-6>。 compan(>:可以求矩阵的伴随矩阵. sin(>等三角函数。
MATLAB在数学建模中的应用(3>
一、程序设计概述 MATLAB所提供的程序设计语言是一种被称为第四代编程语言的高级程序设计语言,其程序简洁,可读性很强,容易调试。同时,MATLAB的编程效率比C/C++语言要高得多。 MATLAB编程环境有很多。常用的有: 1. 命令窗口 2. word窗口 3. M-文件编辑器,这是最好的编程环境。 M-文件的扩展名为“.m”。M-文件的格式分为两种: ① M-脚本文件,也可称为“命令文件”。 个人收集整理资料, 仅供交流学习, 勿作商业用途 4 / 17 ② M-函数文件。这是matlab程序设计的主流。 保存后的文件可以随时调用。 二、MATLAB程序结构 按照现代程序设计的观点,任何算法功能都可以通过三种基本程序结构来实现,这三种结构是:顺序结构、选择结构和循环结构。其中顺序结构是最基本的结构,它依照语句的自然顺序逐条地执行程序的各条语句。如果要根据输入数据的实际情况进行逻辑判断,对不同的结果进行不同的处理,可以使用选择结构。如果需要反复执行某些程序段落,可以使用循环结构。 1 顺序结构 顺序结构是由两个程序模块串接构成。一个程序模块是完成一项独立功能的逻辑单元,它可以是一段程序、一个函数,或者是一条语句。b5E2RGbCAP
看图可知,在顺序结构中,这两个程序模块是顺序执行的,即先执行,然后执行。 实现顺序结构的方法非常简单,只需将程序语句顺序排列即可。 2 选择结构 p1EanqFDPw
在MATLAB中,选择结构可由两种语句来实现。 <1) if语句 if语句的最简单用法为: 个人收集整理资料, 仅供交流学习, 勿作商业用途 5 / 17 if 表达式; 程序模块; end
if语句的另一种用法为: if 表达式 程序模块1 else 程序模块2 end
例1 使用if语句判断学生的成绩是否及格。 程序: clear n=input(‘输入n= ‘> m=60。if n<m,r=’不及格’ else r=’及格’end
练习一:将例1写入M-文件编辑器,然后在command window 调用这个程序。
当针对多个条件进行选择时,可以采用下面的格式: if 表达式1 程序模块1 elseif 表达式2 程序模块2 …… …… elseif 表达式n 程序模块n 个人收集整理资料, 仅供交流学习, 勿作商业用途 6 / 17 else 程序模块n+1 end 例2 将百分制的学生成绩转换为五分制输出。 程序: clear n=input(’输入n= ’> if n>=90 chji=’优秀’ elseif n>=80 chji=’良好’ elseif n>=70 chji=’中等’ elseif n>=60 chji=’及格’ else chji=’不及格’ end 练习二:将例2写入M-文件编辑器,然后在command window 调用这个程序。
<2) switch语句switch语句可以替代多分支的if语句,而且switch语句简洁明了,可读性更好。其格式为: switch 表达式 case 数值1 程序模块1 case 数值2 程序模块2 …… otherwise 程序模块n end 其中的otherwise模块可以省略。 switch语句的执行过程是:首先计算表达式的值,然后将其结果与每一个case后面的数值依次进行比较,如果相等,则执行该个人收集整理资料, 仅供交流学习, 勿作商业用途 7 / 17 case的程序模块;如果都不相等,则执行otherwise模块中的语句。如图3所示。DXDiTa9E3d
例3 用switch…case开关结构将百分制的学生成绩转换为五分制的成绩输出。 程序: clear x=58 switch fix(x/10> case {10,9} y=’优秀’ case 8 y=’良好’ case 7 y=’中等’ case 6 y=’及格’ otherwise y=’不及格’ end 练习三:将例3写入M-文件编辑器,然后在command window 调用这个程序。
3 循环结构 循环结构的流程图如图4所示它可以多次重复执行某一组语句。循环是计算机解决问题的主要手段。RTCrpUDGiT 个人收集整理资料, 仅供交流学习, 勿作商业用途
8 / 17 在MATLAB中,循环结构可以由两种语句结构实现。 <1) for…end 循环结构。其格式为: for i=V,循环体结构,end 其中V为一个行向量,循环变量i每次从V中取一个数值,执行一次循环体的内容,如此下去,直到完成V中的所有分量,就自动结束循环体的执行。 例4 计算 s=12+22+52。 程序: a=[1 2 5 ]。 s=0。 for k=a, s=s+k^2。 end, s,
该例题只是为了说明for语句的格式,事实上,用下面的语句求和更为简单。 命令: p=sum(a.^2>
练习四:建立MATLAB与word的连接,在新建的m-book中写入上面的程序,并用notebook菜单运行之。
程序命令后面输入与不输入“。”的区别是,当输入半角的分号时,命令中的变量会自动列表储存在 workspace中,变量的值不会在window command中显示出来;当不输入半角的分号时,变量不仅也会自动储存在workspace中,还会在window command窗口中显示出变量的值。 个人收集整理资料, 仅供交流学习, 勿作商业用途
9 / 17 循环结构里面还可以包含循环结构,形成多重循环。 例5 设计一个九九乘法表。 程序: clear for i=1:9 for j=1:9 a(i , j>=i*j。 end end a, 练习五:①直接在命令窗编写上面的程序。 ②试运行下面的程序,并加以分析: 程序: disp(’ 九九乘法表 ’>,for i=1:9, for j=1:i,p{i}(j>=j*i。end,disp(p{i}>,end 5PCzVD7HxA <2) while…end 循环结构。其格式为: while 循环结构体 end 例6 求MATLAB的相对精度 解:解题的思路是,让y值不断减小,直到MATLAB分不出1+y与1的差别为止。 程序:
y=1。 while 1+y>1。 y1=y。 y=y/2。 end,y1jLBHrnAILg
大括号 用于单元阵列的赋值 中括号 用于形成一个向量或矩阵 小括号 通常用于一般的算术表达式,指示优先运算,还用于表示函数变量、向量下标和矩阵下标等到