poly2str p,x 中的x為什麼用單引號引起來?什麼情況下用單引號

2021-05-23 10:42:04 字數 6037 閱讀 7586

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 運用洛必達法則,分子分母分別求導 ...