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

 採用された回答

Thomas
Thomas 2012 年 3 月 29 日

0 投票

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 件のコメント

Ahmed Hassaan
Ahmed Hassaan 2012 年 3 月 29 日
well, this works if the number of rows is 2 if it exceeds two it will do nothing
Thomas
Thomas 2012 年 3 月 29 日
try
a=[1:10]';
b=reshape(a,2,[])'
b =
1 2
3 4
5 6
7 8
9 10

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Resizing and Reshaping Matrices についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by