ich hätte da eine frage: ich hab hier mehrere for-schleifen ineinander, die naturgemäß extrem langsam arbeiten, aber ich schaffs irgendwie nicht das ganze in vektoren umzubauen. hat hier jemand eine idee ob/wie das gehen könnte?
Code:
temp=zeros(N,fbreite/aufl+1,fbreite/aufl+1);
for g=1:N;
for j=1:N;
for h=1:fbreite/aufl+1;
for k=1:fbreite/aufl+1;
temp(g,h,k)=temp(g,h,k)+1/N^2*abc(j,h,k)'*G(j,g)^(-1)*(abc(j,h,k)'*G(j,g)^(-1)*abc(j,h,k))^(-1)*cdf(j,g);
end end end end
Wirft doch erstmal alles aus den Schleifen raus, was Du ausserhalb berechnen kannst:
1/N^2*abc(j,h,k)'
Daraus kann man eine Matrix erstellen -- und das Quote-Zeichen weglassen.
G(j,g)^(-1)
wäre auch gut ausserhalb berechenbar, am besten noch per Division, statt alls Potenz.
Wenn das Programm dann aufgeräumter ist, wird das Vektorisieren leichter fallen.
Gruß, Jan
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.