Matriks paling sederhana yang dapat Anda bentuk ulang adalah 2x2, namun Anda pasti mengerti maksudnya. (Maaf, StackOverflow tidak mengizinkan saya menyisipkan gambar atau LaTex, jadi, Anda harus sedikit menderita untuk membaca ini.)
Kita mulai dengan A=[[a,b],[c,d]]
dan kita ingin membentuknya kembali menjadi array 1x4: [[a,b,c,d]]
. Anda dapat melakukannya secara aljabar:
[[1,0]] * A * [[1,0,0,0],[0,0,0,0]] +
[[1,0]] * A * [[0,0,0,0],[0,1,0,0]] +
[[0,1]] * A * [[0,0,1,0],[0,0,0,0]] +
[[0,1]] * A * [[0,0,0,0],[0,0,0,1]]
*
menunjukkan perkalian matriks.
Setiap suku merupakan hasil kali matriks konformabel: 1x2 * 2x2 * 2x4
yang menghasilkan hasil bentuk 1x4
.
Suku pertama menghasilkan [[a,0,0,0]]
, suku ke-2 [[0,b,0,0]]
, suku ke-3 [[0,0,c,0]]
, dan suku ke-4 [[0,0,0,d]]
.
Menggeneralisasikannya ke bentuk A nxm
yang sewenang-wenang seharusnya tidak terlalu sulit. Anda memerlukan n*m
suku, bukan 4, karena matriks Anda yang telah diubah bentuknya akan menjadi 1x(n*m)
. Setiap suku harus selaras, jadi, Anda memerlukan matriks berbentuk 1xn
untuk menentukan A dari kiri, dan matriks berbentuk mx(n*m)
untuk menentukan A dari kanan.
Jika Anda perlu membentuk kembali bentuk A nxm
menjadi bentuk kxl
, di mana k*l=n*m
, Anda perlu menekan A dari kiri dengan matriks kxn
dan dari kanan dengan matriks mx(k*l)
.
person
gc1o1
schedule
21.04.2021
reshape
(MATLAB)? - person SecretAgentMan   schedule 08.04.2019