reshape a matrix or cell array

2 Ansichten (letzte 30 Tage)
Ahmed Hassaan
Ahmed Hassaan am 29 Mär. 2012
Hello , I am sorry for repetition i asked this question and deleted it by wrong and want to discuss it again , first my question is when i ave a matrix like this :
a=[1
2
3
4]
and i want to convert it to this form
a=[1 2
3 4
5 6]
if i do a reshape
B=reshape(a,[],2)
B =
1 3
2 4
this is a simple example my code have this function to implement it
ENDBR = arrayfun( @(IDX) nonzeros(MY_ARRAY(IDX,:)), 1:size(MY_ARRAY,1), 'Uniform', 0);
thanks

Akzeptierte Antwort

Thomas
Thomas am 29 Mär. 2012
do
b=reshape(a,[],2)'
to get
b =
1 2
3 4
correction will work for more than 2 rows:
a=[1:10]';
b=reshape(a,2,[])'
b =
1 2
3 4
5 6
7 8
9 10
  2 Kommentare
Ahmed Hassaan
Ahmed Hassaan am 29 Mär. 2012
well, this works if the number of rows is 2 if it exceeds two it will do nothing
Thomas
Thomas am 29 Mär. 2012
try
a=[1:10]';
b=reshape(a,2,[])'
b =
1 2
3 4
5 6
7 8
9 10

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by