MATLAB中多个if-elseif-else语句分支同时使用的逻辑关系

最近看雷达的恒虚警检测GO-FAR算法,在两个if-elseif-else 语句中迷失了。
大致结构如下:

if A
	process1
elseif B
	process2
else 
	process3
end
if C 
	process4
elseif D
	process5
else 
	process6
end	
	

在这里A和C是相反的条件,之前以为如果满足条件A,那么就执行process1,那么必然不满足C,也就不会执行process4,5,6。但是实际上当满足条件A,执行process1之后,从第一个判断语句中跳出来,会进入下面的分支,若满足D,或下面的else,就可能执行process5或者6。因为前面有end。
如果再做一下修改,将elseif中间加上空格,情况就会变得又不一样,这时候相当于if A 是外面的判断条件,下面的else if B及之后的语句都是里层的判断条件。

if A
	process1
else if B
	process2
else 
	process3
end
if C 
	process4
else if D
	process5
else 
	process6
end	
	
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章