MATLAB Answers

0

converting an array of n symbolic variables to a cell array with n elements

Asked by Leo Simon on 12 Jan 2013

Hi

Could somebody tell me a way to convert the symbolic array [ x, y , z ] to the 3 element cell array Cell, where Cell{1} = x, Cell{2} = y, etc? You would think it should be possible to do this with mat2cell, but this converts [ x, y, z ] to the a single element cell variable, i.e., Y = cell2mat([x,y,z]) returns T{1} = [ x,y,z].

Thanks!

  0 Comments

Log in to comment.

2 Answers

Answer by Walter Roberson
on 12 Jan 2013
 Accepted Answer

num2cell() rather than mat2cell()

  1 Comment

Log in to comment.


Answer by Azzi Abdelmalek
on 12 Jan 2013
Edited by Azzi Abdelmalek
on 12 Jan 2013

syms x y z
a=[x y z]
for k=1:numel(a)
A{k}=a(k)
end

  2 Comments

Thanks Azzi, was trying to do it without a loop, I hate loops on principle

Loops are not always evil. They can make for clearer code and are sometimes faster than the vectorized alternative.

Log in to comment.


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today