matlab中向量a所代表的多項式是()求多項式的根是()

時間 2022-03-26 08:45:16

1樓:熊與熊的故事

firstordefault是使用foreach查詢的。因此,find速度會比firstordefault快很多,據測試可能會快一倍以上。結論:

在list上使用find較速度較快,而其它ienemrable型別只能使用firstordefault。

solve('x^3+(x-0.98)^2/(x+1.25)^3-5(x+1/x)')

ans =

[ -1.7693461321142833764999077560120-.77609822541869890980765902824168*i]

[ -1.7693461321142833764999077560120+.77609822541869890980765902824168*i]

[ -.71072373506126561516931198642980-1.5071183220510262352565361912516*i]

[ -.71072373506126561516931198642980+1.5071183220510262352565361912516*i]

[ -.49750012388574717849720797820838]

[ 1.7076398582368451618356474630919]

加法與乘法

有限的單項式之和稱為多項式。不同類的單項式之和表示的多項式,其中係數不為零的單項式的最高次數,稱為此多項式的次數。

多項式的加法,是指多項式中同類項的係數相加,字母保持不變(即合併同類項)。多項式的乘法,是指把一個多項式中的每個單項式與另一個多項式中的每個單項式相乘之後合併同類項。

f上x1,x2,…,xn的多項式全體所成的集合fx,對於多項式的加法和乘法成為一個環,是具有單位元素的整環。

域上的多元多項式也有因式分解惟一性定理。[1]

帶餘除法

若 f(x)和g(x)是f[x]中的兩個多項式,且g(x)不等於0,則在f[x]中有唯一的多項式 q(x)和r(x),滿足ƒ(x)=q(x)g(x)+r(x),其中r(x)的次數小於g(x)的次數。

此時q(x) 稱為g(x)除ƒ(x)的商式,r(x)稱為餘式。當g(x)=x-α時,則r(x)=ƒ(α)稱為餘元,式中的α是f的元素。此時帶餘除法具有形式ƒ(x)=q(x)(x-α)+ƒ(α),稱為餘元定理。

g(x)是ƒ(x)的因式的充分必要條件是g(x)除ƒ(x)所得餘式等於零。

如果g(x)是ƒ(x)的因式,那麼也稱g(x) 能整除ƒ(x),或ƒ(x)能被g(x)整除。特別地,x-α是ƒ(x)的因式的充分必要條件是ƒ(α)=0,這時稱α是ƒ(x)的一個根。

如果d(x)既是ƒ(x)的因式,又是g(x)的因式,那麼稱d(x)是ƒ(x)與g(x)的一個公因式。

如果d(x)是ƒ(x)與g(x)的一個公因式,並且ƒ(x)與g(x)的任一個因式都是d(x)的因式,那麼稱d(x)是ƒ(x)與g(x)的一個最大公因式。如果ƒ(x)=0,那麼g(x)就是ƒ(x)與g(x)的一個最大公因式。當ƒ(x)與g(x)全不為零時,可以應用輾轉相除法來求它們的最大公因式。

2樓:滿目柔光是你

其他的更的話,就他的所向把箱子都還在亮著。

3樓:匿名使用者

(1)2*x^2-1

(2)root([2,0,-1])

4樓:善良的

我也不知道怎麼回事 真不好意思不太瞭解

5樓:匿名使用者

這玩意代表的多項式是2x^2-1啊,根是多少自己應該能求吧?

6樓:百小度

你在玩兒這個向量的過程中,你應該首先去把這個向量,然後先代入這個公式,然後才能夠算出來。

7樓:

他這個應該是二的一次方。

8樓:仇世韻

真響亮嗯所代表的多項式求多項式的根是什麼你們誰會做這一大

9樓:旁穎

嗯,nef可以可以等於200後代表什麼?求一個根根就是3005。

10樓:稀樹草原狼

那有ff的的就二零表示的多項式的求綠,多項式的零根據他們進行括號裡,我們算出來都相關你學的

matlab中怎麼求多項式的根

11樓:668成功者

solve('x^3+(x-0.98)^2/(x+1.25)^3-5(x+1/x)')

ans =

[ -1.7693461321142833764999077560120-.77609822541869890980765902824168*i]

[ -1.7693461321142833764999077560120+.77609822541869890980765902824168*i]

[ -.71072373506126561516931198642980-1.5071183220510262352565361912516*i]

[ -.71072373506126561516931198642980+1.5071183220510262352565361912516*i]

[ -.49750012388574717849720797820838]

[ 1.7076398582368451618356474630919]

12樓:匿名使用者

使用matlab自帶的roots()函式

matlab多項式表示式求根

13樓:lzm_君臨天下

^在matlab中,solve函式主要是用來求解代數方程(多項式方程)的符號解專析解

例如:syms a b c x;

solve('a*x^屬2 + b*x + c')結果:

ans =

-(b + (b^2 - 4*a*c)^(1/2))/(2*a)-(b - (b^2 - 4*a*c)^(1/2))/(2*a)如果以b為變數:

syms a b c x;

