Erron in reshaping a matrix

2 次查看(过去 30 天)
Good morning\evening
I had an error when i reshape a matrix
when i try to reshape this matrix from (6*5) into (1*30)
C =
0 0 0 0 0 0
0 0 0 1 1 1
0 0 1 1 1 1
0 0 1 1 1 1
0 0 1 1 1 1
the result was ans =
Columns 1 through 16
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
Columns 17 through 30
1 1 1 1 0 1 1 1 1 0 1 1 1 1
As you can see that the original matrix has sex zeros form the first row then followed by three zeros from the second row then three ones
But the reshaped marix has 12 zereos insted of 9 zeros
it also has other error if you see that the origenal matrix have 2 zeros in the third raw , but after reshaping it return 1 zero. The same error happen for row 4.

采纳的回答

Titus Edelhofer
Titus Edelhofer 2011-10-9
Hi,
the matrix is indexed columnwise. If you want to have it rowwise indexed you need to transpose:
reshape(C', 1, 30)
Titus

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by