|
|
|
Funktionsaufruf innerhalb eines Functions-File |
|
| Bianka_F |

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 24.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.05.2012, 23:23
Titel: Funktionsaufruf innerhalb eines Functions-File
|
 |
| |
 |
|
Hallo Leute,
Ich bin eine absolute Matlab-Anfängerin und verstehe daher leider noch nicht so viel von Matlab. Ich habe gerade folgendes Problem.
Ich habe folgende Hilffunktion als function-File:
Und ich habe noch eine andere Funktion f1 geschrieben, die lediglich einen Wert berechnet ( f= x^3)
So, jetzt will ich aus der Standard Matlab GUI diese Hilfsfunktion aufrufen und dabei dieser Funktion meine andere Funktion f1 übergeben. Wenn ich jetzt folgendes eingabe
dann bekomme ich folgende Fehlermeldung:
"Error using f1 (line 5)
Not enough input arguments."
wenn ich dann input-Argumente für f1 angebe (wobei das eigentlich keinen Sinn macht), bekomme ich auch einen Fehler:
-->"Attempted to access fun(2.2); index must be a positive integer or logical."
Und das verstehe ich jetzt nicht wirklich. Warum muss ich denn überhaupt f1 einen Input geben beim Aufruf von hilf und wieso muss die Zahl ein Integer sein, weil wenn ich einfach f1(2.2) eingebe, dann funktioniert das ja auch.
Also was ich machen will, ist einfach der Hilffunktion hilf die Funktion f1 übergeben, sodass hilf mit f1 rechnen kann.
Kann mir jemand weiterhelfen?
|
|
|
|
|
|
| Sirius3 |

Forum-Guru
|
 |
Beiträge: 441
|
 |
|
 |
Anmeldedatum: 11.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.05.2012, 15:27
Titel:
|
 |
|
|
|
| Bianka_F |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 24.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.05.2012, 00:35
Titel:
|
 |
Hallo,
Ich habe das Tutorial durchgelesen, jedoch weiß ich leider immer noch nicht was ich machen muss, um mein Problem zu lösen. Ich werde es nochmal ganz kurz schildern: Es geht darum, dass ich in einem function-File eine andere Funktion aufrufe. Zum Beispiel soll die Funktions so aussehen (sinnloses Beispiel)
Und jetzt kommt genau mein Problem ins Spiel. Ich will, dass fun eine Variable Funktion ist. Ich will Matlab sagen, dass fun keine Konstante wie x ist, sondern eine Funktion. Und das bekomme ich leider nicht hin, obwohl ich schon einiges probiert habe
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.05.2012, 09:45
Titel:
|
 |
Hallo,
hast du das schon probiert?
Grüße,
Harald
|
|
|
|
| Bianka_F |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 24.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.05.2012, 11:12
Titel:
|
 |
Danke Harald fpr deine Antwort,
Ich habe noch eine Frage zu function-Files. Wie sage ich in einem Function-File einer Funktion, dass sie einen mehrkomponenten Vektor als Argument hat. Zum Beispiel folgende Funktion:
wobei x ein n-dimensionaler Vektor ist und n variabel ist d.h. die Funktion soll je nach Aufruf mit einem 1, 2 oder 3 dimensinalen Vektor arbeiten
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.05.2012, 17:00
Titel:
|
 |
Hallo,
in MATLAB wird nicht unterschieden, ob eine Variable vektorwertig ist oder nicht, oder gar eine Matrix.
Das beste wird sein, innerhalb der Funktion mit SIZE, LENGTH oder NUMEL die Dimensionen des Arguments abzufragen.
Grüße,
Harald
|
|
|
|
|
|
|
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.
|
|