Multiplying two polynomials without using conv() function
8 次查看(过去 30 天)
显示 更早的评论
How can I multiply two polynomials without usiing conv() function?
%two polynomials
a = [13,-13] %a = 13x - 13
b = [-13,9,8] %b = -13x^2 + 9x + 8
I am trying to return the result of the mutiplication like this
m = [-169, 286, -117, -104]
0 个评论
回答(2 个)
Ameer Hamza
2020-6-13
编辑:Ameer Hamza
2020-6-13
"without using conv() function"
syms s
a = [13,-13] %a = 13x - 13
b = [-13,9,8] %b = -13x^2 + 9x + 8
ab = sym2poly(poly2sym(a, s)*poly2sym(b, s))
Result
>> ab
ab =
-169 286 -13 -104
0 个评论
Saleh AlSenaidi
2021-11-26
编辑:Saleh AlSenaidi
2021-11-27
If you don't have symbolic toolbox, you can use this code
a = [13,-13]; %a = 13x - 13
b = [-13,9,8]; %b = -13x^2 + 9x + 8
roots_a =roots(a);
roots_b =roots(b);
ab =a(1,1)*b(1,1)*poly([roots_a.',roots_b.'])
Note: X.' is the non-conjugate transpose of X.
Resut
>> ab
ab =
-169 286 -13 -104
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!