一、級(jí)數(shù)
- 級(jí)數(shù)是表示函數(shù),研究函數(shù)性質(zhì)以及進(jìn)行數(shù)值計(jì)算的一種工具,特別是可以利用收斂的無(wú)窮級(jí)數(shù)來(lái)逼近一些無(wú)理數(shù),使它們的求值變得更方便。
1. 級(jí)數(shù)符號(hào)求和
- 前面曾討論過(guò)有限級(jí)數(shù)求和的函數(shù)
sum
,sum 處理的級(jí)數(shù)是以一個(gè)向量形式表示的,并且只能是有窮級(jí)數(shù),對(duì)于無(wú)窮級(jí)數(shù)求和,sum 是無(wú)能為力的。 - 求無(wú)窮級(jí)數(shù)的和需要符號(hào)表達(dá)式求和函數(shù)
symsum
,其調(diào)用格式如下:
symsum(s,v,n,m)
- 其中, s s s 表示一個(gè)級(jí)數(shù)的通項(xiàng),是一個(gè)符號(hào)表達(dá)式。 v v v 是求和變量, v v v 省略時(shí)使用系統(tǒng)的默認(rèn)變量。 n n n 和 m m m 是求和的開(kāi)始項(xiàng)和末項(xiàng)。
- 例如,我們求下列定積分。
- (1) s 1 = 1 + 1 4 + 1 9 + 1 16 + ? + 1 n 2 + ? s_{1}=1+\frac{1}{4}+\frac{1}{9}+\frac{1}{16}+\cdots +\frac{1}{n^{2}}+\cdots s1?=1+41?+91?+161?+?+n21?+?
- (2) s 2 = 1 ? 1 2 + 1 3 ? 1 4 + ? + ( ? 1 ) n + 1 1 n + ? s_{2}=1-\frac{1}{2}+\frac{1}{3}-\frac{1}{4}+\cdots +(-1)^{n+1}\frac{1}{n}+\cdots s2?=1?21?+31??41?+?+(?1)n+1n1?+?
- (3) s 3 = x + 2 x 2 + 3 x 3 + ? + n x n + ? s_{3}=x+2x^{2}+3x^{3}+\cdots +nx^{n}+\cdots s3?=x+2x2+3x3+?+nxn+?
- (4) s 4 = 1 + 4 + 9 + 16 + ? + 10000 s_{4}=1+4+9+16+\cdots +10000 s4?=1+4+9+16+?+10000
- 程序如下:
>> n=sym('n');
>> x=sym('x');
>> s1=symsum(1/n^2,n,1,inf) %求s1
s1 =
pi^2/6
>> s2=symsum((-1)^(n+1)/n,1,inf) %求s2。未指定求和變量,默認(rèn)為n
s2 =
log(2)
>> s3=symsum (n*x^n,n,1,inf) %求s3。此處的求和變量n不能省略
s3 =
piecewise(abs(x) < 1, x/(x - 1)^2)
>> s4=symsum(n^2,1,100) %求s4。計(jì)算有限級(jí)數(shù)的和
s4 =
338350
- 其中,s3 的結(jié)果表示 ∣ x ∣ < 1 \left | x \right | < 1 ∣x∣<1 時(shí),級(jí)數(shù)和 s3 = x ( x ? 1 ) 2 =\frac{x}{(x-1)^2} =(x?1)2x?。
2. 函數(shù)的泰勒級(jí)數(shù)
- 泰勒(Taylor)級(jí)數(shù)將一個(gè)任意函數(shù)表示為一個(gè)冪級(jí)數(shù),并且,在許多情況下,只需要取冪級(jí)數(shù)的前有限項(xiàng)來(lái)表示該函數(shù),這對(duì)于大多數(shù)工程應(yīng)用問(wèn)題來(lái)說(shuō),精度已經(jīng)足夠。
- MATLAB 提供了
taylor
函數(shù)將函數(shù)展開(kāi)為冪級(jí)數(shù),其調(diào)用格式如下:
taylor (f,v,a)
taylor (f, v,a, Name, Value)
- 該函數(shù)將函數(shù)
f
f
f 按變量
v
v
v 展開(kāi)為泰勒級(jí)數(shù)
v
v
v 的默認(rèn)值與
symvar
函數(shù)指示的默認(rèn)變量相同。參數(shù) a a a 指定將函數(shù) f f f 在自變量 v = a v=a v=a 處展開(kāi), a a a 的默認(rèn)值是 0。 - 第二種格式用于運(yùn)算時(shí)設(shè)置相關(guān)選項(xiàng),Name 和 Value 成對(duì)使用,Name 為選項(xiàng),Value 為 Name 的值。Name 有以下 3 個(gè)可取字符串。
- (1)
'ExpansionPoint'
:指定展開(kāi)點(diǎn),對(duì)應(yīng)值為標(biāo)量或向量。未設(shè)置時(shí),展開(kāi)點(diǎn)為 0。 - (2)
'Order'
:指定截?cái)嚯A,對(duì)應(yīng)值為一個(gè) 正整數(shù)。未設(shè)置時(shí),截?cái)嚯A為 6,即展開(kāi)式的最高階為 5。 - (3)
'OrderMode'
:指定展開(kāi)式采用絕對(duì)階或相對(duì)階,對(duì)應(yīng)值為 ‘Absolute’(絕對(duì)階)或 ‘Relative’(相對(duì)階)。未設(shè)置時(shí)取 ‘Absolute’。 - 例如,我們求函數(shù)在指定點(diǎn)的泰勒級(jí)數(shù)展開(kāi)式。
- (1) 求 1 ? 2 x + x 3 ? 1 ? 3 x + x 2 3 \sqrt{1-2x+x^{3}}-\sqrt[3]{1-3x+x^{2}} 1?2x+x3??31?3x+x2? 的 5 階泰勒級(jí)數(shù)展開(kāi)式。
- (2) 將 1 ? 2 x + x 3 ? 1 ? 3 x + x 2 3 \sqrt{1-2x+x^{3}}-\sqrt[3]{1-3x+x^{2}} 1?2x+x3??31?3x+x2? 在 x = 1 x=1 x=1 處按 5 次多項(xiàng)式展開(kāi)。
- 程序如下:
>> x=sym('x');
>> f1=sqrt(1-2*x+x^3)-(1-3*x+x^2)^(1/3);
>> f2=(1+x+x^2)/(1-x+x^2);
>> taylor(f1) %求(1)
ans =
(239*x^5)/72 + (119*x^4)/72 + x^3 + x^2/6
>> taylor(f2,x,1,'Order',6) %求(2)。展開(kāi)到x-1的5次冪時(shí)應(yīng)選擇x=6
ans =
2*(x - 1)^3 - 2*(x - 1)^2 - 2*(x - 1)^5 + 3
二、方程符號(hào)求解
- 除了常規(guī)的代數(shù)方程以及常微分方程數(shù)值求解的方法,MATLAB 還提供了
solve
和dsolve
函數(shù),可以用符號(hào)運(yùn)算求解代數(shù)方程和常微分方程。
1. 代數(shù)方程符號(hào)求解
- 代數(shù)方程是指未涉及微積分運(yùn)算的方程,相對(duì)比較簡(jiǎn)單。在 MATLAB 中,求解符號(hào)表達(dá)式表示的代數(shù)方程可由函數(shù)
solve
實(shí)現(xiàn),其調(diào)用格式如下: - ①
solve(s)
:求解符號(hào)表達(dá)式 s s s 的代數(shù)方程,求解變量為默認(rèn)變量。 - ②
solve(s,v)
:求解符號(hào)表達(dá)式 s s s 的代數(shù)方程,求解變量為 v v v。 - ③
solve(s1,s2,...,sn],[v1,v2,...,vn])
:求解符號(hào)表達(dá)式 s 1 , s 2 , … , s n s_{1},s_{2},\dots ,s_{n} s1?,s2?,…,sn? 組成的代數(shù)方程組,求解變量分別為 v 1 , v 2 , … , v n v_{1},v_{2},\dots ,v_{n} v1?,v2?,…,vn?。 - 例如,我們求解下列方程。
- (1) 1 x + 2 + 4 x x 2 ? 4 = 1 + 2 x ? 2 \frac{1}{x+2}+\frac{4x}{x^{2}-4}=1+\frac{2}{x-2} x+21?+x2?44x?=1+x?22?
- (2) x ? x 3 ? 4 x ? 7 3 = 1 x-\sqrt[3]{x^{3}-4x-7}=1 x?3x3?4x?7?=1
- (3) 2 sin ? ( 3 x ? π 4 ) = 1 2\sin (3x-\frac{\pi}{4})=1 2sin(3x?4π?)=1
- (4) x + x e x ? 10 = 0 x+xe^{x}-10=0 x+xex?10=0
- 程序如下:
>> syms x
>> f=1/(x+2)+4*x/(x^2-4)==1+2/(x-2) %定義(1)中函數(shù)
f =
1/(x + 2) + (4*x)/(x^2 - 4) == 2/(x - 2) + 1
>> x=solve(f) %解方程(1)
x =
1
>> syms x
>> f=x-(x^3-4*x-7)^(1/3)==1 %定義(2)中方程
f =
x - (x^3 - 4*x - 7)^(1/3) == 1
>> x=solve(f) %解方程(2)
x =
3
>> syms x
>> f=2*sin(3*x-pi/4)==1 %定義(3)中方程
f =
2*sin(3*x - pi/4) == 1
>> x=solve(f) %解方程(3)
x =
(5*pi)/36
(13*pi)/36
>> syms x
>> f=x+x*exp(x)-10 %定義(4)中方程
f =
x + x*exp(x) - 10
>> x=solve(f,x) %解方程(4)。僅標(biāo)出方程的左端
x =
1.6335061701558463841931651789789
- 例如,我們求解下列方程。
- (1) { 1 x 3 + 1 y 3 = 28 1 x + 1 x = 4 \left\{\begin{matrix}\frac{1}{x^{3}}+\frac{1}{y^{3}}=28 \\\frac{1}{x}+\frac{1}{x}=4 \end{matrix}\right. {x31?+y31?=28x1?+x1?=4?
- (2) { x + y = 98 x 3 + y 3 = 2 \left\{\begin{matrix}x+y=98 \\\sqrt[3]{x}+\sqrt[3]{y}=2 \end{matrix}\right. {x+y=983x?+3y?=2?
- (3) { u 3 + v 3 = 98 u + v = 2 \left\{\begin{matrix}u^{3}+v^{3}=98 \\u+v=2 \end{matrix}\right. {u3+v3=98u+v=2?
- (4) { x 2 + y 2 = 5 2 x 2 ? 3 x y ? 2 y 2 = 0 \left\{\begin{matrix}x^{2}+y^{2}=5 \\2x^{2}-3xy-2y^{2}=0 \end{matrix}\right. {x2+y2=52x2?3xy?2y2=0?
- 程序如下:
>> syms x y
>> f1=1/x^3+1/y^3==28 %定義(1)中方程
f1 =
1/x^3 + 1/y^3 == 28
>> f2=1/x+1/y==4 %定義(1)中方程
f2 =
1/x + 1/y == 4
>> [x,y]=solve([f1,f2],[x,y]) %解方程組(1)
x =
1
1/3
y =
1/3
1
>> syms x y
>> f1=x+y==98 %定義(2)中方程
f1 =
x + y == 98
>> f2=x^(1/3)+y^(1/3)==2 %定義(2)中方程
f2 =
x^(1/3) + y^(1/3) == 2
>> [x,y]=solve([f1,f2],[x,y]) %解方程組(2)
x =
Empty sym: 0-by-1
y =
Empty sym: 0-by-1
- 對(duì)方程組 (2),MATLAB 給出了無(wú)解的結(jié)論,顯然錯(cuò)誤,請(qǐng)看完全與其同構(gòu)的方程組(3)。輸入程序如下:
>> syms u v
>> f1=u^3+v^3==98 %定義(3)中方程
f1 =
u^3 + v^3 == 98
>> f2=u+v==2 %定義(3)中方程
f2 =
u + v == 2
>> [u,v]=solve([f1,f2],[u,v]) %解方程組(3)
u =
5
-3
v =
-3
5
>> syms x y
>> f1=x^2+y^2==5 %定義(4)中方程
f1 =
x^2 + y^2 == 5
>> f2=2*x^2-3*x*y-2*y^2==0 %定義(4)中方程
f2 =
2*x^2 - 3*x*y - 2*y^2 == 0
>> [x,y]=solve([f1,f2],[x,y]) %解方程組(4)
x =
1
-2
2
-1
y =
-2
-1
1
2
- 在應(yīng)用 MATLAB 求解方程組時(shí),應(yīng)充分發(fā)揮其功能。當(dāng) MATLAB 給出無(wú)解或未找到所期望的解時(shí),不要認(rèn)為原方程組就真正無(wú)解了,還需要用其他方法試探著求解。
- 如果知道方程組在某點(diǎn)附近有解,不妨用方程組的數(shù)值求解函數(shù)
fsolve
試探求解,一般能找到所期望的解。
2. 常微分方程符號(hào)求解
- 在 MATLAB 中,用大寫(xiě)字母 D 表示導(dǎo)數(shù)。例如,Dy 表示 y ′ y' y′,D2y 表示 y " y" y",Dy(0)=5 表示 y ′ ( 0 ) = 5 y'(0)=5 y′(0)=5。D3y+D2y+Dy -x+5=0 表示微分方程 y " + y " + y ′ x + 5 = 0 y"+y"+y' x+5=0 y"+y"+y′x+5=0。
- 符號(hào)常微分方程求解可以通過(guò)函數(shù)
dsolve
來(lái)實(shí)現(xiàn),其調(diào)用格式如下:
dsolve(e,c,v)
- 該函數(shù)求解常微分方程 e e e 在初值條件 c c c 下的特解。參數(shù) v v v 描述方程中的自變量,省略時(shí)按默認(rèn)原則處理,若沒(méi)有給出初值條件 c c c,則求方程的通解。
-
dsolve
函數(shù)在求常微分方程組時(shí)的調(diào)用格式如下:
dsolve(e1,e2,…,en,c1,…,cn,v)
- 該函數(shù)求解常微分方程組 e1,…,en 在初值條件 c1,…,cn 下的特解,若不給出初值條件,則求方程組的通解。 v v v 給出求解變量,如果沒(méi)有指定自變量,則采用默認(rèn)自變量 t t t。
- 例如,我們求下列定積分。
- (1) 求 d y d x = x 2 + y 2 2 x 2 \frac{\mathrmn5n3t3z y}{\mathrmn5n3t3z x} =\frac{x^{2}+y^{2}}{2x^{2}} dxdy?=2x2x2+y2? 的通解。
- (2) 求 x 2 d y d x + 2 x y = e x x^{2}\frac{\mathrmn5n3t3z y}{\mathrmn5n3t3z x} +2xy=e^{x} x2dxdy?+2xy=ex 的通解。
- (3) 求 d y d x = x 2 1 + y 2 \frac{\mathrmn5n3t3z y}{\mathrmn5n3t3z x} =\frac{x^{2}}{1+y^{2}} dxdy?=1+y2x2? 的特解, y ( 2 ) = 1 y(2)=1 y(2)=1。
- (4) 求 { d y d x = 4 x ? 2 y d y d x = 2 x ? y \left\{\begin{matrix}\frac{\mathrmn5n3t3z y}{\mathrmn5n3t3z x} =4x-2y \\\frac{\mathrmn5n3t3z y}{\mathrmn5n3t3z x} =2x-y \end{matrix}\right. {dxdy?=4x?2ydxdy?=2x?y? 的通解。
- 程序如下:
>> y=dsolve('Dy-(x^2+y^2)/x^2/2','x') %解(1)。方程的右端為0時(shí)可以不寫(xiě)
y =
-x*(1/(C1 + log(x)/2) - 1)
x
>> y=dsolve('Dy*x^2+2*x*y-exp(x)','x') %解(2)
y =
-(C1 - exp(x))/x^2
>> y=dsolve('Dy-x^2/(1+y^2)','y(2)=1','x') %解(3)
y =
(((x^3/2 - 2)^2 + 1)^(1/2) + x^3/2 - 2)^(1/3) - 1/(((x^3/2 - 2)^2 + 1)^(1/2) + x^3/2 - 2)^(1/3)
>> [x,y]=dsolve('Dx=4*x-2*y','Dy=2*x-y','t') %解方程組(4)
x =
C1/2 + 2*C2*exp(3*t)
y =
C1 + C2*exp(3*t)
- 在 MATLAB 中,
dsolve
函數(shù)一律使用顯式方式表示結(jié)果,有時(shí)解的表達(dá)式很冗長(zhǎng)。必要時(shí)可作化簡(jiǎn)處理。
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-496128.html
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-496128.html
到了這里,關(guān)于MATLAB 之 級(jí)數(shù)計(jì)算和方程符號(hào)求解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!