1樓:匿名使用者
可以利用向量把多項式的係數表示出來就可以了。想轉化成x指數形式可以使用poly2str()命令,具體表達如下:
>> p=[1,3,4];poly2str(p,'x')ans = x^2 + 3 x + 4x是多項式中變數採用的符合
一般不是字元或字串時用單引號括起來
2樓:匿名使用者
在matlab中字串是以陣列的形式儲存的,而字串是需要用單引號的
poly2str是什麼函式
3樓:匿名使用者
polyfit是多項式的擬合函式
bai,dupoly2str是將擬合後的多項式系zhi數(雙精度陣列dao)轉換為字元形式回的函式(就是看著清楚答一些),polyval用於對已經擬合後的多項式係數,當給出某個點時求其函式值。
如 p=[1,3,4];poly2str(p,'x') ans = x^2 + 3 x + 4
在matlab中用poly2str將陣列轉化為多項式後,怎麼帶入具體數值呢?比方說求x=2的值,用subs函式出錯了
4樓:匿名使用者
poly2str()函式是將多項式轉為字串了,而subs()的第一個引數需要為符號變數,所以出錯。改正方法為:直接使用多項式轉換為符號變數的函式poly2sym(),舉例如下:
matlab的問題好難,求助。
5樓:匿名使用者
^a=[3,2,1,2;2,1,3,6;1,3,0,5;2,6,5,4];
%(dao1)內
p=poly(a);
poly2str(p,'x')
ans =
x^容4 - 8 x^3 - 60 x^2 + 24 x + 281%(2)
x=roots(p)
x =12.5019
2.1405
-4.0491
-2.5933
matlab 中p=p'是幹什麼用的
6樓:匿名使用者
p=p'
q=q'
在matlab中是轉置運算,作用就是分別將兩個向量或矩陣轉置。
轉置數學名詞。設a為m×n階矩陣(即m行n列),第i行j列的元素是aij,即:a=(aij)m×n定義a的轉置為這樣一個n×m階矩陣b,滿足b=(aji),即bij=aji(b的第i行第j列元素是a的第j行第i列元素)。
記at=b。直觀來看,將a的所有元素繞著一條從第1行第1列元素出發的右下方45度的射線作鏡面反轉,即得到a的轉置。一個矩陣m,把它的第一行變成第一列,第二行變成第二列,......
,最末一行變為最末一列,從而得到一個新的矩陣n。這一過程稱為矩陣的轉置。
7樓:匿名使用者
p=p'
q=q'
'在matlab中是轉置運算,作用就是分別將兩個向量或矩陣轉置。
8樓:匿名使用者
單引號是矩陣轉置的意思,m*n的陣列元素位置換一下,使之變成n*m的陣列。
(p是運算矩陣)
怎樣有matlab解多項式方程
9樓:信玄居士
用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。
10樓:空**聖卿
其實不是錯誤,你計算的結果s1第二個數其實是不是零,只是一個很小的數,由於顯示精度的問題,就沒有顯示出來結果;當你用字串表示式時候,就用分式把第二個數表示出來了,這個分式除出來也就是s1第二個數的大小。
你可以使用vpa(p,4),可以看到x^2的係數為10-14次方,非常小。
matlab中'代表什麼意思?如p=(1,2:5)'中'是什麼意思?
11樓:匿名使用者
a.'是一般轉置,a'是共軛轉置,顧名思義是對矩陣先做共軛運算,再進行轉置,在a是實數矩陣時,兩者沒有區別,但是當a是復矩陣時,就有區別了,示例如下:
a=[1 2 3;4 5 6]
a =1 2 3
4 5 6
>> a.'
ans =
1 4
2 5
3 6
>> a'
ans =
1 4
2 5
3 6
>> a=[1+i 2+2i 3+3i;4+4i 5+5i 6+6i]
a =1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i
4.0000 + 4.0000i 5.0000 + 5.0000i 6.0000 + 6.0000i
>> a.'
ans =
1.0000 + 1.0000i 4.0000 + 4.0000i
2.0000 + 2.0000i 5.0000 + 5.0000i
3.0000 + 3.0000i 6.0000 + 6.0000i
>> a'
ans =
1.0000 - 1.0000i 4.0000 - 4.0000i
2.0000 - 2.0000i 5.0000 - 5.0000i
3.0000 - 3.0000i 6.0000 - 6.0000i
另外補充一個conj(a)是求a的共軛矩陣,示例如下:
conj(a)
ans =
1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i
4.0000 - 4.0000i 5.0000 - 5.0000i 6.0000 - 6.0000i
12樓:大好河山
代表對矩陣進行轉置,就是將每個位置的下標i和j 進行互換,重新把數值填在新的位置上,例如:a=【1 2 3;4 5 6】,3在第一行第三列,那麼轉置後。3的位置就成了第三行第一列。
13樓:匿名使用者
'代表向量或矩陣的轉置
matlab 中poly2sym意思
14樓:多瑙的萊茵
這個函bai數有兩種用法:du
1、它的返回值是符號多
zhi項式的係數,dao依次輸出由高階到0階的版係數,如下例權所示:syms x;
sym2poly(x^3 +2*x^2- 4*x -9)結果為:
1 2 -4 -5 -9
2、把係陣列轉換成符號多項式,如下例所示:
poly2sym([3 5 4],'x');
ans =
3*x^2+5*x+4
在使用matlab時,遇到不懂的函式可以使用help命令,如help sym2poly。就會出現該函式的意義和用法。
15樓:匿名使用者
poly2sym([2 3 4],'t')ans =
2*t^2+3*t+4
明白了吧,就是把係數陣列轉換為符號多項式。
matlab 多項式 p=[1 2 3 4]表示一個多項式,那麼怎麼用plot函式把這個多項式畫出圖來,x範圍都有,不用管
16樓:匿名使用者
x = -5:0.5:5;
p=[1 2 3 4];
plot(x,polyval(p,x));
limarctanxx2x趨近於0為什
因為這是一個冪指函式,不可以用洛必達。冪指函式一般都是取對數,再判斷是否為0 0或者 比 x 0 lim arctanx x 1 x 2 求極限。詳細步驟和依據。謝謝。怕你看不懂,寫得很詳細。x 0 arctanx 版 x 1 3 x 權3 arctanx x 1 1 3 x 2lim x 0 ar...
積分問題0,x sin t 2t dt 1 2 x 2為什麼等於這個答案
這個可以用等價無窮小 來理解。lim x一 專0 0,x sint 屬2dt t 1 2x 2 lim x一0 sinx 2 x x lim x一0 sinx 2 x 2 1 0,x sin t 2 t dt x 2 2.這裡的人知識有限,很難有回答的 定積分問題,0 e t 2 dt,答案是 2 ...
(x 2)的漸近線是?lim x 0 xe 1 x 2為什是無窮?怎麼推導
lim x 0 xe 1 x 的極限不是 因為當x分別從左邊和右邊趨向0時,y分別趨向負無窮大和正無窮大,方向不一,所以極限不存在,但左右極限都存在 右極限 lim x 0 xe 1 x lim e x 2 x 1 上下除以x lim e x 2 2x 3 x 2 運用洛必達法則,分子分母分別求導 ...