Matlab基础刻意练习
Matlab基础刻意练习
3.6 循环控制语句之一:for/end
for/end是用于要求重复多次执行for和end之间的程序语句,它允许嵌套使用。其书写格式如下:
for 变量=起点:增量:终点 %程序的重复次数由变量的起点、终点和增量来决定
程序语句
end %与for循环相对应的语句
例:计算8阶Pascal矩阵的所有元素的总和。
本例只说明for/end的应用。其实有更简单的计算方法:
》sum( sum ( pascal(8) ) )
ans=
12869
例:用Gauss消去法使已知5阶魔方矩阵变换为上三角矩阵。
3.7 循环控制语句之二:while/end
while/end它不规定循环次数,它的循环次数由while后面的条件表达式来决定,若条件成立,则重复执行while与end之间的程序语句,否则结束循环。其循环格式如下:
while 条件表达式
程序语句
end
例:用迭代法求解x3-3x2-5=0的一个实根。
如果直接使用多项式命令,则得
例:用迭代法求解下列线性方程组:
3.8 分支条件选择语句if/end
if语句是判定一个逻辑表达式,由逻辑表达式决定是否执行它下面的一组程序语句。它的语法结构如下:
if 逻辑表达式
程序语句
end
例:输入一整数,若能被2除尽,则显示它为偶数并显示除2后的商,否则显示此数为奇数。
解:在M文件编辑器中输入:
在命令窗口运行上述程序如下:
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.