我有一個稀疏的奇偶校驗矩陣(由1和0組成),我需要用PM替換每個非零元素(1):維的平方置換矩陣N(通常是一個大整數N)。在零元素的情況下,這些將被相同維度的平方空矩陣替換。用平方置換子矩陣替換基矩陣中的元素
讓我與你分享其中我的代碼的當前狀態爲:
這是基本基質中,我想通過置換矩陣,以取代其的:
B = zeros((L + ms) * dc, L * dv);
for i = 1 : 1 : L
for j = 1 : 1 : dv
B(dc*(i-1)+1 : dc*(ms+i), j+dv*(i-1)) = ones(dc*(ms+1), 1);
end
end
我一直告訴的方式,用於通過使用「小區」的對象這樣做,這是,則初始化H作爲空單元格的陣列,將包含相應的子矩陣:
H=repmat({{}},size(B));
Mc = 500 % Dimension of the permutation matrix
MP=randi([1,5],Mc,Mc); % Definition of one permutation matrix
% It would be desirable that the permutation matrix is different for each replacement
[H{B==0}]=deal(zeros(Mp));
[H{B==1}]=deal(MP);
但有一個問題即將出現 - 我需要這個矩陣作爲後續函數的一個參數,並且非常希望它是一個簡單的1和0的矩陣(因爲我不是很熟悉'單元'結構...但是,正如你所看到的,Mc是一個如此龐大的整數,我不知道這是否可以被處理。
你有這樣做有尺寸的原始矩陣(L * MS)直流了Mc,L DV了Mc作爲輸出的任何其他方式?
這些都是一些參數可以用來試試:
ms = 2;
Mc = 600; % any number (specially big ones) could serve for this purpose
dc = 3;
dv = 4;
L = 15;
提前爲您的關注非常感謝,願你擁有美好的一天。
謝謝Wolfie!顯然這個解決了。 – MisterTellini