How to find f(x)*g(x)
Afficher commentaires plus anciens
Hi!
If i have f(x) = 1 + x and g(x) = 1 - x, i want to find h(x) = f(x)*g(x) = (1+x)*(1-x)=1-x.^2 What should i do?
Thanks!
Réponses (2)
Star Strider
le 25 Mar 2015
It looks like you already did it. To code it using anonymous functions:
f = @(x) 1 + x;
g = @(x) 1 - x;
h = @(x) f(x).*g(x);
x = linspace(-10, 10);
figure(1)
plot(x, f(x), x, g(x), x, h(x))
grid
legend('f(x)', 'g(x)', 'h(x)', 'Location', 'south')
11 commentaires
Tran
le 25 Mar 2015
Star Strider
le 25 Mar 2015
My pleasure!
Sorry, I misunderstood.
What you want would be:
h = @(x) 1 - x.^2;
The dot before the (^), i.e. (.^) ,denotes an element-wise operation, so x can be a scalar, vector or matrix and the function will still work.
James Tursa
le 25 Mar 2015
What are you starting with? Strings for f(x) and g(x)? Or what?
James Tursa
le 25 Mar 2015
Modifié(e) : James Tursa
le 25 Mar 2015
What do you want to end up with for h? Another string? Or a symbolic expression? Or a function handle using the dot operators (.* , ./ , .^ )?
Star Strider
le 25 Mar 2015
In that instance, use the Symbolic Math Toolbox.
Tran
le 25 Mar 2015
James Tursa
le 25 Mar 2015
E.g.,
>> f = '1+x'
f =
1+x
>> g = '1-x'
g =
1-x
>> syms x
>> fx = eval(f)
fx =
x + 1
>> gx = eval(g)
gx =
1 - x
>> hx = simplify(fx*gx)
hx =
1 - x^2
Tran
le 25 Mar 2015
Star Strider
le 25 Mar 2015
@James — Thank you!
@Tran — My pleasure!
Tanveer ul haq
le 6 Avr 2021
syms x
f = 1 + x;
g = 1 - x;
h = simplify(f*g)
1 commentaire
John D'Errico
le 6 Avr 2021
Note that this does not actually solve the problem as asked.
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!