Function handle parameter < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 19:46 Sa 09.05.2015 | Autor: | DerBaum |
Hallo zusammen,
ich stehe gerade vor dem Problem, dass ich ich in einem function script auf eine parameterabhängige Funktion zugreifen will. Minimalbeispiel:
function [y]=bsp(fhandle,a,x)
y=a*fhandle(x);
end;
Und nun zum Beispiel:
function [y]=test(x,c)
y=c.*x;
end
Wenn ich nun meine Funktion [mm] \it{bsp} [/mm] auf test Anwenden will, habe ich in meinem [mm] \it{bsp}-script [/mm] ja nur einen Eingabewert x, aber bei meiner parameterabh. Funktion test habe ich eben einen Parameter drinnen.
D.h. folgendes funktioniert natürlich nicht:
bsp(@test,10,1)
Ich will Matlab also irgendwie klar machen, dass ich nur test mit einer Variable und einem festen Parameter, z.B. c=1 betrachten will.
Kann mir hier jemand weiter helfen?
Vielen Dank,
Liebe Grüße
DerBaum
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:20 Mo 11.05.2015 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:34 Di 12.05.2015 | Autor: | QCO |
Über dieses Problem bin ich auch schon öfter gestolpert, wenn ich ein Funktionshandle für arrayfun() angeben will.
Ein Ausweg (eher Umweg) ist ein anonymes function handle.
Bezogen auf dein Beispiel wäre das dann
bsp(@(x) test(x,10,1))
|
|
|
|