How to find f(x)*g(x)
Mostrar comentarios más antiguos
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!
Respuestas (2)
Star Strider
el 25 de Mzo. de 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 comentarios
Tran
el 25 de Mzo. de 2015
Star Strider
el 25 de Mzo. de 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
el 25 de Mzo. de 2015
What are you starting with? Strings for f(x) and g(x)? Or what?
James Tursa
el 25 de Mzo. de 2015
Editada: James Tursa
el 25 de Mzo. de 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
el 25 de Mzo. de 2015
In that instance, use the Symbolic Math Toolbox.
Tran
el 25 de Mzo. de 2015
James Tursa
el 25 de Mzo. de 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
el 25 de Mzo. de 2015
Star Strider
el 25 de Mzo. de 2015
@James — Thank you!
@Tran — My pleasure!
Tanveer ul haq
el 6 de Abr. de 2021
syms x
f = 1 + x;
g = 1 - x;
h = simplify(f*g)
1 comentario
John D'Errico
el 6 de Abr. de 2021
Note that this does not actually solve the problem as asked.
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!