我明白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