特定の問題について、行列の乗算のみを使用して行列プロセスのサイズ変更を設計する必要があります。a と b が整数である次元 (a*b,1)のAの行列が与えられた場合、次のようにAを次元 (a,b)にサイズ変更する方法を見つける必要があります。
M*A*N = サイズ変更(A,a,b)
ここで、dim(M) = (a,a*b) および dim(N) = (1,b) です。2 つの行列である必要はありませんが、他の方法では可能ではないと思います。
reshapeまたはを使用できない場合は、 の各要素を個別vec2matに操作する必要があります。A
あなたが探しているMようなものはありません。N
仮定する:
resh_A = M*A*N;
この方程式の 1 行を調べてみましょう。次の 1 行を想定しM*Aます。
temp_i = M(i, :) * A;
M(i, :)であり1 x a*b、であるからAですa*b x 1。temp_iマトリックスになり1 x 1ます。
temp_i * Nこれで、結果のith行 (または) が表示されますresh_A。したがって、次のようresh_Aになります。
(注Nは1 x b)
temp_1 * N % row1
temp_2 * N % row2
temp_3 * N % row3
...
これは一般的な行列ではありません (ランク 1 の行列です)。