MATLAB: How to assign parameters at the same time

assignsetvaluevariablevector

I have a vector v = [1,2,3,4,5] and I would like to do the following in a shorter form (in one line), if possible: a = v(1); second = v(2); v3 = v(3); something = v(4); z = v(5); It would be nice to do like this: [a,second,v3,something,z] = … ?

Best Answer

The deal function exists to do just what you want:
[a,second,v3,something,z] = deal(1,2,3,4,5)
another possibility:
v = [1,2,3,4,5];
vc = mat2cell(v, 1, ones(size(v)));
[a,second,v3,something,z] = deal(vc{:})