对于一个特定的问题,我需要单独使用矩阵的乘法来设计矩阵过程的大小调整。 给定一个矩阵 A 的维度(a * b,1),其中a和b是整数,我需要找到一种方法来将 A 的大小调整为维度(a,b) )像这样:
M * A * N =调整大小(A,a,b)
其中dim(M)=(a,a * b)且dim(N)=(1,b)。它不一定是两个矩阵,但我认为不可能有任何其他方式。
答案 0 :(得分:3)
如果您无法使用reshape
或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的矩阵)。