對於特定問題,我需要設計使用矩陣乘法單獨調整矩陣過程的大小。 鑑於一個維度的矩陣(A * B,1),其中a和b是整數,我需要找到一種方法來調整一個到尺寸(A,B)是這樣的:MATLAB - 使用矩陣乘法而不是RESIZE命令調整大小矩陣
中號* A * N = resize(A,a,b)其中dim(M)=(a,a * b)和dim(N)=(1,b)。它不一定是兩個矩陣,但我認爲這是不可能的。
對於特定問題,我需要設計使用矩陣乘法單獨調整矩陣過程的大小。 鑑於一個維度的矩陣(A * B,1),其中a和b是整數,我需要找到一種方法來調整一個到尺寸(A,B)是這樣的:MATLAB - 使用矩陣乘法而不是RESIZE命令調整大小矩陣
中號* A * N = resize(A,a,b)其中dim(M)=(a,a * b)和dim(N)=(1,b)。它不一定是兩個矩陣,但我認爲這是不可能的。
如果您不能使用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
應該導致您的結果(或resh_A
)的ith
行。 因此resh_A
看起來像:
(注N
是1 x b
)
temp_1 * N % row1
temp_2 * N % row2
temp_3 * N % row3
...
這不是一般的矩陣(它與秩1矩陣)。
在Matlab的說法中,列和行向量,標量和空矩陣<= 2)都是「矩陣」,例如,ismatrix(1),ismatrix([1 2 3]),ismatrix([1; 2; 3])和ismatrix([])。 N-D數組不是。 – horchler
我不確定這是完全正確的。接受你的答案,因爲我顯然沒有。無論如何,謝謝。 – SPRajagopal
我試圖讓它更清楚。希望能幫助到你。 @horchler:我更正了符號。謝謝。 – pm89
你是說你不能使用'reshape'?這是一個奇怪的限制。爲什麼不? – shoelzer
shoelzer,這是一個優化問題。所以我需要以某種方式將此線性化。所以我需要將東西表示爲矢量和矩陣,並進行一些操作。 – SPRajagopal
聽起來像一個[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)給我...你可以發佈你想要優化和怎麼樣優化? –