特定の問題について、行列の乗算のみを使用して行列プロセスのサイズ変更を設計する必要があります。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 の行列です)。