Octave(/matlab)'s notation for handling multiple return values
[a, b] = f(x)
suggests that the values returned by f(x) are in a sort of row vector and that Octave supports vector unpacking (like Python's tuple-unpacking).
Yet when I put
[a, b] = [1, 2]
I get
error: invalid number of output arguments for constant expression
Does octave support vector-unpacking?
If so, what's the proper notation?
I can't find anything in the documentation
I don't have Octave to test, but in MATLAB you can "unpack" cell arrays.
x = {1 2};
[x1,x2] = x{:}
x1 =
1
x2 =
2
You can convert numerical vector to a cell array as x = num2cell([1 2]);
.
I have to add that this works for MATLAB starting from version 7.0. For earlier version you have to use DEAL function.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With