|
|
|
Problem mit Argumentübergabe |
|
| Student123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.04.2012, 13:01
Titel: Problem mit Argumentübergabe
|
 |
Hallo,
Ich weis nicht mehr weiter.
Ich habe eine Funktion, die unterschiedlich viele Argumente haben kann,
f=@(x1,x2,...,xn)...... und einen Vektor v=[x1,x2,...,xn], der genaus viele Komponenten hat, wie f Argumente. Nun will ich den Vektor an die Funktion übergeben, aber das klappt nicht.
f( v(1:n) ) - funktioniert nicht
f( v(1), : ,v(n) ) - funktioniert nicht
Da muss es doch irgendwas geben, dass etwa so funktioniert.
MfG Thomas
|
|
|
|
|
|
| Student123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.04.2012, 13:22
Titel:
|
 |
Um das Problem noch etwas deutlicher zu machen ein Beispiel :
zuerst habe ich eine symbolic Funktion
syms x y z
f=3*x+4*y+5*z
Diese übergebe ich an mein .m file
innerhalb des files wird sie dann umgewandelt
fm=matlabFunction(f)
sodass dann fm=@(x,y,z)3*x+4*y+5*z herauskommt
jetzt liefert mir zwar eine Eingabe wie fm(3,4,5) ein Ergebnis aber mit einem Vektor v=[3,4,5] kommt matlab nicht klar.
fm(v) funktioniert also nicht.
Was kann ich tun ?
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 13.04.2012, 14:44
Titel:
|
 |
Hallo,
Das Problem ist, dass ein Vektor letztlich doch etwas anderes ist als eine Liste einzelner Zahlen.
Solange die Anzahl der Variablen bekannt und begrenzt ist:
Wenn die Anzahl der Variablen nicht bekannt oder groß ist, kann man tricksen:
Grüße,
Harald
|
|
|
|
| Student123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.04.2012, 15:37
Titel:
|
 |
Weltklasse !!!!
Welch ein genialer Trick.
Vielen Dank --> Problem gelöst
|
|
|
|
|
|
|
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.
|
|