10

単純な乗算中にエラーが発生し、かなり驚きました。ここで何が起こっているのか、私は常に行列の乗算*のみを想定していました。

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、関数ではないことを確認しました。

4

2 に答える 2

9

これはx *1、別の行にある場合、MATLABxが関数として解釈し'*1'、引数として渡そうとしますがx、それが変数であることを認識するため、エラーが発生するために発生します。

于 2013-08-13T10:41:04.400 に答える