Natknąłem się na błąd podczas prostego mnożenia, który raczej mnie zaskoczył. Co się tutaj dzieje, zawsze zakładałem, że *
było tylko dla matrix multiplication.Błąd przy użyciu prostego mnożenia macierzy
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
da następujący wynik:
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.
Czy ktoś zrozumieć, co tu się dzieje? Oczywiście zweryfikowałem, że x
nie jest funkcją.
można odtworzyć to po ponownym uruchomieniu Matlab? – Dan
@Dan Rzeczywiście można go łatwo odtworzyć, myślę, że odpowiedzi wyjaśniają to. –
Rozumiem, próbowałem go w Octave i nie miałem żadnych problemów. – Dan