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	
	
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章