2

を使用して、行列全体を1つの行に簡単に平坦化できますreshape(M,1,[])。ただし、今回はn行ごとに1行にフラット化したい。したがって、100行から始めてn = 10の場合、最終的に10行になります。

例えば

1 2 3
4 5 6
7 8 9
10 11 12

n=2の場合は

1 2 3 4 5 6
7 8 9 10 11 12

これを行う簡単な方法はありますか?

4

2 に答える 2

4

元の行列がm、であるとすると、次のようになります。

reshape(m',[6 2])'

必要な出力を生成します。他の場合に一般化するのはあなたに任せます。問題が発生した場合は、コメントするか、もう一度投稿してください。

于 2012-04-16T05:05:05.767 に答える
1

これは機能するはずです。

reshape(M',l/n,n)'

ここで、nは定義したものであり、lはMの要素の合計です。

編集:それをワンライナーにしました

于 2012-04-16T05:00:01.787 に答える