|
|
|
Matrizen besetzen, negative Indizes. Geht das besser? |
|
| Bernte |

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 28.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.01.2012, 14:52
Titel: Matrizen besetzen, negative Indizes. Geht das besser?
|
 |
Hallo Leute,
ich muss mittels Schleifen Matrizen besetzen. Die einzelnen Eintrage beschreiben die physikalische Wechselwirkung von jedem Element mit jedem. Logischerweise wechselwirkt das vierte Element nicht mit seinem sechsten Nachbarn links von ihm (sprich dem minus ersten Element). Ich frage mich, wie ich das möglichst effizient implementieren kann.
Meine jetzige Lösung: mittels try lasse ich die Versuche, auf negative Indices zuzugreifen, ins Leere laufen. Das sieht in etwa so aus:
Das funktioniert super. Dennoch diese Frage: Ich fühle mich, als hätte ich den try-Befehl missbraucht. Er dient doch eher dazu, unabsichtliche Fehler abzufangen.
Hat meine Methode Nachteile? Kann das bei großen Matrizen rechenaufwendig werden? Gibt es eine elegantere Methode, die ebenfalls ohne zig if-then-Abfragen auskommt?
Danke und Gruß, Bernte
|
|
|
|
|
|
| rainer87 |

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 22.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.01.2012, 16:02
Titel:
|
 |
also beim spontanen testen war es mit einer einfachen if abfrage schneller als mit try also
|
|
|
|
| Bernte |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 28.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.01.2012, 20:14
Titel:
|
 |
Ohja, tatsächlich, viel schneller. Auf die Idee, einfach mal die Zeit zu messen, hätt ich ja auch selbst mal kommen können...
Weiß vielleicht jemand eine alternative Methode, Matlab dazu zu bringen, Zugriffe auf negative Indices einfach zu ignorieren? Das würde meinen Code sehr viel einfacher machen als zig Fallunterscheidungen.
|
|
|
|
| rainer87 |

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 22.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.01.2012, 20:35
Titel:
|
 |
naja du könntest deine indizes vorher berechnen und nur diese in die for schleife geben, ist halt nur die frage wie lange das dauert.
weiß da gerade nur nicht mehr zu sagen. mir würde etwas mehr beispiel daten vielleicht helfen einfallsreicher zu werden
|
|
|
|
| Bernte |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 28.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.01.2012, 20:57
Titel:
|
 |
|
Alles klar, ich muss mir wohl die Mühe machen und von Hand verhindern, dass er nicht außerhalb des Arrays schreibt. Ich dachte, vielleicht gibt es ja einen geschickten Trick den ich nicht kenne. Trotzdem vielen Dank rainer!
|
|
|
|
|
|
|
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.
|
|