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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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及之后的语句都是里层的判断条件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if A
    process1
else if B
    process2
else
    process3
end
if C
    process4
else if D
    process5
else
    process6
end