1樓: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解多項式方程
2樓:信玄居士
用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。
3樓:空**聖卿
其實不是錯誤,你計算的結果s1第二個數其實是不是零,只是乙個很小的數,由於顯示精度的問題,就沒有顯示出來結果;當你用字串表示式時候,就用分式把第二個數表示出來了,這個分式除出來也就是s1第二個數的大小。
你可以使用vpa(p,4),可以看到x^2的係數為10-14次方,非常小。
什麼是多項式
單項式中的數字因數叫做單項式的係數.乙個單項式中,所有字母的指數的和叫做這個單項式的次數.幾個單項式的和叫做多項式 在多項式中,每個單項式叫做多項式的項.其中不含字母的項叫做常數項.在確定多項式的項時,要特別注意項的符號.單項式 數字與字母的式子 字母不在分母 單獨乙個數或字母也是單項式 回答什麼是...
什麼是多項式
多項式區別於單項式,是由幾個單項式相加或相減連線而成的式子。如a是單項式,b也是單項式,而a b就是多項式了,因為它們有加號相連。若干個單項式的和組成的式子叫做多項式。多項式中每個單項式叫做多項式的項,這些單項式中的最高次數,就是這個多項式的次數。不含字母的項叫做常數項 付費內容限時免費檢視 回答什...
多項式的n次方展開公式,多項式的n次方公式
根據二項式 bai定理,多du項式的n次方展開公式,如zhi下圖dao所示 其中二項 內式定理如下圖所示 擴充套件容資料 二項式定理 英語 binomial theorem 又稱牛頓二項式定理,由艾薩克 牛頓於1664年 1665年間提出。該定理給出兩個數之和的整數次冪諸如為類似項之和的恒等式。二項...