MATLAB学习笔记—分支结构

2015-11-07  本文已影响281人  mtobeiyf

if语句

function guess_my_number(x)
if x == 2
    fprintf('Congrats! You guessed my number!\n');
end

注意每个if语句都要以end结尾

if-else语句

function guess_my_number(x)
if x == 2
    fprintf('Congrats! You guessed my number!\n');
else
    fprintf('Not right, but a good guess.\n');
end

if-elseif-else语句

function guess_my_number(x)
if x == 2
    fprintf('Congrats! You guessed my number!\n');
elseif x < 42
    fprintf('Too small. Try again\n');
else
    fprintf('Not right, but a good guess.\n');
end

最后一个else可以不要,就是一个if-elseif结构。

关系运算符(Relational operators)

运算符 含义
== 判断是否等于
~= 是否不等于
> 是否大于
< 是否小于
>= 是否大于等于
<= 是否小于等于

进行判断后返回值为1(真)或0(假)

可以进行一组数的比较

[4 -1 7 5 3] > [5 -9 6 5 -3]
ans =
     0 1 1 0 1

当然也可以这样,逐个与4进行比较:

[4 -1 7 5 3] <= 4

还有很多玩法

sum([14 9 3 14 8 3] == 14)

逻辑运算符(Logical operators)

运算符 含义
&& 逻辑与
逻辑或
~ 逻辑非

| 输入 || && | || |
| :------: | :------: | :------: | :------: |
| false | false | 0 | 0 |
| false | true | 0 | 1 |
| true | false | 0 | 1 |
| true | true | 1 | 1 |

非零为真,零为假

~[1 pi 0 -2]
ans = 
    0 0 1 0

但对两个矩阵使用&&||,应变为&|

[1 -3 0 9 0] & [pi 0 0 2 3]
ans = 
    1 1 0 1 1

help precedence 获取关于运算符优先级的帮助

循环嵌套(Nested if-statements)

if arg_1
    if arg_2
        statement_1;
    else
        statement_2;
    end
else
    statement_3;
end

©Fing

上一篇下一篇

猜你喜欢

热点阅读