|
|
Mehrere Funktionen definieren und verwenden |
|
bonestruca |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 26.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.07.2010, 10:39
Titel: Mehrere Funktionen definieren und verwenden
|
 |
Moin,
hab ein sehr aufwändiges Script zur Messdatenauswertung geschrieben. Zwecks Übersichtlichbarkeit und Erweiterungsoptionen würde ich gerne die Hauptbestandteile als Funktionen definieren.
Wie mache ich das ?
In der .m file kann ich keine Funktionen definieren.
Wenn ich extra eine neue .m file erstelle, kann in dieser nur eine Funktion definiert werden, da diese ja so heißen muss, wie der Dateiname.
Was ich gerne hätte:
Eine Datei mit vielen Funktionendefinition, sozusagen ein "Funktionspool". In der richtigen .m File rufe ich die Funktionen dann nurnoch nach belieben auf.
Aufgrund der Vielzahl an neuen Funktionen ist es keine Option für jeden Funktion eine neue Datei zu erstellen.
Was gibt es für Lösungen ?
Vielen Dank !
|
|
|
|
|
josekamara |

Forum-Meister
|
 |
Beiträge: 529
|
 |
|
 |
Anmeldedatum: 26.04.08
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.07.2010, 10:42
Titel:
|
 |
Hallo,
du kannst den Skript auch als Funtion definieren ohne input/output.
Die Anderen Unterfunktionen kannst als Nested functions definieren oder auch als separate Unterfunktionen.
_________________
Simulation
|
|
|
bonestruca |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 26.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.07.2010, 11:47
Titel:
|
 |
Danke das funktioniert.
Jedoch ist das Fenster meines Workspaces jetzt leer, da die Funktionen wohl ihre eigenen Workspaces nutzen. Wie kann ich auf diese zugreifen ?
Wenn eine Funktion aufgerufen wurde möchte ich danach noch im Workspace mit den Variablen arbeiten.
|
|
|
josekamara |

Forum-Meister
|
 |
Beiträge: 529
|
 |
|
 |
Anmeldedatum: 26.04.08
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.07.2010, 11:52
Titel:
|
 |
Ja dann musst du die Ausgaben auswählen und dann als put der funktion eingeben.
Wenn vielen Outputs sind, dann kannst du sie unter einer Struktur speichern.
_________________
Simulation
|
|
|
bonestruca |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 26.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.07.2010, 12:22
Titel:
|
 |
ich nutze das arbeiten im workspace hauptsächlich um fehler zu erkennen und beheben (falls variablenwerte nicht stimmen oder so). wenn ich jetzt jede variable im script zusätzlich als output definieren muss, kostet mich das sehr viel zeit. mehr zeit als ich durch das definieren von funktionen gewinne. gibt es keine möglichkeit direkt den workspace einer funktion aufzurufen ?
|
|
|
josekamara |

Forum-Meister
|
 |
Beiträge: 529
|
 |
|
 |
Anmeldedatum: 26.04.08
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.07.2010, 12:48
Titel:
|
 |
Jede Unterfunktion hat einen Output. Alle Outputs kannst du unter einer Struktur speichern.
_________________
Simulation
|
|
|
bonestruca |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 26.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.07.2010, 12:56
Titel:
|
 |
Vielen Dank für deine Hilfe,
wie gesagt möchte ich aber nicht jeder Variable extra "speichern" indem ich sie als Output definiere, da der Arbeitsaufwand für das Ergebnis nicht angemessen wäre.
Ich möchte den Workspace einer Funktion sehen, wie funktioniert das ?
|
|
|
josekamara |

Forum-Meister
|
 |
Beiträge: 529
|
 |
|
 |
Anmeldedatum: 26.04.08
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.07.2010, 13:00
Titel:
|
 |
wenn die Berechnung zu ende ist, dann wird nur die Output an den Workspace gezeigt.
Du kannst vielleicht einen Breakpoint oder keyboard innerhalb der Funktion einsetzen. So wird die Berechnung pausiert und die aktuellen Werte anschauen.
_________________
Simulation
|
|
|
Andy386 |

Forum-Guru
|
 |
Beiträge: 485
|
 |
|
 |
Anmeldedatum: 24.06.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.1/8
|
 |
|
|
 |
|
Verfasst am: 02.08.2010, 01:16
Titel:
|
 |
Eigentlich sollte der Debugger immer in den Workspace der Funktion hüpfen... gib mal ein beispiel wo du nix mehr "siehst"
_________________
Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
|
|
|
|
|
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.
|
|