numeric array to cell array

Hi
I want to convert the following numeric array to cell array of cells having two elements each. Any help?
stress = [0 20 -160 150 -40 330 -40 170 -20 180]
what is required is:
cycles = [[0 20] [-160 150] [-40 330] [-40 170] [-20 180]]

2 Comments

Do you mean:
cycles = {[0 20], [-160 150], [-40 330], [-40 170], [-20 180]}
?
yes

Sign in to comment.

 Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 12 Jun 2013
Edited: Azzi Abdelmalek on 12 Jun 2013
cycles=reshape(stress,2,[])
%you can also create cell array
out=arrayfun(@(x) cycles(:,x),1:size(cycles,2),'un',0)

More Answers (1)

Jan
Jan on 13 Jun 2013
Edited: Jan on 13 Jun 2013
stress = [0 20 -160 150 -40 330 -40 170 -20 180];
C = num2cell(reshape(stress, 2, []).', 2);

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!