Verfasst am: 29.01.2018, 21:24
Titel: Functions aus einem anderen Skript importieren
Hallo Leute,
Wie kann ich eine function aus einem anderen skript herholen?
Mir geht es darum, dass die function nur eine Formel enthält (z.B a+365=b) und in ein anderes skript importiert wird, wo die Variable a definiert ist und somit b berechnet werden kann. Die Formel ist eigentlich komplexer, wurde jedoch vereinfacht, um das problem besser darzustellen.
neben der Formel enthält eine Funktion immer auch noch eine Deklarationszeile. Diese ist wichtig, damit man die Anzahl der Ein- und Ausgabeargumente weiß.
Danke für die schnelle Antwort. Ich habe noch ein paar fragen. Wie würde die Deklarationszeile bei meinem Beispiel aussehen? Damit hätte ich was zum Orientieren.
Desweiteren frage ich mich warum die Variablen "aneu" und "bneu " heißen, obwohl sie in meinem Beispiel a und b heißen? Mit funName meinst du wohl den Funktionsnamen, oder?
Die letzte Frage wäre, ob dein Code auch auch für Unterfunktionen funktioniert, zum Beispiel wenn ich mehrere Funktionen untereinander habe und diese einzeln importieren möchte.
Desweiteren frage ich mich warum die Variablen "aneu" und "bneu " heißen, obwohl sie in meinem Beispiel a und b heißen?
Um zu verdeutlichen, dass sie im Skript anders heißen können.
Zitat:
Mit funName meinst du wohl den Funktionsnamen, oder?
Genau.
Zitat:
Die letzte Frage wäre, ob dein Code auch auch für Unterfunktionen funktioniert, zum Beispiel wenn ich mehrere Funktionen untereinander habe und diese einzeln importieren möchte.
Ja. Zu beachten ist, dass Unterfunktionen nur innerhalb der Datei aufgerufen werden können.
Vielen Dank erstmal. Wie kann ich erreichen, dass auch Unterfunktionen in andere skripte übertragen werden können bzw, gibt es Alternativen zu Unterfunktionen?
es gibt theoretisch eine Möglichkeit, das zu erzwingen. Das würde ich aber nicht empfehlen.
Stattdessen jede Funktion, die von außen aufrufbar sein soll, in eine eigene Datei. Wenn es zu viele Dateien in einem Verzeichnis werden, dann die Funktionen in ein anderes Verzeichnis schieben und dieses mit
addpath
oder
pathtool
zum MATLAB-Suchpfad hinzufügen.
So weit so gut.
In meinem Skript "Beanspruchungstest.m" sind die Variablen definiert und es S_max_zd, S_max_b, T_max_t und T_max_s berechnet werden.
Es sieht folgendermaßen aus.
Die Problematik ist, dass für alle 4 dasselbe Ergebnis herauskommt, was ja falsch ist. S_max_zd hat das richtige Ergebnis, für die anderen ist es falsch. Ich habe vieles versucht, jedoch klappt es nicht. Übersehe ich etwas? Wäre gut, wenn du mir helfen könntest.
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
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.