Hi diri,
ich würde folgende Verbesserungen vorschlagen:
% Testdaten erzeugen (einfacher für uns zu testen)
S13 = rand(13001, 4117);
S14 = rand(13001, 4117);
S15 = rand(13001, 4117);
% Ergebnismatrix vordefinieren
v_res_i = zeros(13001, 4117);
for i = 1:13001
for j = 1:4117
v_res_i(i,j) = sqrt((S13(i,j))^2 + (S14(i,j))^2 + (S15(i,j))^2);
end
end
Wenn du weißt, wie groß deine Matrix sein wird spart es dir unheimlich viel Rechenzeit einfach eine null-Matrix dieser Größe zu definieren und diese dann innerhalb der Schleife zu befüllen.
Ich habe die Punktquadrierung (.^2) mal entfernt, da du in der Schleife immer einen expliziten Punkt in der Matrix ansteuerst. Operationen mit einem Punkt machen es leichter mit Matritzen zu arbeiten.
Entweder quadrierst du also vorher die gesamte Matrix mit S13 = S13.^2
oder du machst es in der Schleife ganz normal.
Hoffe, ich konnte dir damit das Skripten etwas näher führen.
Schönen Gruß
↧