Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

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

Asked by Leo Simon

Leo Simon (view profile)

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

Leo Simon

Leo Simon (view profile)

Products

No products are associated with this question.

2 Answers

Answer by Walter Roberson

Walter Roberson (view profile)

on 12 Jan 2013
Accepted answer

num2cell() rather than mat2cell()

1 Comment

Leo Simon

Leo Simon (view profile)

on 12 Jan 2013

Thanks, can't believe I didn't try this.

Walter Roberson

Walter Roberson (view profile)

Answer by Azzi Abdelmalek

Azzi Abdelmalek (view profile)

on 12 Jan 2013
Edited by Azzi Abdelmalek

Azzi Abdelmalek (view profile)

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

2 Comments

Leo Simon

Leo Simon (view profile)

on 12 Jan 2013

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

José-Luis

José-Luis (view profile)

on 12 Jan 2013

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

Azzi Abdelmalek

Azzi Abdelmalek (view profile)

Contact us