|
|
Konstanten in inline-Funktion |
|
Jan-H. |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.11.2008, 19:47
Titel: Konstanten in inline-Funktion
|
 |
Hallo!
Ich bin noch neu hier und gerade erst in Matlab angefangen.
Mein Problem ist, dass ich eine inline-Funktion definieren will, die Konstanten enthält (die ich vorher definiere). Also zum Beispiel:
a=2
b=3
f=inline('ax^2+b') , dies liefert aber natürlich eine Funktion, die von a,b und x abhängt, f(a,b,x) und benötigt drei Inputs.
wenn ich f=inline('ax^2+b','x') eingebe bekomme ich zwar ein f(x), aber Matlab beschwert sich, dass er a und b nicht kennt.
Daran ändert sich nichts, wenn ich a und b global definiere.
Was mache ich falsch?
Danke schonmal im Voraus
Jan
|
|
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 13.11.2008, 21:09
Titel:
|
 |
Hallo,
die musst du dann auch übergeben
denn in Expression werden alle Buchstaben als Variablen gezählt.
Da aber Expression ein String ist, kann man an dieser Stelle etwas tricksen. Und mit sprintf eigenes string zusammenbauen, wo
a, b vorher durch Zahlen ersetzt werden
Wenn du aber a und b änderst,
muss die inline Funktion wieder erzeugt werden
|
|
|
Jan-H. |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.11.2008, 23:34
Titel:
|
 |
|
|
Titus |

Forum-Meister
|
 |
Beiträge: 871
|
 |
|
 |
Anmeldedatum: 19.07.07
|
 |
|
 |
Wohnort: Aachen
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.11.2008, 13:16
Titel:
|
 |
Hallo,
hast Du R14 oder neuer? Dann würde ich anonyme Funktionen empfehlen (die als Ablösung von inline erfunden wurden):
Titus
|
|
|
cowfish |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.04.2010, 20:21
Titel:
|
 |
Das geht auch einfach so:
f=inline('ax^2+b','x','a','b')
zumindest mit Matlab 7.8.0 bzw. R2009a
|
|
|
|
|
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.
|
|