数学逻辑。
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、函数文件的结构和编写方法
函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。
M函数文件的结构
(1)函数定义行(function) (2) H1行(函数帮助文本的第一行) (3)函数帮助文本 (4)函数体 (5)注释
函数文件编写后,保存时,其文件名必须与函数名相同。注意:函数名不要与MATLAB自身的函数命令相同。
三、实验内容:
1、熟悉MATLAB程序编辑与设计环境
2、用for循环语句实现求1~100的和。
3、用for循环语句实现编写一个求n阶乘的函数文件。
a4、Fibonacci数组的元素满足Fibonacci 规则: k?2?ak?ak?1(k?1,2,?)且,现要求该数组中第一个大于10000的元素。 a1?a2?1 思考题
1、已知一维数组A=[2,4,5,8,10],B=[4,6,9,3,4],用for循环语句实现?AiBn?i?1。
i?1n求和函数可用sum()。.
2、利用for循环求1!+2!+3!+ … +5!的值。.
实验四函数的编写及调试
一、实验目的:掌握MATLAB函数的编写及调试方法。 二、实验内容:
1、编写一个函数function [y]=myfun1(x),计算下面函数的值,给出标量x的值,调用
该函数后,返回y的值。
?sinx,?y(x)??x,??x?6,?x?00?x?3x?3
选择一些数据测试你编写的函数。
2、编写一个函数求向量x中元素的平均值、最大值、最小值、均方根值。
function [m_x,max_x,min_x,rms_x]=myfun2(x),均方根值(Root Mean Square)的计算
公式为:
rms?1N2
xi?Ni?1用下面数据测试你写的函数:
(1)x=sin(0:0.01:6*pi)
(2)x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随机数。
3、编写一个函数,给出一个向量x?[x1,x2,?xn],生成如下范德蒙矩阵。
1?1?xx2?12function [v]=myvander(x)?x12x2????n?1n?1x2??x1例如:>>v=myvander([2 3 4 5]) 得v=
?????1?xn??2xn? ???n?1xn??1??111?234?5?? ?491625???82764125??生成一些数据测试你写的函数。
三、思考题
编写程序,用如下迭代公式求
a,a的值分别为:3,17,113。迭代的终止条件为
100次。分别对迭代结果和
xn?1?xn?10?5,迭代初值x0?1.0,迭代次数不超过
准确值进行比较,并统计迭代次数。x2?a?2x2?x2?a?xn?1?xn?1a ?22xn?1实验五MATLAB的绘图
1、在同一坐标系下绘制下面三个函数在t?[0,4?]的图象。
y1?ty2?ty3?4?e?0.1tsin(t)
2、编写程序,选择合适的步距,绘制下面函数在区间[-6,6]中的图象。
?sinx,?y(x)??x,??x?6,?
x?00?x?3x?3
3、三维空间曲线绘制x=cos(z);y=sin(z);(z∈0~4*pi)
4、用mesh或surf函数,绘制下面方程所表示的三维空间曲面,x和y的取值范围设为[-3,3]。
x2y2z???
1010三、思考题
在同一坐标系下,用不同颜色和线型绘制以下两个函数在t?[-2?,2?]范围内的图象。
y1?2
0.5ty2?2e?0.2t