solve('a*x^2 + b*x + c','b')結果:

ans =

-(a*x^2 + c)/x

怎樣有matlab解多項式方程

14樓:信玄居士

用matlab解方程的三個例項

1、對於多項式p(x)=x3-6x2-72x-27,求多項式p(x)=0的根,可用多項式求根函式roots(p),其中p為多項式係數向量,即

>>p =

p =1.00 -6.00 -72.00 -27.00

p是多項式的matlab描述方法,我們可用poly2str(p,'x')函式 ,來顯示多項式的形式:

>>px=poly2str(p,'x')

px =x^3 - 6 x^2 - 72 x - 27

多項式的根解法如下:

>> format rat %以有理數顯示

>> r=roots(p)

r =2170/179

-648/113

-769/1980

2、在matlab中,求解用符號表示式表示的代數方程可由函式solve實現,其呼叫格式為:solve(s,v):求解符號表示式s的代數方程,求解變數為v。

例如,求方程(x+2)x=2的解,解法如下:

>> x=solve('(x+2)^x=2','x')

x =.69829942170241042826920133106081

得到符號解,具有預設精度。如果需要指定精度的解,則:

>> x=vpa(x,3)

x =.698

3、使用fzero或fsolve函式 ,可以求解指定位置(如x0)的一個根,格式為:x=fzero(fun ,x0)或x=fsolve(fun,x0)。例如,求方程0.

8x+atan(x)-=0在x0=2附近一個根,解法如下:

>> fu=@(x)0.8*x+atan(x)-pi;

>> x=fzero(fu,2)

x =2.4482

或>> x=fsolve('0.8*x+atan(x)-pi',2)

x =2.4482

________________________________________

當然了,對於該方程也可以用第二種方法求解:

>> x=solve('0.8*x+atan(x)-pi','x')

x =2.4482183943587910343011460497668

對於第一個例子,也可以用第三種方法求解:

>> f=@(x)x^3-6*x^2-72*x-27

f =@(x)x^3-6*x^2-72*x-27

>> x=fzero(f,10)

x =12.1229

對於第二個例子,也可以用第三種方法:

>> fun=@(x)(x+2)^x-2

fun =

@(x)(x+2)^x-2

>> x=fzero(fun,1)

x =0.6983

最近有多人問如何用matlab解方程組的問題,其實在matlab中解方程組還是很方便的,例如,對於代數方程組ax=b(a為係數矩陣 ,非奇異)的求解,matlab中有兩種方法:

(1)x=inv(a)*b — 採用求逆運算解方程組;

(2)x=a\b — 採用左除運算解方程組。

例:x1+2x2=8

2x1+3x2=13

>>a=;b=;

>>x=inv(a)*b

x =2.00

3.00

>>x=a\b

x =2.00

3.00;

即二元一次方程組的解x1和x2分別是2和3。

對於同學問到的用matlab 解多次的方程組,有符號解法,方法是:先解出符號解,然後用vpa(f,n)求出n位有效數字的數值解.具體步驟如下:

第一步:定義變數syms x y z ...;

第二步:求解=solve('eqn1','eqn2',...,'eqnn','var1','var2',...'varn');

第三步:求出n位有效數字的數值解x=vpa(x,n);y=vpa(y,n);z=vpa(z,n);...。

如:解二(多)元二(高)次方程組:

x^2+3*y+1=0

y^2+4*x+1=0

解法如下:

>>syms x y;

>>=solve('x^2+3*y+1=0','y^2+4*x+1=0');

>>x=vpa(x,4);

>>y=vpa(y,4);

結果是:

x =1.635+3.029*i

1.635-3.029*i

-.283

-2.987

y =1.834-3.301*i

1.834+3.301*i

-.3600

-3.307。

matlab中如何把向量帶入函式式中

舉個例子 f x,y x.2 y.2 x 1 2 3 y 2 3 4 z f x,y matlab程式中一個有三個自變數的函式,將自變數表示成向量,給向量賦值後如何帶入求得原函式值? 潘瑋柏 你好,首先抄matlab並不像c,c 那樣需要先定義襲一個bai變數,matlab可以直接 幅值變數。你可d...

在matlab中如何確定向量中元素的最大值,並輸出其序號

孤九涼笙 求向量中最大值元素及其序號的簡單 為 m,i max a 其中a是行 列向量,m是最大值,i是最大值元素的索引即序號。注意 如果a中存在多個並列的最大值,上面的 只會得到第一個最大元素的位置。因此,通用的寫法如下 i find a max a 如果拓展到二維矩陣,寫法也類似 i,j fin...

陣列矩陣向量有什麼區別,MATLAB中矩陣和陣列有什麼區別?

時康震蕭放 4.1陣列運算和矩陣運算 從外觀形狀和資料結構來看,二維陣列和數學中的矩陣沒有區別.但是,矩陣作為一種變換或對映算符的體現,矩陣運算有著明確而嚴格的數學規則.而陣列運算是matlab軟體所定義的規則,其目的是為了資料管理方面,操作簡單,指令形式自然和執行計算有效.所以,在使用matlab...