[ Matlab ]--- 巧用变量赋值来 替代 if 语句

if语句的判断条件,实际上就是一个表达式,既然是表达式,就可以赋值为变量。


举个简单的例子:


a = 1;
b = 5 ;

if (a>=1)&(b==5)

c=1 ;

else

c = 0

end


可以替换成:


a = 1;
b = 5 ;
c = (a>=1)&(b==5);


实际过程中,可以用c来进行变量的赋值

比如 A(c) = xxx ;



另外再举个例子:


a = 1 ;
b = 2 ; 
d = 0  ;


c = (a>=1) ...    % a的条件
    +(b == 2) ... % b的条件
    +(d == 0);    % c的条件

通过 ...  来进行换行,然后写每个条件。这样清晰易读,然后条件的不同,会出现不同的结果。


最后,还可以通过 位运算来进行赋值,这样就不会重复。

给变量赋值还可以参考以下写法:


a = 0 ;
b = 128*~bitand(a,128);

或者

a = 0 ;
b = bitor(a,128);


具体看情况。



 
评论
热度(2)
 
回到顶部