Multiplying two polynomials without using conv() function
    5 ビュー (過去 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 件のコメント
参考
カテゴリ
				Help Center および File Exchange で Logical についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!