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求函式的極值
你要求數值解還是解析解?就乍一看,後面那個積分存不存在還難說呢。matlab求函式的極值 x 10 y zeros numel x 1 for i 1 numel x y i sin i 2 cos i 2 endy min min y y max max y x min x find y y mi...
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裡面怎樣求二元符號函式的極小值
計算偏導,然後取零值,可以通過二階導來判斷極值性質。比如y a x1 2 b x2 2 謝謝 by lyqmath clc clear all close all syms a b x1 x2 y a x1 2 b x2 2 dy1 diff y,x1 dy2 diff y,x2 xt1 solve...