matlab中已知多項式係數如p,怎樣直接畫

2021-03-03 21:24:17 字數 5959 閱讀 6381

1樓:夢幻初雪

可以利用y0=polyval(p,x0),可求得多項式在x0處的值y0

因此可以實現程式如下:

p=[2 3 4];

x1=2:6;

plot(x1,polyval(p,x1));

關於小數位

回,可以舉下面的例子:

>> sqrt(3)

ans =

1.7321

但檢視答workspace結果實際為:1.732050807568877

如何在matlab中多項式

2樓:4終

1、電腦上開啟軟體。

2、首先評估一下多項式p(x)=x4次冪+7x3次冪-5x+9,這裡可以表示成p = [1 7 0 -5 9];然後使用polyval評估計算。

3、在命令列視窗按回車鍵可以看到語句返回的結果如下圖所示。

4、也可以建立一個方陣x,評估計算多項式p,按回車鍵,返回結果。

5、開始計算多項式的根,通過roots函式求根,具體**如下圖所示。

6、也可以使用poly函式返回多項式係數,它是roots函式的逆,按回車鍵。

7、最後進行多項式的曲線擬合,使用polyfit函式查詢係數,x,y擬合n度多項式,實現擬合資料多項式,按回車鍵返回結果和輸出圖形。

3樓:shine戚七七

1.多項

式的表達

(1) 多項式的向量表達

i)形如 的多項式,可以用向量來表示:

例如:就 可以表示為p=[1 0 -2 3 -4]。

ii)已知多項式的根為 ,則該多項式為:poly(a)

(2) 多項式的形式表達

i) 直接以符號的形式輸出多項式,例如:

>> f1=sym('x^4-2*x^2+3*x-4')

f1 =

x^4-2*x^2+3*x-4

ii) 定義符號變數,再輸出多項式的表示式,例如:

>> syms x

>> f1=x^4-2*x^2+3*x-4

f1 =

x^4-2*x^2+3*x-4

iii)已知多項式的向量表達形式,則多項式為:poly2str(a,』x』),例如:

>> a=[1 0 -2 3 -4]; %多項式的向量表示式

>> f1=poly2str(a,'x') %多項式的形式表示式

f1 =

x^4 - 2 x^2 + 3 x - 4

2.多項式的運算

(1)向量表達的多項式運算

在進行加法與減法運算時,參加運算的多項式必須具有相同的階數,如果階數不同,則低階的多項式必須補零。例如:

>> a=[1 0 2];b=[1 2 3 5 0]; %兩個多項式

>> f1=poly2str(a,'x')

f1 =

x^2 + 2

>> f2=poly2str(b,'x')

f2 =

x^4 + 2 x^3 + 3 x^2 + 5 x

>> c=[0 0 a] + b %求和

c =1 2 4 5 2

>> poly2str(c,'x')

ans =

x^4 + 2 x^3 + 4 x^2 + 5 x + 2

>> d=[0 0 ,a]-b %求差

d =-1 -2 -2 -5 2

>> poly2str(d,'x')

ans =

-1 x^4 - 2 x^3 - 2 x^2 - 5 x + 2

多項式乘法:conv(x,y) 多項式x與y的乘積。例如:

>> e=conv(a,b) %求積

e =1 2 5 9 6 10 0

>> poly2str(e,'x')

ans =

x^6 + 2 x^5 + 5 x^4 + 9 x^3 + 6 x^2 + 10 x

多項式帶餘除法:[q,r]=deconv(x,y) 多項式y被x除,q是商式,r是餘式。

例如:>> [q,r]=deconv(b,a) %帶餘除法

q =1 2 1

r =0 0 0 1 -2

>> q=poly2str(q,'x') %商式

q =x^2 + 2 x + 1

>> r=poly2str(r,'x') %餘式

r =x - 2

多項式的根:roots(x)。例如matlab**:

>> roots(a) %求多項式的根

運算結果為:

ans =

0 + 1.4142i

0 - 1.4142i

多項式的值:polyval(f,x) f(x)的值。例如:

>> polyval(a,-3) %計算f1(-3)

ans =

11多項式函式求導運算:polyder(x) 多項式x的導函式。例如:

>> g=polyder(a) %求多項式f1的導函式

g =2 0

>> poly2str(g,'x')

ans =

2 x(2)符號形式的多項式運算

多項式的加法,減法,乘法,除法。例如:

>> clear

>> syms x

>> f1=x^2-1;f2=x^3+x^2-2; %輸出多項式f1與f2

>> f1+f2 %求和

ans =

2*x^2-3+x^3

>> f2-f1 %求差

ans =

x^3-1

>> f1*f2 %求積

ans =

(x^2-1)*(x^3+x^2-2)

>> f1/f2 %求商

ans =

(x^2-1)/(x^3+x^2-2)

多項式的冪:x^p或power(x,p) 其中x是多項式,p是正整數。

多項式:expand(x) 多項式x。

多項式因式分解:factor(x) 在有理數域上因式分解開多項式x。例如:

>> f3=f1^3 %多項式f1的三次方

f3 =

(x^2-1)^3

>> f4=power(f1,3) %多項式f1的三次方

