当前位置:文档之家› matlab基本语句.

matlab基本语句.

121393 elapsed_time = 34.4290 下面我们尝试用一般的循环语句来求解这个问题。 程序: tic,n=[1,1];for k=3:100,n(k)=n(k-1)+n(k-2);end,toc,
elapsed_time =
0.0100 命令: n(1:26)
该例题只是为了说明for语句的格式,事实上,用下面的语句求和 更为简单。 命令: p=sum(a.^2)
练习四:建立MATLAB与word的连接,在新建的m-book中写入上面的 程序,并用notebook菜单运行之。
循环结构里面还可以包含循环结构,形成多重循环。 例5 设计一个九九乘法表。 程序: clear for i=1:9 for j=1:9 a(i , j)=i*j; end end
注:for循环可以通过break语句结束整个for循环.
2.循环语句while 例:sum=0;i=1; while(i<=100) sum=sum+i;i=i+1; end
3.if语句 if(条件) 语句 end
if(条件) 语句
else 语句
end
if(条件) 语句
elseif 语句
end
4.关系表达式: =,>,<,>=,<=,==(精确等于) 5.逻辑表达式:|(或),&(且)
捷按钮运行之。
三、M-文件 M文件是包含MATLAB代码的文件。M文件按其内容和功能可分为脚本 M文件和函数M文件这两大类。 1、脚本M文件 脚本M文件是许多MATLAB代码按顺序组成的命令集合,不接受参数 的输入和输出,与MATLAB工作区共享变量空间。脚本文件一般用来实现 一个相对独立的功能,比如对某个数据集进行某种分析、绘图,求解方 程等等。 前面的几个例题都是脚本文件的类型。 2、函数M文件 MATLAB的M-函数是由function语句引导的,其基本格式如下: function [输出形参列表] = 函数名 (输入形参列表) 注释说明语句段,由%引导; 函数体语句 函数文件需要在M-文件编辑器中编写。写完以后,按照当前的搜索 路径保存。以后就可以随时调用这个函数了。 与脚本M文件不同的是,调用函数M文件时需要输入自变量的实际 值。 随便打开一个M-文件看一看: open lsqlin
1 顺序结构 顺序结构是由两个程序模块串接构成。一个程序模块是完成一项独立功 能的逻辑单元,它可以是一段程序、一个函数,或者是一条语句。
看图可知,在顺序结构中,这两个程序模块是顺序执行的,即先执 行<程序模块1>,然后执行<程序模块2>。 实现顺序结构的方法非常简单,只需将程序语句顺序排列即可。 2 选择结构
说明: ①for循环与while循环的区别是,for语句的循环次数是确定的, 而while语句的循环次数是不确定的。 ②一定要注意在循环结构体内设置“修改条件表达式的语句”,以 免进入“死循环”。 ③一旦出现死循环,在命令窗用ctrl+c可使程序中止。 ④注意程序的可读性。 练习六:在M-文件编辑器内编写上面的脚本文件,并利用菜单或快
编程实例 例7. 定义一个函数 f(x)=[sin(x)]2, 其中x以“度”为单位。然 后再调用该函数。 解:在M-文件编辑器内写入下面的文件: function y=sinsd(x) %自变量x以“度”为单位。 % %白城师院
%数学建模协会,2007-5-12 a=x/180*pi; y=sin(a).^2; 将上面的文件保存之后即可随时调用。 命令: t=sinsd(45) t =
case 6 y=’及格’
otherwise y=’不及格’
end
练习三:将例3写入M-文件编辑器,然后在command window 调用这 个程序。
3 循环结构 循环结构的流程图如图4所示它可以多次重复执行某一组语句。循 环是计算机解决问题的主要手段。
在MATLAB中,循环结构可以由两种语句结构实现。 (1) for…end 循环结构。其格式为:
模块;如果都不相等,则执行otherwise模块中的语句。如图3所示。
例3 用switch…case开关结构将百分制的学生成绩转换为五分制 的成绩输出。 程序: clear x=58 switch fix(x/10)
case {10,9} y=’优秀’
case 8 y=’良好’
case 7 y=’中等’
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,
(2) switch语句 switch语句可以替代多分支的if语句,而且switch语句简洁明了, 可读性更好。其格式为: switch 表达式 case 数值1
程序模块1 case 数值2
程序模块2 …… otherwise 程序模块n end 其中的otherwise模块可以省略。 switch语句的执行过程是:首先计算表达式的值,然后将其结果与 每一个case后面的数值依次进行比较,如果相等,则执行该case的程序
在MATLAB中,选择结构可由两种语句来实现。 (1) if语句 if语句的最简单用法为: if 表达式; 程序模块; end
if语句的另一种用法为: if 表达式 程序模块1 else 程序模块2 end
例1 使用if语句判断学生的成绩是否及格。
一、程序设计概述 MATLAB所提供的程序设计语言是一种被称为第四代编程语言的高级 程序设计语言,其程序简洁,可读性很强,容易调试。同时,MATLAB的 编程效率比C/C++语言要高得多。 MATLAB编程环境有很多。常用的有: 1. 命令窗口 2. word窗口 3. M-文件编辑器,这是最好的编程环境。 M-文件的扩展名为“.m”。M-文件的格式分为两种:
0.5000 命令:
help sinsd 命令: t=sinsd([45,60]) t = 0.5000 0.7500 表明该函数对元素群运算有效。上面的语句相当于 命令: x=[45,60];t=sinsd(x) t =
0.5000 0.7500 命令: x=[45,60;30,90];f=sinsd(x) f = 0.5000 0.7500 0.2500 1.0000 将源文件中最后一行的“.”去掉,再运行以上两条命令,我们会 发现什么? 例8. 在MATLAB中,一个函数可以调用其它函数,也可以调用自 身,即递归调用。下面利用递归算法编写一个函数,用来计算 Fibonacci数列的第k项。 Fibonacci数列: 1,1,2,3,5,8,13,21,…… M-函数文件: function a=my_fibo(k) if k==1|k==2,a=1; else,a=my_fibo(k-1)+my_fibo(k-2);end 将这个文件写入M-文件编辑器并以名称“my_fibo.m”保存,以后 就可以调用这个函数。 递归算法无疑是解决某一类问题的有效方法,但不宜滥用,因为它 的运算速度往往很慢。 命令: tic, n= my_fibo(26) ,toc n =
ans =
Columns 1 through 8
1
1
2
3
5 8
13
21
Columns 9 through 16
34Βιβλιοθήκη 5589 144 233
377
610
987
Columns 17 through 24
1597 2584 4181 6765 10946
17711 28657 46368
程序:
clear
n=input(’输入n= ’)
m=60;
if n<m,
r=’不及格’
else
r=’及格’
end
练习一:将例1写入M-文件编辑器,然后在command window 调用这 个程序。
当针对多个条件进行选择时,可以采用下面的格式: if 表达式1
6.[n,m]=size(A)(A为矩阵) 这样可以得到矩阵A的行和列数 n=length(A),可以得到向量A的分量个数;如果是矩阵,则得到矩阵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 基本语句 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语句编程。
①l M-脚本文件,也可称为“命令文件”。 ② M-函数文件。这是matlab程序设计的主流。l
保存后的文件可以随时调用。 二、MATLAB程序结构 按照现代程序设计的观点,任何算法功能都可以通过三种基本程序 结构来实现,这三种结构是:顺序结构、选择结构和循环结构。其中顺 序结构是最基本的结构,它依照语句的自然顺序逐条地执行程序的各条 语句。如果要根据输入数据的实际情况进行逻辑判断,对不同的结果进 行不同的处理,可以使用选择结构。如果需要反复执行某些程序段落, 可以使用循环结构。
相关主题