Matlab基础刻意练习

Matlab基础刻意练习

3.6 循环控制语句之一:for/end

for/end是用于要求重复多次执行for和end之间的程序语句,它允许嵌套使用。其书写格式如下:
for 变量=起点:增量:终点 %程序的重复次数由变量的起点、终点和增量来决定
程序语句
end %与for循环相对应的语句

例:计算8阶Pascal矩阵的所有元素的总和。
Matlab基础刻意练习

本例只说明for/end的应用。其实有更简单的计算方法:
》sum( sum ( pascal(8) ) )

ans=
12869
例:用Gauss消去法使已知5阶魔方矩阵变换为上三角矩阵。
Matlab基础刻意练习
Matlab基础刻意练习

3.7 循环控制语句之二:while/end

while/end它不规定循环次数,它的循环次数由while后面的条件表达式来决定,若条件成立,则重复执行while与end之间的程序语句,否则结束循环。其循环格式如下:
while 条件表达式
程序语句
end
例:用迭代法求解x3-3x2-5=0的一个实根。
Matlab基础刻意练习

Matlab基础刻意练习

如果直接使用多项式命令,则得
Matlab基础刻意练习
例:用迭代法求解下列线性方程组:
Matlab基础刻意练习
Matlab基础刻意练习
Matlab基础刻意练习
Matlab基础刻意练习

3.8 分支条件选择语句if/end

if语句是判定一个逻辑表达式,由逻辑表达式决定是否执行它下面的一组程序语句。它的语法结构如下:
if 逻辑表达式
程序语句
end
例:输入一整数,若能被2除尽,则显示它为偶数并显示除2后的商,否则显示此数为奇数。
解:在M文件编辑器中输入:

Matlab基础刻意练习
在命令窗口运行上述程序如下:
Matlab基础刻意练习

if语句在程序中可以任意嵌套任意次数。对于if语句后面的逻辑表达式,如果判断一个非标量,那么它的所有元素必须为非零,才认为是真。例如,若X是矩阵,程序为
if X
程序语句
end
那么它相当于
if all(X(:))
程序语句
end

3.9 多分支条件选择语句if/elseif/…/else/end

elseif/else 是进一步的if条件语句,其结构形式如下:
if 逻辑表达式 1
程序语句 1
elseif 逻辑表达式 2
程序语句 2
elseif 逻辑表达式 3
程序语句 3
……
else
程序语句 n
end
例:用二分法求多项式的根。已知多项式为
f(x)=x3-3x2+5x-7=0
它在区间[0,4]中有一实根,且f(0)<0,f(4)>0求此实根,允许误差为1E-5.
Matlab基础刻意练习Matlab基础刻意练习
Matlab基础刻意练习