MATLAB: MATLAB: Too many output arguments

variablevariables

I'm fairly new to MATLAB but it seems to me that the following line should be correct:
[x,y,z] = [1,2,3]
Why am I getting a "Too many output arguments." error?
x,y,z are unused variables and I've even declared them each as zeros(1).
Thanks!

Best Answer

[1,2,3] is an expression that produces a single thing : an array. You are trying to assign the single thing to 3 separate things . That's the explanation. If you want fix, use deal or assign the 3 variables separately in 3 separate lines.