Multiplying f(x) with f(-x)

3 Ansichten (letzte 30 Tage)
Omar Decevic
Omar Decevic am 23 Apr. 2022
Bearbeitet: Bruno Luong am 23 Apr. 2022
I need to write a code that will multiply function f(x) with f(-x)
Function is always inputed by user in form of an array.
coefficients = input('Enter the coefficients of the function with [ ] around them');
example: If user inputs [1 15 7 2] I would want to mutliply with .
Is there any way for this to be doen without writting a tone of code?
Thank you

Akzeptierte Antwort

VBBV
VBBV am 23 Apr. 2022
Bearbeitet: VBBV am 23 Apr. 2022
cof = [1 15 7 2]
cof = 1×4
1 15 7 2
syms x F(x)
F = (cof(1)*x.^3+cof(2)*x.^2+cof(3)*x+cof(4))
F = 
FF = subs(F,x,-x)
FF = 
Fx = F.*FF % resulting product
Fx = 
Fx = simplify(Fx)
Fx = 

Weitere Antworten (2)

Sam Chak
Sam Chak am 23 Apr. 2022
You can try this and take over from here:
x = -16:0.01:16;
f = @(x) x.^3 + 15*x.^2 + 7*x + 2;
plot(x, f(x).*f(-x), 'linewidth', 1.5)
grid on
xlabel('x')
ylabel('y')
title('f(x)*f(-x)')

Bruno Luong
Bruno Luong am 23 Apr. 2022
Bearbeitet: Bruno Luong am 23 Apr. 2022
For polynomial funtions with coefficients in P, f(x)*f(-x) is a polynomial as well with coefficients Q that can be computed like this
P=[1 15 7 2];
Pm=P.*(-1).^(length(P)-1:-1:0);
Q=conv(P,Pm)
Q = 1×7
-1 0 211 0 11 0 4
hold on; ezplot(@(x)polyval(P,x).*polyval(P,-x)); ezplot(@(x)polyval(Q,x));

Kategorien

Mehr zu Polynomials finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by