日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2021-03-01 Matlab 多项式的根求解

發(fā)布時間:2025/3/21 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021-03-01 Matlab 多项式的根求解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Matlab 多項式的根求解

分享一下通過多種不同的方法計算多項式的根。

  • 數(shù)值根

  • 使用代換法求根

  • 特定區(qū)間內(nèi)的根

  • 符號根

數(shù)值根

roots?函數(shù)用于計算系數(shù)向量表示的單變量多項式的根。

例如,創(chuàng)建一個向量以表示多項式?x2?x?6,然后計算多項式的根。

?

p = [1 -1 -6];r = roots(p)r = 3 -2

按照慣例,MATLAB以列向量形式返回這些根。

poly?函數(shù)將這些根重新轉(zhuǎn)換為多項式系數(shù)。對向量執(zhí)行運算時,poly?和?roots?為反函數(shù),因此?poly(roots(p))?返回?p(取決于舍入誤差、排序和縮放)。

???????

p2 = poly(r)p2 = 1 -1 -6

對矩陣執(zhí)行運算時,poly?函數(shù)會計算矩陣的特征多項式。特征多項式的根是矩陣的特征值。因此,roots(poly(A))?和?eig(A)?返回相同的答案(取決于舍入誤差、排序和縮放)。

使用代換法求根

通過使用代換法簡化方程來對涉及三角函數(shù)的多項式方程求解。一個變量的生成多項式不再包含任何三角函數(shù)。

例如,計算θ用于對該方程進(jìn)行求解的值

3cos2(θ)?sin(θ)+3=0.

利用?cos2(θ)=1?sin2(θ),完全以正弦函數(shù)的方式表示該方程:

?3sin2(θ)?sin(θ)+6=0.

利用代換法?x=sin(θ),將該方程表示為簡單的多項式方程:

?3x2?x+6=0.

創(chuàng)建一個向量以表示多項式。

?

p = [-3 -1 6];

求多項式的根。

???????

r = roots(p)r = 2×1 -1.5907 1.2573

要撤消代換法,請使用?θ=sin?1(x)。asin?函數(shù)計算反正弦。

???????

theta = asin(r)theta = 2×1 complex -1.5708 + 1.0395i 1.5708 - 0.7028i

驗證?theta?中的元素是否為θ中用來對原始方程求解的值(在舍入誤差內(nèi))。

???????

f = @(Z) 3*cos(Z).^2 - sin(Z) + 3;f(theta)ans = 2×1 complex 1.0e-14 * -0.0888 + 0.0647i 0.2665 + 0.0399i

特定區(qū)間內(nèi)的根

使用?fzero?函數(shù)求多項式在特定區(qū)間內(nèi)的根。在其他使用情況下,如果要繪制多項式并想要知道特定根的值,則這種方法很適用。

例如,創(chuàng)建一個函數(shù)句柄以表示多項式?3x7+4x6+2x5+4x4+x3+5x2。

?

p = @(x) 3*x.^7 + 4*x.^6 + 2*x.^5 + 4*x.^4 + x.^3 + 5*x.^2;

在區(qū)間?[?2,1]?內(nèi)繪制該函數(shù)。

???????

x = -2:0.1:1;plot(x,p(x))ylim([-100 50])grid onhold on

從繪圖中,多項式在?0?和另一個接近?-1.5?的位置各有一個簡單的根。使用?fzero?計算并繪制接近?-1.5?的根。

???????

Z = fzero(p, -1.5)Z = -1.6056plot(Z,p(Z),'r*')

符號根

如果你有 Symbolic Math Toolbox?,則還會提供以符號形式計算多項式的其他選項。一種方式是使用?solve?(Symbolic Math Toolbox)?函數(shù)。

???????

syms xs = solve(x^2-x-6)s = -2 3

另一種方式是使用?factor?(Symbolic Math Toolbox)?函數(shù)計算多項式各項的因子。???????

F = factor(x^2-x-6)F = [ x + 2, x - 3]

?

總結(jié)

以上是生活随笔為你收集整理的2021-03-01 Matlab 多项式的根求解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。