实验5MATLAB程序设计
实验报告(5)
学生姓名学号指导老师郑成勇实验时间地点综合实验大楼实验题目实验5 MATLAB程序设计 实验目的掌握建立和执行M文件的方法,实现选择程序设计的方法。
掌握实现循环程序设计的方法。
了解 MATLAB 程序调试方法实验内容一、用if 语句实现下列分段函数,并计算其在x= -1、1、10时的值:
二、利用for循环求1!+2!+3!+ … +5!的值。
三、编程求满足的最小m值。
四、编写一个函数,给出一个向量,生成如下范德蒙矩阵。
function [v]=myvander(x)
例如:>>v=myvander([2 3 4 5])
得v=
实验指导1、程序流程控制语句
for循环结构
语法:for i=初值:增量:终值
语句1
……
语句n
end
说明:1.i=初值:终值,则增量为1。
2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。
while 循环结构
语法:while 逻辑表达式
循环体语句
end
说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。若表达式的值为假,则程序执行end之后的语句。
2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。)
3、while循环也可以嵌套、其结构如下:
while逻辑表达式1
循环体语句1
while逻辑表达式2
循环体语句2
end
循环体语句3
end
if-else-end分支结构
if 表达式 1
语句1
else if 表达式 2(可选)
语句2
else(可选)
语句3
end
end
说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。
2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。
3.注意:每一个if都对应一个end,即有几个if,记就应有几个end。
switch-case结构
语法:switch表达式
case常量表达式1
语句组1
case常量表达式2
语句组2
……
otherwise
语句组n
end
说明:1.switch后面的表达式可以是任何类型,如数字、字符串等。
2.当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。
程序流程控制指令
break、return、pause
程序示例:
数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如:
2(1
3(10(5(16(8(4(2(1
6(3(10(5(16(8(4(2(1
运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。
%classic "3n+1" problem from number theory.
while 1
n=input('Enter n,negative quits:');
if n<=0
break
end
a=n;
while n>1
if rem(n,2)==0 %判断n是否被2整除,即判断n是否为偶数
n=n/2;
else
n=3*n+1;
end
a=[a,n];
end
a
end
实验结果与分析