Error while mutliplying functions.

9 visualizzazioni (ultimi 30 giorni)
Daniel Caliari
Daniel Caliari il 21 Gen 2017
Commentato: Daniel Caliari il 21 Gen 2017
I'm trying to multiply these functions:
a = x^2
b = x
Obviously, It should give me: x^3
But when I write the code:
a = @(x)x^2;
b = @(x)x;
c = a*b;
I got the error: Undefined operator '*' for input arguments of type 'function_handle'.
What am I doing wrong?

Risposta accettata

Stephen23
Stephen23 il 21 Gen 2017
Modificato: Stephen23 il 21 Gen 2017
You cannot multiply function handles. You can either:
1) evaluate the function handles for some value/s, and multiply their outputs:
>> a(2).*b(2)
ans =
8
2) create a new function (which can be evaluated later):
>> c = @(x)a(x).*b(x);
>> c(2)
ans =
8
  1 Commento
Daniel Caliari
Daniel Caliari il 21 Gen 2017
I thought It would work same way the symbolic notation and that was my mistake.
Thanks!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by