f4 =

(x^2-1)^3

>> expand(f3) %多項式f3

ans =

x^6-3*x^4+3*x^2-1

>> f5=factor(f2) %將多項式f2因式分解

f5 =

(x-1)*(x^2+2*x+2)

最大公因式:***(x,y) x與y的最大公因式。

[g,c,d]=***(x,y) 其中g=cx+dy.

最小公倍式:lcm(x,y) x與y的最小公倍式。例如:

>> ***(f1,f2) %求多項式f1與f2的最大公因式

ans =

x-1>> [g,c,d]=***(f1,f2) %最大公因式的組合

g =x-1

c =-1-x

d =1

>> lcm(f1,f2) %求多項式f1與f2的最小公倍式

ans =

(x+1)*(x^3+x^2-2)

多項式的根:solve(x) 例如:

>> solve(f2) %求多項式f2的根

ans =

1-1+i

-1-i

多項式函式求導運算:diff(x) 多項式x的導函式。例如:

>> g=diff(f2) %求多項式f2的導函式

g =3*x^2+2*x

4樓:化學工程

^syms s

ps=((s^2+1))^3*(s+5)^2*(s^4+4*s^2+7)

ps1=expand(ps)

結果:ps =

(s^2+1)^3*(s+5)^2*(s^4+4*s^2+7)ps1 =

matlab 多項式 p=[1 2 3 4]表示一個多項式,那麼怎麼用plot函式把這個多項式畫出圖來,x範圍都有,不用管

5樓:匿名使用者

x = -5:0.5:5;

p=[1 2 3 4];

plot(x,polyval(p,x));

6樓:匿名使用者

x=0:.1:10;

p=[1 2 3 4];

y=polyval(p,x);

plot(x,y);

matlab 求多項式函式p(x)=2*x^3+3*x^2+4 的根,求以得到的根向量為根的多項式;

7樓:匿名使用者

原函式(求積分)是計

算不了的,因為不唯一。

以下**為花本身函式及其導函式的方法。其中紅線為原函式,綠線為導函式p=[2 3 0 4];

q1=polyder(p);

x=-3:0.1:3;

plot(x,sum([x'.^3 x'.^2 x' ones(size(x'))]*p',2),'r-',x,sum([ x'.

^2 x' ones(size(x'))]*q1',2),'g-');

用matlab編寫程式求以冪函式作基函式的3次、4次多項式的最小二乘曲線擬合,畫出資料散點圖及擬合曲線圖

8樓:古陽幽月

>> x=[0.0 0.1 0.2 0.3 0.5 0.8 1.0]; %輸入

陣列>> y=[1.0 0.41 0.50 0.61 0.91 2.02 2.46];

>> f1=inline(poly2sym(polyfit(x,y,3))); %polyfit擬合得到係數,poly2sym由係數得到多項式,inline轉換行內函數

>> f2=inline(poly2sym(polyfit(x,y,4)));

>> plot(x,y,'*'); %繪散點圖

>> for i=1:7 %text給各點做座標標註,num2str轉換數值為字元,strcat字串連線

text(x(i),y(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y(i)),')'));

end;

>> xlabel('x'); %給x軸做標註

>> ylabel('y');

>> figure; %開啟新的繪圖視窗

>> y1=f1(x); %用擬合得到的式子求y值,如果想要擬合曲線更光滑,可將x的值更細化

>> y2=f2(x);

>> plot(x,y1,'-r*'); %繪3次擬合曲線圖

>> for i=1:7

text(x(i),y1(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y1(i)),')'));

end;

>> xlabel('x');

>> ylabel('y');

>> figure;

>> plot(x,y2,'-bo'); %繪3次擬合曲線圖

>> for i=1:7

text(x(i),y2(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y2(i)),')'));

end;

>> xlabel('x');

>> ylabel('y');

多項式的係數是什麼

假設多項式的未知數為x 那麼與x相乘的都可以稱作是係數,比如x 2 2x c這裡x 2表示x的2次方法 x 2就是二次項 2x就是一次項 c就是常數項 二次項沒有任何數相乘,那麼就認為二次項係數為1 一次項係數就是2x中的2 多項式中的各項都有各自的係數 常數項除外 而從沒多項式的係數之說!思路分析...

已知多項式4A2 AB B2與多項式 3A2 3MAB 2B2,的和中不含ab項,求m的值

和 4a 2 ab b 2 3a 2 3mab 2b 2 a 2 1 3m ab 3b 2 不含ab則係數為0 1 3m 0 m 1 3 當a 0,b 3分之1時,不含ab項,a 2 ab 3mab 3b 2 a 2 3m 3b 解 4a 2 ab b 2 3a 2 3mab 2b 2 4a 2 a...

什麼叫做多項式係數次數項項數什麼統稱為

幾個單項式的和叫做多項式。在多項式中,每個單項式叫做多項式的專項。其中含字母的各個單項屬式的數字因數,叫每個項的係數 特別要注意係數的性質符號 不含字母的項,叫做常數項。多項式的次數以所含單項式中最高的次數為次數 例如 3x 4x 5,這是一個多項式,它的係數分別是 3 4 它的常數項是 5 次數是...