【发布时间】:2013-08-14 22:26:09
【问题描述】:
我在一个简单的乘法过程中偶然发现了一个错误,这让我很惊讶。这里发生了什么,我一直认为* 仅适用于matrix multiplication。
x = 2;
y = zeros(1,4);
y(1) = 1 *x;
y(2) = x* 1;
y(3) = (x *1);
y(4) = x *1;
y
x *1
将给出以下输出:
y =
2 2 2 1
Error: "x" was previously used as a variable,
conflicting with its use here as the name of a function or command.
See MATLAB Programming, "How MATLAB Recognizes Function Calls That Use Command Syntax" for details.
有人了解这里发生了什么吗?当然我验证了x 不是函数。
【问题讨论】:
-
重启Matlab后能重现吗?
-
@Dan 确实它很容易被复制,我认为答案可以解释它。
-
我明白了,我在 Octave 中尝试过,没有任何问题。
-
我认为一条线索是给出问题的行中
*1的语法着色...
标签: matlab matrix-multiplication