Create function such that for each element of the vector it applies different function
13 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Dawid Wysocki
el 30 de Dic. de 2020
Comentada: Ameer Hamza
el 30 de Dic. de 2020
Let's say I have following functions:
f1 = @(x) a*x(1) + 1;
f2 = @(x) b*x(2) - 1;
where a and b are parameters that I want to specify before. And a vector:
x = [2;4];
I want to create function handler F that will be created before hand (like a delegation in C#) using a and b. I want to use F to calculate next vector values (f1 for first cell, f2 for second) for instance given a = b = 1:
F(x) = [3;3];
I tried creating cell:
F = {f1;f2}
but it gives me an error "Index exceeds the number of array elements (2).".
0 comentarios
Respuesta aceptada
Ameer Hamza
el 30 de Dic. de 2020
Editada: Ameer Hamza
el 30 de Dic. de 2020
Try something like this
a = 1;
b = 1;
x = [2; 4];
f1 = @(x) a*x(1) + 1;
f2 = @(x) b*x(2) - 1;
F = @(x) [f1(x); f2(x)];
Result
>> F(x)
ans =
3
3
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre .NET Events and Delegates in MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!