我有一個矩陣A = MxN在Matlab中,其中M = 23和N = 780。矩陣在Matlab中的重組
我想每次都取23行15列(780/15 = 52次)並每次追加。
我希望得到一個矩陣B = GXT,其中G是23 * 52,T是15
我試圖用重塑,whitout任何好的結果。
你是否建議我一個解決方案?
我有一個矩陣A = MxN在Matlab中,其中M = 23和N = 780。矩陣在Matlab中的重組
我想每次都取23行15列(780/15 = 52次)並每次追加。
我希望得到一個矩陣B = GXT,其中G是23 * 52,T是15
我試圖用重塑,whitout任何好的結果。
你是否建議我一個解決方案?
如何使用reshape
和permute
:
B = reshape(permute(reshape(A, [23,15,52]), [1 3 2]), [23*52 15]);
最佳,
這是一個有趣的問題。你有沒有你試過的代碼?我想我會得到你想要做的,所以我會在這裏創建一個代碼。
%Initialize matrix A here with whatever numbers you have.
ResultMat = zeros((23*52),15); TempColsMat = zeros(1,15);
for row = 1 : 23
k = 0;
for col = 1 : 52
TempColsMat = A(row,(k : (k + 15)));
ResultMat = (TempColsMat(:,:),:);
k = k + 15;
end
end
我花了一段時間來弄明白,因爲我沒有MATLAB在我的面前,但是我覺得這個代碼應工作。祝你的項目好運!
@gnovice謝謝,我沒有理解這部分的問題,但它是有道理的。我已經更新了我的答案。 – Ratbert
它工作正常!謝謝。只是一個缺少關閉排列的支架。 – Giovanna
好的,我已經糾正了我的答案。不要忘記接受答案來解決問題。 – Ratbert