|
|
primitive for-schleife verbessern? |
|
andrej13 |

Forum-Fortgeschrittener
|
 |
Beiträge: 60
|
 |
|
 |
Anmeldedatum: 05.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2011, 10:04
Titel: primitive for-schleife verbessern?
|
 |
Hallo, ich habe folgende Aufgabe:
gegeben sind 4 Punkte im 3D-Raum. diese werden durch linien verbunden und es werden die winkel in den knoten berechnet. Nun kann man auch einen Bereich in xyz-Richtung und eine Schrittweite angeben für die beiden mittleren Punkte.
Dann wird in eine Matrix die xyz koordinaten und die 4 Winkel gespeichert.
Danach will ich die besten koordinaten rausfinden.
Auf diese weise habe ich es gelöst. Sieht mit 6 for-Schleifen nicht sehr schön aus und was noch wichtiger ist, das programm ist sehr langsam. Daher die Frage, ob jemanden was einfällt wie man es eleganter lösen könnte?
|
|
|
|
|
Ajax |

Forum-Century
|
 |
Beiträge: 176
|
 |
|
 |
Anmeldedatum: 09.09.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2011, 11:30
Titel:
|
 |
Hallo,
die Schleifen kann man sicher irgendwie umgehen bzw. verbessern. Aber als erstes würde ich evtl. mal sortieren um das Ganze etwas übersichtlicher zu machen. Du berechnest alle Werte in der innersten Schleife - und damit für jeden Durchgang neu, auch wenn der Wert sich nicht ändert (z.B. weil er nur von der äußersten Schleifenvariablen abhängt). Sortiere als erstes Mal die Werte, die nur von äußeren Schleifenvariablen abhängen in die entsprechende Schleife. Das sollte das ganze schon etwas beschleunigen und zusätzlich kann man so sicher leichter erkennen, welche Schleifen sich wie ersetzen lassen.
mfg
|
|
|
andrej13 |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 60
|
 |
|
 |
Anmeldedatum: 05.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2011, 11:50
Titel:
|
 |
Hallo, danke für die antwort. Dies bring nicht so viel da kann man nur die erste Berechnung rausziehen.
|
|
|
Ajax |

Forum-Century
|
 |
Beiträge: 176
|
 |
|
 |
Anmeldedatum: 09.09.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2011, 12:16
Titel:
|
 |
Ich habe noch ein paar doppelte Berechnungen heraus genommen und Teile vor die Schleifen gezogen.
Der letzte Punkt in der Schleife hat mich jedoch verwirrt: bist du sicher, dass da
stehen soll? Du vergrößerst die Matrix A in jeder Iteration!! Damit muss die Schleife extrem langsam werden! Das solltest du unbedingt ändern bzw. A korrekt zu beginn initialisieren! Ansonsten hast du mit den Schleifen keine Chance.
mfg
|
|
|
andrej13 |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 60
|
 |
|
 |
Anmeldedatum: 05.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2011, 14:20
Titel:
|
 |
hm, ich habe jetzt gleich am anfang eine nxm-nullmatrix angelegt und fülle diese in der schleife, geht tatsächlich schneller. ich dachte das macht keinen unterschied
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|