Effacer les filtres
Effacer les filtres

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

1 vue (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)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by