问题是操作符.不存在:
>> help ops
Operators and special characters.
Arithmetic operators.
plus - Plus +
uplus - Unary plus +
minus - Minus -
uminus - Unary minus -
mtimes - Matrix multiply *
times - Array multiply .*
mpower - Matrix power ^
power - Array power .^
...
当你输入p. p1,Matlab解析器无法识别有效的运算符,因此它可能假设您正在使用command syntax并尝试使用字符串文字p(‘.’,’p1′)进行函数调用.由于p不是函数,因此您会看到错误消息.
这种“命令语法”很方便,因为它可以节省你输入几个字符(即加载data.mat而不是load(‘data.mat’).问题是这会导致解释语句模糊不清,请参阅第that was linked directly页通过您的错误消息.这可以给出令人惊讶的结果,正如您的问题所示.这是Matlab语法的一个阴暗面.