我明白Matlab表達式中的空白是純粹的化妝品,但我發現這一點,我不明白髮生了什麼。有任何想法嗎?具有複數定義的空白的影響
>> [1+i]
ans =
1.0000 + 1.0000i
>> [1 +i]
ans =
1.0000 + 0.0000i 0.0000 + 1.0000i << ????
>> [1 + i]
(我在2016a)
編輯: 感謝您的答覆。
我意識到這是比較容易看到在看非複數時發生的事情:
>> [2-1]
ans =
1
>> [2 - 1]
ans =
1
>> [2 -1]
ans =
2 -1
但應用到複數同解析規則可能導致的不知道不良的後果。
編輯2: 我完全理解所有上述的邏輯,但我不確定我很滿意混合空間和逗號分隔符的mix'n'match方法,如果它可能導致這樣的可怕事情...
> >> [1+2,3+4] ans =
> 3 7
> >> [1 +2,3+4] ans =
> 1 2 7
好處是,空白是一個列表分隔符,但不應該情況下3應該產生與情況2相同的輸出?當然,解析器應該總是將whitepsace作爲項目分隔符,或者在查找分隔符之前應首先解析複數。 對我而言,它所做的並不直觀。 – jacanterbury
在情況3中,「+」(加號)不在「我」後面,但前後有一個空格。這就是爲什麼它被視爲一筆款項,而不是分開。在情況2中,就像你強調它是一個「+ i」而不是減i,所以它只是它的標誌。 – srt