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

6 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Guillaume
Guillaume il 10 Lug 2015
Modificato: Guillaume il 10 Lug 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

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by