|
|
Funktion in Funktion aufrufen bei Matlab |
|
kle |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 19.09.13
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.09.2013, 14:53
Titel: Funktion in Funktion aufrufen bei Matlab
|
 |
Hey, ich brauch bitte eure Hilfe!
Ich denke ich sehe den Wald vor lauter Bäumen nicht. Ich habe diese Funktion:
und ich würde gerne für mein Sw die Funktion einsetzen:
psi ist ein Vektor und damit auch Sw ein Vektor.
Das einzige was er mir ausgibt ist:
not enough input arguments.
Ich habe die Variablen alle im Workspace definiert.
Was soll ich tun?
Vielen Dank im Vorraus!
Klee
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 30.09.2013, 15:43
Titel:
|
 |
halli hallo kle.
funktionen muss man auch mit ihren argumenten aufrufen. ob die variablen dabei im workspace stehen ist erstmal egal. funktionen haben sowieso alle ihren eigenen workspace.
du must also
auch so aufrufen und psi swr alpha n und m übergeben.
_________________
richtig Fragen
|
|
|
Mmmartina |

Forum-Meister
|
 |
Beiträge: 745
|
 |
|
 |
Anmeldedatum: 30.10.12
|
 |
|
 |
Wohnort: hier
|
 |
|
 |
Version: R2020a
|
 |
|
|
 |
|
Verfasst am: 30.09.2013, 15:45
Titel:
|
 |
Hallo,
gibt mal
dbstop if error
in deinem Commandwindow ein, damit du siehst, wo genau der Fehler stattfindet.
Dann setzt du mal einen Breakpoint bei
krw = Sw*((1-(1-Sw.^(1/m)).^m).^2);
schaust, was da im Workspace ist. Gehst einen Schritt weiter, und schaust, was der Workspace innerhalb der Funktion Sw anzeigt.
Grundsätzlich hat jede Funktion nur die Variablen zur Verfügung, die du beim Funktionsaufruf mit übergibst.
Somit "kennt" die Funktion Sw keine der Variablen (Psi, Swr, alpha, n, m), da du sie nicht mit übergibst.
Antwort ist also: dein Funktionsaufruf ist lückenhaft, du musst alle Variablen mit übergeben.
Ansonsten finde ich persönlich es ungeschickt, eine Variable genauso zu nennen, wie die Funktion. Denn das kann u.U. zu unpraktischen Fehlern kommen, wenn man was falsch schreibt. (ich würde z.B. Sw in SwFcn umbennenen)
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
kle |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 19.09.13
|
 |
|
 |
Wohnort: Deutschland
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.09.2013, 18:15
Titel:
|
 |
Hey!
danke für die Antworten! War sehr hilfreich!
|
|
|
Verschoben: 30.09.2013, 22:00 Uhr von Jan S Von Allgemeine Diskussion nach Programmierung |
|
|
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.
|
|