reshape a char array
古いコメントを表示
Hi,
I have the following MWE and I don't understand what matlab is producing:
I start with a simple 21-length char array:
ex = 'caggtgcagctggtgcagtct'
that I would like to reshape into a 7-by-3 array. Of course, I could use a loop for this, but I thought that I could just reshape it. However, when I do
reshape(ex, [7,3])
ans =
7×3 char array
'cag'
'agc'
'gca'
'gtg'
'tgt'
'ggc'
'ctt'
This makes no sense to me. I was expecting
'cag'
'gtg'
'cag'
'ctg'
'gtg'
'cag'
'tct'
I also tried reshape(ex, 7,3) and reshape(ex(:), 7, 3) without any luck. What is matlab doing? TIA
1 件のコメント
Guillaume
2020 年 2 月 26 日
Matlab is column major. This means that when you reshape something into something else, the something else is filled column by column, not row by row. So, indeed as David shows, to get the output you want you reshape then transpose.
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!