matlab裡面root函式是什麼意思

時間 2021-10-28 11:32:13

1樓:歐陽宇軒

root() 根的多項式函式。

matlab裡面roots和root

roots:求多項式的根。

例:求p(x)=5x^4+4x^3+3x^2+2x+1的零點。

程式如下:

p=[5 4 3 2 1];     %多項式各項的係數roots(p)                %求零點,也就是多項式的解

執行後得結果:

ans =

0.1378 + 0.6782i

0.1378 - 0.6782i

-0.5378 + 0.3583i

-0.5378 - 0.3583i

root() 根的多項式函式,可以在matlab 2016a執行。

syms b

subs(root(x^2 + b*x, x, 1), b, 5)ans =

root(x^2 + 5*x, x, 1)

2樓:無名小卒

在matlab裡root函式是根的多項式函式。函式root(x, n)最早出現於matlab7(r14)中,用以計算x的n次方根(實數)。因為只給出實數結果,所以當x中包含負數而n不是奇數的時候,會報錯:

>> nthroot(-1, 2)

??? error using ==> nthroot at 32

if x is negative, n must be an odd integer.

一、在matlab中roots函式用來求多項式的根。一個n階多項式可以表示成:

p(x) = anxn + an-1xn-1 + ... + a1x + a0;

二、對於低階的多項式方程p(x)==0,有一些求根公式可用。但是對於高階的多項式方程,問題就複雜得多。concise encyclopedia of mathematics裡的polynomial詞條給出了任意階多項式方程的求根方法,也就是root.

m中使用的方法:

構造矩陣a:

a =-an-1/an -an-2/an ... -a1/an -a0/an

1       0 ...      0     0

0       1 ...      0     0

0       0          1     0

對矩陣a作特徵值分解,得到的特徵值就是多項式方程的根。

三、matlab中使用向量表示多項式。向量的各個元素就是多項式的係數,例如:

p = [4 5 1];

代表了多項式:

p(1)*x^2 + p(2)*x + p(3) == 4x2 + 5x + 1

四、由於matlab是專為矩陣操作設計的語言,所以我們可以很輕鬆地用matlab語言實現上面求根的方法:

>> n = 2;

>> p = [4 5 1];

>> a = [-p(2:end)/p(1); eye(n-1) zeros(n-1, 1)];

>> eig(a)

ans =

-1.0000

-0.2500

matlab裡面 root函式是什麼意思 不是roots() 是root() 沒有s

3樓:歐陽宇軒

root() 根的多項式函式。

matlab裡面roots和root

roots:求多項式的根。

例:求p(x)=5x^4+4x^3+3x^2+2x+1的零點。

程式如下:

p=[5 4 3 2 1];     %多項式各項的係數roots(p)                %求零點,也就是多項式的解

執行後得結果:

ans =

0.1378 + 0.6782i

0.1378 - 0.6782i

-0.5378 + 0.3583i

-0.5378 - 0.3583i

root() 根的多項式函式,可以在matlab 2016a執行。

syms b

subs(root(x^2 + b*x, x, 1), b, 5)ans =

root(x^2 + 5*x, x, 1)

4樓:匿名使用者

root() 根的多項式函式。可以在matlab 2016a執行。

基本語法:

root(p,x)

root(p,x,k)

例項應用:

syms x

p = x^3 + 1;

root(p,x)

ans =

root(x^3 + 1, x, 1)

root(x^3 + 1, x, 2)

root(x^3 + 1, x, 3)

摘錄

matlab解二元方程為什麼會得到結果有z和root的6行矩陣,不應該是一行麼,這結果什麼意思,怎麼改呢?

5樓:匿名使用者

用matlab解二元方程為什麼會得到結果有z和root的6行矩陣?由於用solve求解,不能完全得到解析值時,其結果就用含有z和root的表示式來表示,但軟體提供了一種計算數值解的函式,即vpa(),可以解決這個問題。所以,題主只要將最後兩個命令改寫為

a=vpa(a.a)

b=vpa(a.b)

就能完全解決。

執行結果如下所示。

matlab如何輸入函式,matlab 如何輸入導數

數碼答疑 導數採用diff函式 diff s,v n 其中s為求的函式,v是變數,n為求導次數例如 diff t 6 t 6 720一階導數 diff s 二階導數 diff s,2 diff 函式是matlab的符號函式求導。diff 使用說明 diff s,v 對表示式s中指定符號變數v,計算s...

matlab怎麼寫函式檔案,用matlab如何編寫一個函式檔案,實現 n

matlab的函式檔案是按下列的格式進行編寫的。具體的格式為function 輸出變數 函式名稱 輸入變數 例如 用matlab的程式編輯器,寫函式檔案 m函式eg2 1f.mfunction s f m s 0 for n 1 m s s 1 n n end然後,儲存為eg2 1f.m 然後在指令...

matlab裡怎麼呼叫函式,在matlab中怎麼直接呼叫函式

手機使用者 matlab可以在m檔案函式中定義一個函式和多個子函式,但是需要注意的是子函式只能由同一m檔案中的函式呼叫。如下面的例子 function max,min mypfun x 主函式n length x max mysubfun1 x,n min mysubfun2 x function ...