Effacer les filtres
Effacer les filtres

Matrix splitting to overcome "array exceeds maximum array size"?

2 vues (au cours des 30 derniers jours)
mfas
mfas le 10 Juil 2015
Commenté : mfas le 10 Juil 2015
I currently have:
N=[x1,y1,z1;x2,y2,z2;...;xn,yn,zn];
K=[kx1,ky1,kz1;kx2,ky2,kz2;...;kxn,kyn,kzn];
S=N*K';
S=[K(:,1),K(:,2),S'];
However due to the size of N and K being 78596x3 and 361201x3 respectively the error message "array exceeds maximum array size" appears when calculating S.
Therefore I want to create a loop to calculate S for sections of K to prevent this. What is the best way to do this.
  2 commentaires
bio lim
bio lim le 10 Juil 2015
What is Sn'?
mfas
mfas le 10 Juil 2015
Sorry, small typo, should be the transpose of S (S').

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 10 Juil 2015
Modifié(e) : Guillaume le 10 Juil 2015
Something like this:
subklength = 100; %whatever you want
transK = K';
for kstart = 1 : subklength : size(k, 1)
S = N * transK(:, kstart : min(end, kstart+subklength-1))'; %S for section of K
%do something with S
end

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by