|
|
M-File bearbeiten unbedingt nötig? |
|
Tio |

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 11.10.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 14:38
Titel: M-File bearbeiten unbedingt nötig?
|
 |
|
 |
|
Hallo zusammen,
Ich habe folgende Funktion in einem M-File:
und folgenden Aufruf:
In x sind 2 Parameter, die ich annähern lassen will. Ti und m sind meine Wertepaare. Also Ti ist xdata und m ydata.
Jetzt hat die Funktion noch einen Parameter T_r, der vom Benutzer eingegeben wird und somit fest ist. Gibt es einen Weg T_r der Funktion mit zu übergeben? x beinhaltet nur die unbekannten Parameter die angenähert werden. Ti und m sind die Wertepaare und müssen die gleiche Länge haben, da kann ich auch nichts ändern.
Die einzige Möglichkeit die ich bis jetzt rausgefunden habe ist die M-File mit der Funktion einzulesen und in die 2. Zeile den Wert für T_r zu schreiben und dann die Berechnung zu machen. Das erscheint mir aber nicht grad sehr glücklich.
Ich habe auch probiert es als anonyme Funktion direkt in mein Programm einzubauen. Aber da habe ich gar kein Weg gefunden das T_r in die Funktion einzubauen, so das es flexibel ist aber nicht mit angenähert wird.
Ich habe die Hilfe schon durchforstet, aber nichts für mein Problem gefunden. Aber vllt. ist meine Unkenntnis einfach zu groß. Ich hoffe es ist verständlich wo mein Problem liegt ^^
|
|
|
|
|
Bijick |

Ehrenmitglied
|
 |
Beiträge: 914
|
 |
|
 |
Anmeldedatum: 18.06.07
|
 |
|
 |
Wohnort: Nürnberg
|
 |
|
 |
Version: R2006b, R2008b
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 14:49
Titel:
|
 |
Hallo Tio,
für Dein Problem gibt es zwei mögliche Lösungen:
1. Definiere in funcforT1 und der aufrufenden Funktion T_r als globale Variable.
2. (meine bevorzugte Methode) Schreibe funcforT1 als "nested function" in die aufrufende Funktion hinein. Das geht nur, wenn funcforT1 nicht aus einem Skript oder dem Command Window aufgerufen wird.
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
Tio |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 11.10.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 15:08
Titel:
|
 |
Danke für die schnelle Antwort. Das mit der "nested function" ist genau perfekt für mich. Doof wenn man die Stichworte nicht kennt nach denen man suchen muss Vielen Dank für deine Hilfe!
|
|
|
Tio |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 11.10.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 15:17
Titel:
|
 |
Da ich jetzt alles als Funktion hab, sehe ich keine Variablen im Workspace mehr. kann man das irgendwie ändern?
|
|
|
Bijick |

Ehrenmitglied
|
 |
Beiträge: 914
|
 |
|
 |
Anmeldedatum: 18.06.07
|
 |
|
 |
Wohnort: Nürnberg
|
 |
|
 |
Version: R2006b, R2008b
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 15:26
Titel:
|
 |
Hallo Tio,
da gibt es wieder mehrere Möglichkeiten. Ich schlage mal vor, die für dich interessanten Variablen am Ende in eine Datei Ergebnisse.mat zu speichern.
Dann kann man die Variablen mit load später vom Command Window aus in den Workspace laden.
Prinzipiell gibt es auch noch assignin. Und die Möglichkeit, alle interessanten Variablen als Rückgabeparameter der äußeren Funktion zu setzen.
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
Tio |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 11.10.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 17:16
Titel:
|
 |
Bijick hat Folgendes geschrieben: |
Hallo Tio,
da gibt es wieder mehrere Möglichkeiten. Ich schlage mal vor, die für dich interessanten Variablen am Ende in eine Datei Ergebnisse.mat zu speichern.
Dann kann man die Variablen mit load später vom Command Window aus in den Workspace laden.
Prinzipiell gibt es auch noch assignin. Und die Möglichkeit, alle interessanten Variablen als Rückgabeparameter der äußeren Funktion zu setzen.
Herzliche Grüße
Bijick |
Ah danke, gut die Möglichkeiten zu kennen. Aber ich hab mich wohl nicht genau ausgedrückt. Ich will die variablen ja nur während des programmierens sehen können um zu schauen ob alles richtig gemacht wird und wo Fehler auftreten.
aber ich werd dann während des schreibens das Ganze einfach als normale M-File lassen und wenn es fertig ist, mache ich es zur Funktion und haue dort noch die andere Funktion rein.
Vielen Dank nochmal für deine Hilfe
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 17:31
Titel:
|
 |
Moin,
du kannst auch es auch im Debug-Modus kontrollieren.
Dazu einfach an die Stelle im Programm an der Seite neben den Zeilennummern auf den Strich klicken. Anschließend kannst du dich Schritt für Schritt durch den Code hangeln und hast vollen Zugriff auf den Workspace der Funktion.
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
|
|
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.
|
|