|
|
Funktionsaufruf mit Problemen + Fehler bei Rückgabewerten |
|
Schewa |

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 11.07.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2013, 16:17
Titel: Funktionsaufruf mit Problemen + Fehler bei Rückgabewerten
|
 |
|
 |
|
Ein Hallo an die Forengemeinde.
Allgemeine Informationen, die zur Klärung des Problems möglicherweise hilfreich sein können vorweg.
Matlab Version 7.10.0 (R2010a) (Studentenversion)
Nun zu meinem 1 Problem.
Ich habe ein Beispielprogramm von unserem Dozenten bekommen und wollte dieses in Matlab nutzen, um das Programm zu analysieren und zu verstehen.
Der Code lautet wie folgt:
Wenn ich das richtig interpretiere, dann wird die Variable theta hinter dem Namen "mfd_guete_mck" initialisiert?
Sie taucht zumindest in keinem weiteren Stück des Programms mehr auf.
Matlab meldet zurück, das theta nicht definiert wurde.
Ist meine Interpretation falsch? Fehlt noch etwas vom Programm?
Wenn ich theta nochmals händisch innerhalb der Datei festlege, dann bekomme ich die Fehlermeldung, dass die Dimensionen nicht korrekt sind.
Ich würde mich über Aufklärung freuen
Mein zweites Problem:
Ich möchte Messwerte anhand eines Modells gewinnen, das in Matlab simuliert wird.
Das bedeutet, ich simuliere einen Prozess in Matlab, übergebe Startwerte und möchte das Ergebnis auswerten.
Dazu habe ich folgenden Quelltext verwendet:
Hier bekomme ich folgende Fehlermeldung:
??? Error using ==> sim_test
too many output arguments.
Die "sim_test" lautet wie folgt:
Als Rückgabe erwarte ich allerdings eine Zeit und die simulierten Ergebnisse der Messung.
Auch hier existiert ein Beispiel vom Dozenten, bei dem es funktioniert.
Ich hoffe es ist ein wenig klar geworden, wo die Schwierigkeiten liegen.
Vielen Dank für die Antworten und Hilfestellungen.
Bei Misverständnissen oder Schwierigkeiten mit dem Verstehen einfach melden.
Vielen Dank und
Beste Grüße
Schewa
|
|
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 17.04.2013, 16:41
Titel:
|
 |
|
 |
|
Zitat: |
Wenn ich das richtig interpretiere, dann wird die Variable theta hinter dem Namen "mfd_guete_mck" initialisiert?
Sie taucht zumindest in keinem weiteren Stück des Programms mehr auf. |
Das ist ein Übergabeparameter an die Funktion. Das heißt, wenn du die Funktion ohne Übergabeparametern aufrufst, bekommst du so eine Fehlermeldung. Ohne Übergabe wird Theta nicht initialisiert.
Also musst du in Command Window, die Funktion mit Übergabeparameter aufrufen.
z.B Aufruf:
Zitat: |
Wenn ich theta nochmals händisch innerhalb der Datei festlege, dann bekomme ich die Fehlermeldung, dass die Dimensionen nicht korrekt sind.
Ich würde mich über Aufklärung freuen Smile |
Der Theta muss man einen Array mit 3 Werten übergeben wg. Zuweisungen an m, c und k (siehe Code Beispiel von Oben)
Zitat: |
Hier bekomme ich folgende Fehlermeldung:
??? Error using ==> sim_test
too many output arguments.
Als Rückgabe erwarte ich allerdings eine Zeit und die simulierten Ergebnisse der Messung.
Auch hier existiert ein Beispiel vom Dozenten, bei dem es funktioniert.
|
Hallo dazu solltest du die Funktionen MFD_ODE45 und SIM_TEST doch mal vergleichen. Kannst du den Unterschied in der Definition der beiden Funktionen sehen.
Jedenfalls beim SIM_TEST ist nur ein Ausgabeparameter definiert.
Entweder musst du die Funktion entsprechend anpassen, oder du verwendest nur eine Ausgabe.
Lese dazu bitte in der Doku weiter oder such dir ein Tutorial
http://www.mathworks.de/de/help/mat.....e-functions-in-files.html
Zuletzt bearbeitet von denny am 17.04.2013, 16:52, insgesamt einmal bearbeitet
|
|
|
Schewa |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 11.07.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2013, 16:52
Titel:
|
 |
Vielen Dank für die Antwort.
Manchmal sieht man den Wald vor lauter Bäumen nicht.
Nun bin ich weiter!
Vielen dank und beste Grüße
Schewa
|
|
|
|
|
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.
|
|