对于特定问题,我需要单独使用矩阵乘法来设计矩阵过程的大小调整。给定一个维度为 (a*b,1) 的矩阵A,其中 a 和 b 是整数,我需要找到一种方法将A的大小调整为维度 (a,b),如下所示:
M*A*N = 调整大小(A,a,b)
其中dim(M) = (a,a*b) 和dim(N) = (1,b)。它不必是两个矩阵,但我认为不可能有任何其他方式。
如果不能使用reshape
or vec2mat
,则需要分别对 的每个元素进行操作A
。
没有这样M
的N
,你正在寻找。
认为:
resh_A = M*A*N;
让我们研究一下这个方程的一行。假设一行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 的矩阵)。