Преобразовать в массив ячеек.
pCell = num2cell(p);
[x,y,z] = pCell{:};
Что ж, оказалось, что это невозможно сделать в одну строку, поэтому я написал функцию.
function varargout = deal_array(arr)
s = numel(arr);
n = nargout;
if n > s
error('Insufficient number of elements in array!');
elseif n == 0
return;
end
for i = 1:n
varargout(i) = {arr(i)}; %#ok<AGROW>
end
end
Вы можете использовать сделку
:
[xyz] = сделка (p (1), p (2), p (3))