311
CHƯƠNG 6: ĐẠO HÀM VÀ TÍCH PHÂN SỐ
§1.TÍNHĐẠOHÀMBẬCNHẤTBẰNGPHƯƠNGPHÁPROMBERG
ĐạohàmtheophươngphápRomberglàmộtphươngphápngoạisuy
đểxácđịnhđạohàmvớimộtđộchínhxáccao.TaxétkhaitriểnTaylorcủa
hàm
f(x)tại(x+h)và(x‐h):
⋅⋅⋅++
′′′
+
′′
+
′
+=+ )x(f
!4
h
)x(f
!3
h
)x(f
2
h
)x(fh)x(f)hx(f
)4(
432
(1)
⋅⋅⋅−+
′′′
−
(3)
Nhưvậyrútra:
⋅⋅⋅−−
′′′
−
−−+
=
′
)x(f
!5
h
)x(f
!3
h
h2
)hx(
f
)hx(
f
)x(f
)5(
42
(4)
haytacóthểviếtlại:
[]
⋅⋅⋅++++−−+=
′
6
6
4
2
2
hahaha)x(
f
)h()1,1(D
(7)
⋅⋅⋅−−−−
′
=
⎟
⎠
⎞
⎜
⎝
⎛
ϕ=
64
h
a
16
h
a
4
h
a)x(f
2
h
)1,2(D
6
6
−=
⎟
⎠
⎞
⎜
⎝
⎛
ϕ−ϕ
6
6
4
4
ha
16
15
ha
4
3
)x(f3
2
h
4)h( (10)
Chiahaivếcủa(10)cho‐3tanhậnđược:
⋅⋅⋅+++
′
=
−
=
6
6
⎟
⎠
⎞
⎜
⎝
⎛
+
′
=
6
6
4
4
2
h
a
16
5
2
h
a
4
1
)x(f)2,3(D (12)
vàkhửsốhạngcóh
4
bằngcáchtạora:
6
6
D(1,1)
D(2,1) D(2,2)
D(3,1) D(3,2) D(3,3)
D(4,1)
D(4,2) D(4,3) D(4,4)
............
trongđómỗigiátrịsaulàgiátrịngoạisuycủagiátrịtrướcđóởhàngtrên.
Với2
≤j≤i≤ntacó:
14
)1j,1i(D)1j,i(D4
)j,i(D
1j
1j
−
−−−−
=
−
−
vàgiátrịkhởiđầulà:
[]
)hx(f)hx(f
h2
1
)h()j,i(D
ii
i
Đểtínhđạohàmcủahàmchotrướctadùngchươngtrình
ctdiffromberg.m:
clearall,clc
formatlong;
f=inline(ʹx^2+2*x*exp(x)+1ʹ);
x=2;
h=0.5;
tol=1e‐6;
maxiter=10;
df=diffromberg(f,x,h,maxiter,tol)
§2.TÍNHĐẠOHÀMBẬCCAO
TaxétkhaitriểnTaylorcủahàmf(x):
⋅⋅⋅++
′′′
+
′′
+
′
+=+ )x(f
!4
h
)x(f
!3
h
)x(f
= + + +
L
(3)
Nhưvậynếutatínhđạohàmcấp2theo(3)thìsaisốcỡh
2
.Dùngphương
phápngoạisuyRichadsontacó:
314
2(2) (2)
c2 c2
22
4
(5)
2D (x,h) D (x,2h)
f(x 2 h) 16f(x h) 30f(x) 16f(x h) f(x 2h)
21 12h
h
f (x) f (x)
90
−
−+ + +− + +− −
=
−
′′
= − +L
Dovậy:
(2)
Trongđó:
f
2=f(x+2h)
f
1=f(x+h)
f
0=f(x)
f
‐1=f(x‐h)
f
‐2=f(x‐2h)
ViếtrõcáckhaitriểnTaylorcủaf
2,f1,f0,f‐1,f‐2tacó:
22
20 0 0 10 0 0
(2)
c2
2
22
00 1 0 0 0 2 0 0 0
(2h) h
cf 2hf f cf hf f
2! 2!
1
D(x,h)
h
h(2h)
c f c f hf f c f 2hf f
2! 2!
(c c c c c )f h( 2c c c 2c )f
1
D(x,h)
2112
hccc cf
h
222 2
−− − −
−−
′
+++ + + ++−
⎧⎫
⎪⎪
=
⎛⎞
⎨⎬
′′
+++++
⎜⎟
⎪⎪
⎝⎠
⎩⎭
L
(6)
Taphảigiảihệphươngtrìnhsauđểtìmcáchệsốc
i.
2
1
22
=
⎢
⎥⎢⎥
⎢⎥
−−
⎢
⎥⎢⎥
⎢⎥
⎢
⎥⎢⎥
⎢⎥
−
⎣⎦
⎣
⎦⎣⎦
(7)
315
Kếtquảtacóc2=‐1/12,c1=4/3,c0=‐5/2,c‐1=4/3c‐2=‐1/12.Dovậy:
(2)
210 12
c2
2
f16f30f16f f
D(x,h)
12h
−
−
−+ − + −
tmp=tmp*h;
c=difapx(i,[‐ii]);%hesocuadaoham
dix=c*feval(f,xo+[‐i:i]*h)ʹ;
T(i+1)=dix/tmp;%daoham
end
df=T(n+1);
h=0.005;
tmp=1;
fori=1:N
tmp=tmp*h;
c=difapx(i,[‐ii]);
%hesocuadaoham
dix=c*feval(f,xo+[‐i:i]*h)ʹ;%/h^i;%daoham
T(i+1)=dix/tmp;%hesocuachuoiTaylor
end
df=T(n+1);
316
Đểtínhđạohàmcủahàmtadùngchươngtrìnhctdiffn.m
clearall,clc
f=inline(ʹx.^2+atan(x)ʹ,ʹxʹ);
df=diffn(f,5,0)
§3.TÍNHĐẠOHÀMBẰNGPHƯƠNGPHÁPNỘISUY
Giảsửtacóhàmchodướidạngbảng:
y=sin(x);
x=[1.51.92.12.63.2];
y=[1.06281.39611.54321.84232.0397];
317
n=2;
df=diffinterp(x,y,n,x0);
§4.TÍCHPHÂNXÁCĐỊNH
Mụcđíchcủatínhtíchphânxácđịnh,còngọilàcầuphương,làđánh
giáđịnhlượngbiểuthức:
∫
=
b
a
dx)x(fJ
trongđó f(x) là hàm liên tục trong khoảng
[a,b]vàcóthểbiểudiễnbởiđườngcongy=
f(x). Như vậy tích phân xácđịnh J là diện
tíchS
ABba,giớihạnbởiđườngcongf(x),trục
hoành,cácđườngthẳngx=avàx=b.Tích
phânnàythườngđượctínhgầnđúngbằng
côngthức:
n
ii
i1
J
Af(x)
a
b
A
B
y
x
318
x1,x2, ,xn.Sauđótaxấpxỉhàmf(x)bằngđa
thứcbậc(n‐1)điqua các nút.Đathứcnội
suyLagrangecủaf(x)códạng:
n
n1 i i
i1
P ( x) f(x )L (x)
−
=
=
∑
Nhưvậy,xấpxỉtíchphân(1)là:
n
bb b
n
n‐1iiii
i1
aa a
i1
J
1
2
21
xx xa
L(x)
xx h
−−
==
−
b
2
1
a
11h
A(xb)dx(ba)
h2h2
=− − = − =
∫
b
2
2
a
11h
A(xa)dx(ba)
n
i1 2 3 n1 n
i1
h
J
J f(x ) 2f(x ) 2f(x ) 2f(x ) 2f(x )
2
−
=
⎡⎤
== + + ++ +
⎢⎥
⎣⎦
∑
L
(7)
TagọiH=b‐a.Nếutíchphântrênđượctínhchỉbởikhìnhthangthì:
k=1:
1
H
Jf(a)f(b)
2
⎡⎤
=+
⎢⎥
⎣⎦
(8)
x1
x2
x3
⎛⎞⎛⎞⎛ ⎞
⎢⎥
= + ++ ++ + +
⎜⎟⎜⎟⎜ ⎟
⎝⎠⎝⎠⎝ ⎠
⎢⎥
⎣⎦
⎡⎤
1
⎛⎞⎛ ⎞
⎢⎥
= + + + +
⎜⎟⎜ ⎟
2
⎝⎠⎝ ⎠
⎢⎥
⎣⎦
Tổngquát,vớik>1tacó:
k1
2
kk1
k1 k1
i1
1H (2i1)H
J
Jfa k2,3,
22 2
−
sum=0.0;
fori=1:n
fx=feval(f,x);
sum=sum+fx;
x=x+h;
end
320
J=(J1+h*sum)/2;
ifabs(J1‐J)<tol
break;
end
J1=J;
end
Đểtínhtíchphântadùngchươngtrìnhcttrapezoid.m
clearall,clc
f=inline(ʹ(x^3+1)*sin(x)ʹ,ʹxʹ);
a=0;
b=1;
maxiter=50;
tol=1e‐6;
J=trapezoid(f,a,b,maxiter,tol)3.PhươngphápSimpson:Khin=3tacócôngthức
Simpson.Qua3điểm,hàmf(x)đượcxấpxỉbằngmột
hàmbậchai(mộtparabol).Đểtínhtíchphântathay
b2
2
2000
a0
t2
232
2
00 0
t0
2
00 0
012
t(t 1)
P(x)dx h y t y y dt
2!
t1tt
hyt y y
2232
18 4
h2y 2y y
23 2
hhab
y 4 y y f(a) 4f f( b)
332
=
=
−
⎡⎤
=+∆+ ∆
⎢⎥
()()
b
013 2n1 24 2n22n
a
h
f(x)dx y 4 y y y 2 y y y y
3
−−
⎡⎤
= + + +⋅⋅⋅+ + + +⋅⋅⋅+ +
⎢⎥
⎣⎦
∫
(13)
Côngthức(13)đòihỏinlàsốchẵn.
Taxâydựnghàm
simpson()đểthựchiệnthuậttoántrên
functions=simpson(f,a,b,n)
%nsokhoangchia
%neufchuatrongmotfiledungkihieu@degoi
%s=simpson(@f,a,b,n).
%neuflahaminline
%s=simpson(f,a,b,n).
ifmod(n,2)~=0
n=n
+1
end
h=(b‐a)/(2*n);
đ
oạnhàmtươngđốibằngphẳng.Ngượclại
phươngphápcầuphươngthíchnghichiacácđoạnkhôngđều:ngắntrêncác
đoạnhàmthayđổinhiềuvàdàitrêncácđoạnthayđổiítvà
sẽcó saisốnhỏ
khisốđoạnchianhỏ.
Thuậttoáncầuphươngthíchnghibắtđầubằngviệctínhtíchphânint
đốiv ớitoànbộđoạn[a,b]vàtổngtíchphânint12=int1+
int2trên2đoạn
bằngnhau.Dựatrênintvàint12tatínhsaisố.Nếuchưađạtđộchínhxác,ta
chiađôimỗiđoạnvàlặplạiquátrìnhtính.Tadùnghàm
adaptivesimpson()
đểthựchiệnthuậttoánnày:
functionint=adaptivesimpson(f,a,b,tol)
mid=(b+a)/2.0;
int=simpsonapprox(f,a,b);
int12=simpsonapprox(f,a,mid)+simpsonapprox(f,mid,b);
if(abs(int‐int12)<15.0*tol)
int=int12;
else
leftint=adaptivesimpson(f,a,mid,tol/2);
rightint=adaptivesimpson(f,mid,b,tol/2);
323
int=leftint+rightint;
end
functionint=simpsonapprox(f,a,b)
1,1=J1(mộthìnhthang)vàR2,1=J2(hai
hìnthang).SauđótínhR
2,2bằngcáchngoạisuy:
2
2,1 1,1
2,2 2,1 1,1
2
2R R
41
RRR
21 3 3
−
==−
−
(1)
Đểtiệndùngtalưucáckếtquảvàomảngdạng:
1,1
2,1 2,2
R
RR
⎡⎤
⎢⎥
⎣⎦
BướctiếptheolàtínhR
3,1=J3(bốnhìnhthang)vàlặplạingoạisuyRichadson
tacó:
2,1 2,2
3,1 3,2 3,3
R
RR
RRR
⎡⎤
⎢⎥
⎢⎥
⎢⎥
⎣⎦
Côngthứctổngquátdùngtrongsơđồnàylà:
j
1
i,j 1 i 1,j 1
i,j
j1
4R R
Ri1,j2,3,
41
−
−−−
−
−
= > =
−
(4)
Taxâydựnghàm
romberg()đểthựchiệnthuậttoántrên:
clearall,clc
f=inline(ʹexp(x).*sin(x)ʹ,ʹxʹ);
a=0;
b=1;
maxiter=20;
tol=1e‐6;
J=romberg(f,a,b,maxiter,tol)
§7.TÍCHPHÂNBOOL
Takhảosáthàmy=f(x)trênđoạn[x0,x4],với:
x
1=x0+h,x2=x0+2h,x3=x0+3h,x4=x0+4h
TheoBool,tíchphân:
4
0
x
m
012 34
k1
x
2h
J
f(x)dx 7 f (x ) 32f(x ) 12f(x ) 32f(x ) 7f (x )
45
=
== ++++
∑
=
== ++++
∑
∫
Taxâydựnghàm
intbool()đểthựchiệnthuậttoánnày
functiontp=intbool(f,a,b,m)
%TinhtichphanbangphuongphapBool
a=0;
b=2;
m=2;
h=(b‐a)/(4*m);
fork=1:4*m
x(k)=a+k*h;
326
end
tp=0;
j=1;
fork=1:m
tp=tp+(7*feval(f,a)+32*feval(f,x(j))+
12*feval(f,x(j+1))+32*feval(f,x(j+2))+7*feval(f,x(j+3)));
a=x(4*k);
j=4*k+1;
end
tp=tp*h*2/45;
f(x)cos(tx)dx
2
h(th)fsin(tx)‐f sin(tx ) ( th)C (th)C th S
45
−
′
=α +β +γ +
∫
Trongđó:
a=x
0,b=xn,t=ω
n
2n 2i 2i 2n 2n 0 0
i0
C f cos(tx ) 0.5 f cos(tx ) f cos(tx )
=
=− +
⎡
⎤
⎣
⎦
∑
327
n
2n 1 2i 1 2i‐1
2
23
1cos sin2
() 2
⎡⎤
+θ θ
βθ = −
⎢⎥
θθ
⎣⎦
32
sin cos
() 4
θθ
⎛⎞
γθ = −
⎜⎟
θθ
⎝⎠
Taxâydựnghàm
filon()đểthựchiệncáccôngthứctrên:
functionint=filon(f,a,b,t,m,key)
%hamfilontinhgandungtichphan
%
∫
error(ʹThongsomphailonhon3.ʹ);
end
if(all([(key~=1)(key~=2)]))
error(ʹThongsokeyphaila1hoac2.ʹ);
end
n=m‐1;
h=(b‐a)/n;
th=t*h;
thh
=th*th;
if(abs(th)>=0.1)
s=sin(th);
c=cos(th);
alfa=(1.0+s*(c‐2.0*s/th)/th)/th;
beta=2.0*(1.0+c*c‐2.0*s*c/th)/thh;
gamma=4.0*(s/th‐c)/thh;
else
alfa=th*thh*(2.0/45.0+thh*(‐2.0/315.0+2.0*thh/4725.0));
beta=2.0/3.0
+thh*(2.0/15.0+thh*(4.0/105.0+2.0*thh/567.0));
gamma=4.0/3.0+thh*(‐2.0/15.0+thh*(1.0/210.0‐thh/11340.0));
end
args=[ab];
fbounds=feval(f,args);
s1=sin(a*t);
s2=sin(b*t);
c1=cos(a*t);
c2=cos(b*t);
if(key==1)
sum=
a=0;
b=2;
key=2;
t=3;
m=51;
f=inline(ʹ(x.^3+1).*sin(x)ʹ);
J=filon(f,a,b,t,key)
§9.QUYTẮCHARDY
Đểtínhtíchphân =
∫
b
a
J
f(x)dxtacóthểdùngcôngthứcHardy:
()
7
1
x
12 467
x
f(x)dx 0.01h 28f 162f 220f 162f 28f=++++
∫
Đểtăngđộchínhxáctadùngphươngphápchiađoạn[a,b]thànhmđoạnvà
trênmỗiđoạntadùngcôngthứcHardy.Taxâydựnghàm
inthardy()đểthực
hiệncôngthứctrên:
§10.QUYTẮCDURANT
Đểtínhtíchphân =
∫
b
a
J
f(x)dxtacóthểdùngcôngthứcDurant:
n
1
x
123 n2n1n
x
211 11 2
f(x)dx h f f f f f f
510 10 5
−−
⎛⎞
=++++++
⎜⎟
⎝⎠
∫
L
Taxâydựnghàm
intdurant()đểthựchiệncôngthứctrên:
functiontp=intdurant(f,a,b,n)
%TinhtichphanbangphuongphapDurant
h=(b‐a)/(n);
J
f(x)dxtacóthểdùngcôngthứcShovelton:
()
()()
11
1
x
111 24810 3579 6
x
5
f(x)dx h8ff 35ffff 15ffff 36f
126
=++++++++++
⎡⎤
⎣⎦
∫
Đểtăngđộchínhxáctadùngphươngphápchiađoạn[a,b]thànhmđoạnvà
trênmỗiđoạntadùngcôngthứcShovelton.Taxâydựnghàm
intshovelton()
đểthựchiệncôngthứctrên:
functiontp=intshovelton(f,a,b,m)
%TinhtichphanbangphuongphapShovelton
h=(b‐a)/(10*m);
fork=1:10*m
x(k)=a+k*h;
332
end
J
f(x)dxtacóthểdùngcôngthứcWeddle:
()
=++++++
∫
7
1
x
1234567
x
f(x)dx 0.3h f 5f f 6f f 5f f
Đểtăngđộchínhxáctadùngphươngphápchiađoạn[a,b]thànhmđoạnvà
trênmỗiđoạntadùngcôngthứcWeddle.Taxâydựnghàm
intweddle()để
thựchiệncôngthứctrên:
functiontp=intweddle(f,a,b,m)
%TinhtichphanbangphuongphapWeddle
h=(b‐a)/(6*m);
333
fork=1:6*m
x(k)=a+k*h;
end
tp=0;
j=1;
fork=1:m
tp=tp+feval(f,a)+5*feval(f,x(j))+
feval(f,x(j+1))+6*feval(f,x(j+2))+
feval(f,x(j+3))+5*feval(f,x(j+4))+feval(f,x(j+5));
2
t
ef(t)dt
∞
−
−∞
∫
‐TíchphânGauss‐Laguerredùngxấpxỉ:
t
ef(t)dt
∞
−
−∞
∫
334
‐TíchphânGauss‐Chebyshev1dùngxấpxỉ:
1
2
1
1
f(t )dt
1t
−
−
∫
+=+≡=
∫
(3a)
f(t)=t
1
11 22 11 22
1
wf(t) wf(t ) wt wt tdt 0
+
−
+=+≡=
∫
(3b)
f(t)=t
2
1
222
11 22 11 22
1
2
wf(t) wf(t ) wt wt tdt
3
+
−
+=+≡=
∫
(3c)
f(t)=t
3
22
11
2
t(t)
3
+− = nên
12
1
tt
3
=− =−
Nhưvậy(2)trởthành:
[]
12
11
Jt,t f f
33
⎛⎞⎛⎞
=− +
⎜⎟⎜⎟
⎝⎠⎝⎠
(4)
335
nghĩalàcôngthứcxấpxỉnàychotakếtquảchínhxáccủa(1)khin≤3.
Khiđathứcd ướidấutíchphâncóbậcnhỏhơn(2n‐1)thìcôngthức
tíchphânGauss‐Legendre:
[]
n
(2n 1)tL (t) ( n 1)L ( t)
L(t)
n
−−
−−−
= (6b)
ĐểtạorađathứcLegendretadùnghàm
legendre():
functionp=legendre(n)
%taoradathucLegendre
p0=1;
p1=[10];
ifn<=0
p=p0;
elseifn==1
p=p1;
end
fork=2:n
p=((2*k‐1)*[p10]‐(k‐1)*[00p0])/k;
p0=p1;
p1
=p;
end
Chonđiểmnút,tacóth ểtínhcáctrọngsốtươngứngcủacôngthứctíchphân
Gauss‐Legendrenđiểmbằngcáchgiảihệphươngtrìnhtuyếntính: