|
|
Dynamische Variablenübergabe an Funktion |
|
xilforn |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.01.2013, 00:28
Titel: Dynamische Variablenübergabe an Funktion
|
 |
|
 |
|
Hallo zusammen!
Ich habe eine Funktion geschrieben, welche eine beliebige Anzahl (N) Structs übergeben bekommt und aus den darin enthaltenen Daten u.a. Mittelwerte berechnet und Plots erstellt.
(also myfunction(varargin), bzw. myfunction(struct1,struct2, ... , structN))
Nun möchte ich diese Funktion mit einem Skript aufrufen.
Das Skript liest aus einem Ordner alle N mat-Dateien aus, in welchen zuvor die Structs einzeln gespeichert wurden. Die Structs liegen jetzt also in einem Cell-Array vor.
Nun muss diese beliebige Anzahl von Structs meiner o.g. Funktion übergeben werden, und da stehe ich momentan auf dem Schlauch.
Ist es möglich mit dem Skript der Funktion diese beliebige Anzahl von Eingabewerten zu übergeben?
Das gesamte Cell-Array zu übergeben funktioniert jedenfalls nicht.
Ich hoffe, es ist verständlich was ich vorhabe... in der Suchfunktion habe ich jedenfalls nichts gefunden.
Vielen Dank, dass ihr euch die Zeit nehmt
|
|
|
|
|
Thomas84 |

Forum-Meister
|
 |
Beiträge: 546
|
 |
|
 |
Anmeldedatum: 10.02.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.01.2013, 08:41
Titel:
|
 |
Zitat: |
Das gesamte Cell-Array zu übergeben funktioniert jedenfalls nicht.
|
Wieso nicht?
Ansonsten:
viele Grüße
Thomas
|
|
|
xilforn |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.01.2013, 11:35
Titel:
|
 |
Ich vermute, weil ich die einzelnen Structs nicht mit Kommata getrennt eingeben kann.
Ich würde die Funktion ja normalerweise mit
myFunction(struct1, struct2, struct3,...) aufrufen.
Jetzt habe ich eine beliebige Anzahl Structs in einem CellArray vorliegen.
Den Aufruf der Funktion hätte ich mir jetzt so vorgestellt:
myFunction(CellArray{1,:})
Aber dann kommt die Fehlermeldung:
??? Undefined function or method 'myFunction' for input
arguments of type 'struct'.
|
|
|
xilforn |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.01.2013, 13:38
Titel:
|
 |
PS:
Ich bin das Problem umgangen, indem ich meine erste Funktion umgeschrieben habe, sodass sie selbst die Dateien einlesen kann.
Es wäre aber dennoch interessant zu wissen, wie man mein oben beschriebenes Problem lösen könnte
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 30.01.2013, 18:12
Titel:
|
 |
Hallo xilforn,
Zitat: |
??? Undefined function or method 'myFunction' for input
arguments of type 'struct'. |
Die Fehlermeldung sagt, dass die Funktion myFunction nicht im aktuellen Ordner oder einem Ordner aus Matlab's PATH ist. Das hat also mit den Input-Argumenten gar nichts zu tun. Entweder ist es ein Tippfehler im code, im Datei-Namen oder Du hast vergessen den Ordner in den PATH aufzunehmen.
Gruß, Jan
|
|
|
|
|
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.
|
|