第3章MATLAB程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 MatLab 程序设计
本章学习的主要目的:
1.熟炼掌握MatLab 程序设计的顺序、分支和循环结构;
2.熟炼掌握脚本M 文件和自定义函数的设计和使用;
3.1 M 文件的使用
3.1.1 M 文件的运行操作步骤
1启动MatLab
2 点击菜单File-New-M-file,进入文件编辑窗口
3 在文件编辑窗口输入M 文件内容
4 以m 为扩展名存盘,注意函数文件的文件名一定和函数名一样。
5 在命令窗口中输入脚本文件名,即可运行脚本M 文件,函数文件的使用和内部函数的使用方法一样。
3.1.2 变量
变量名是以字母开头,由字母、数字和下划线组成,最多31个字符,区分大小写字母。
注:变量不需要任何类型的说明语句,当输入一个新的变量名时,MatLab 会自动建立变量并为其分配内存空间。
MatLab 有几个特殊的量:
pi 圆周率 ;eps 最小浮点数;Inf 正无穷大,特指1/0;NaN 不定值, 特指0/0; i ,j 虚数单位。
注 为了防止除以0的运算,可如下处理:如 x=(-3:3)/3;x=x+(x==0)*eps;sin(x)./x
3.1.3语句形式
一般赋值语句形式: 变量=表达式
若变量和“=”省略,则名为ans 的变量自动建立;若输入一个语句并以回车结束,则在工作区中显示计算的结果;若语句以“;”结束,则只计算,不显示计算的结果。
若表达式太长,可以用续行号…将其延续到下一行。
一行中可以写几个语句,它们之间用逗号或分号分开。
语句注释符为%。
4 11 28
3.1.4 控制循环语句
1.for 循环变量=初值:步长:终值 循环体语句组 end
例1计算1到10的和脚本文件example1.m s=0;
for i=1:10;
s=s+i;end ; s
在命令窗口输入example1,运行结果:
S=55
2.while (条件式) 循环体语句组 end
例2
Fibonacci 数组的元素满足Fibonacci
规则:
12+++=k k k a a a ,;且。
求出该数组中第一个大于10000的元素。
),2,1( =k 121==a a 脚本文件 example2.m
a(1)=1;a(2)=1;i=2;
while a(i)<=10000
a(i+1)=a(i-1)+a(i);
i=i+1;
end;
i,a(i),
在命令窗口输入example2,运行结果:
i =
21
ans =
10946
3.1.5 条件控制语句
1 if (条件式1) 条件块语句组1 elseif (条件式2) 条件块语句组2
4 11 28
else
条件块语句组3 end
例3用for循环指令来寻求Fibonacc数组中第一个大于10000的元素。
脚本文件example3.m
n=100;a=ones(1,n);
for i=3:n
a(i)=a(i-1)+a(i-2);
if a(i)>=10000
a(i),
break;
end;
end,i
在命令窗口输入example3,运行结果:
ans = 10946
i = 21
2 switch-case结构
switch 表达式
case 表达式1
语句块1
case 表达式2
语句块2
otherwise
语句块n
end
例4 学生的成绩管理
脚本文件example4.m
mark=86;
n=fix(mark/10);
switch n
case 10
Rank='满分'
case 9
Rank=' 优秀'
case 8 4
1 1
2
8
Rank=' 良好'
case {6,7}
Rank=' 及格' otherwise
Rank='不及格'
end
在命令窗口输入example4,运行结果:
Rank =
良好
3.1.6 自定义函数
function <因变量>=<函数名>(<自变量>)
说明:M-文件的文件名必须是<函数名>.m 。
若有多个因变量用[]括起来。
例5 函数文件randint.m
function a=randint(m,n) %产生m×n 随机整数矩阵 a=floor(10*rand(m,n));
使用方法:在工作区直接输入变量名=函数名(自变量组) 在命令窗口输入 x=randint(2,3)后运行结果:
x = 9 6 8 2 4 7
例6 ,求f(2),f(0.5),f(-1)
0101
x ,,2,1)(32≤≤<>⎪⎪⎩
⎪
⎪⎨⎧+=x x x x x x f 设先建立函数M 文件fun.m 定义函数f(x),再在MatLab 命令窗口中输入fun(2),fun
(0.5),
fun (-1)。
function f=fun(x)if x>1
f=x.^2+1else if x <=0
f=x.^3else f=2*x end end
4 11 28
差距体会。
每次确定1个部每季度召开一担当作为”、“坚守。
(三)开展“四个讲党员到联系区县
X X 局带头讲党家学者给党员干部讲党课学习教育实施方案 党中央(以下简称“两学一做,做合格党员”学展“学党章党规际,现制定十
防出,在发有为、建立党的意识、党中建功立业。
县处级重要论述,认真践行“,带头牢固树立和贯彻落实、主要措施 (一)开展“两重温单位开展一次主题党日活动,组织对照入党誓词找标准、找差距。
党支部书愿和入党誓词,交流思想体会。
(二)开展定期组织集中学习,每次确定1个专题开展交党员集中学习。
支部每季度召开一次全体党员宗旨,敢于担当作为”、“坚守纪律底少于1天。
(三)开展“四个讲党课班子成员到联系区县
X X 局带头讲教师、专家学者给党员干部格党员”学习教育实施方习教育(以下简称系列讲话,做合员中开展“我局实。