# Multiplying f(x) with f(-x)

조회 수: 5(최근 30일)
Omar Decevic 2022년 4월 23일
편집: Bruno Luong 2022년 4월 23일
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

댓글을 달려면 로그인하십시오.

### 채택된 답변

VBBV 2022년 4월 23일
편집: VBBV 2022년 4월 23일
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 = ##### 댓글 수: 1표시숨기기 없음
Omar Decevic 2022년 4월 23일
Thank you!

댓글을 달려면 로그인하십시오.

### 추가 답변(2개)

Sam Chak 2022년 4월 23일
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)') ##### 댓글 수: 0표시숨기기 이전 댓글 수: -1

댓글을 달려면 로그인하십시오.

Bruno Luong 2022년 4월 23일
편집: Bruno Luong 2022년 4월 23일
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)); 댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!