University of Technical Education HCM City, 2013
Chapter 5 – Numerical Integration
5.1 Matlab function
5.2 Trapzoidal method
5.3 Simpson’s method
y2
5.4 Gauss’s method
5.5 Examples
1
y1
2.5
TÍCH PHÂN
• 5.1. Dùng hàm thư viện Matlab: trapz, quad,
quad8, dblquad
Syntax
Z = trapz(Y)
Z = trapz(X,Y)
Giá trò chính xác
tích phân:
>>X = 0:pi/100:pi;
>>Y = sin(x);
>>Z = trapz(X,Y)
Z=
1.9998
X, Y: vectơ hay ma
trận
I sin xdx 2
0
>>X = 0:pi/100:pi;
>>Y = sin(x);
>>Z = pi/100*trapz(Y)
Z=
1.9998
Syntax
q = quad(fun,a,b)
q = quad(fun,a,b,tol)
q = quad(fun,a,b,tol,trace)
b
I f ( x)dx
a
fun: hàm tích phân
a,b: cận tích phân
tol: sai số chấp nhận
trace: vết ma trận tích
phân
Ví
dụ
>> Q = quad('1./(x.^3-2*x-5)',0,2)
Q=
-0.4605
>>F = inline('1./(x.^3-2*x-5)');
>>Q = quad(F,0,2)
Q=
-0.4605
Q = quad(‘myfun’,0,2);
Q=
-0.4605
%myfun.m là M-file.
--------------------------------------------------function y = myfun(x)
y = 1./(x.^3-2*x-5);
fun: hàm tích phân
tol: sai số chấp nhận
Syntax
q = dblquad(fun,xmin,xmax,ymin,ymax)
q = dblquad(fun,xmin,xmax,ymin,ymax,tol)
Tính tích phân
képxmax ymax
I
>>Q = dblquad(inline('y*sin(x)+x*cos(y)'), pi, 2*pi, 0, pi) xmin
y min
f ( x, y )dxdy
Q=
-9.8696
>>Q = dblquad(‘integrnd’, pi, 2*pi, 0, pi)
Q=
-9.8696
------------------------------------------------integrnd.m (m-file).
function z = integrnd(x, y)
z = y*sin(x)+x*cos(y);
------------------------------------------------->>dblquad(inline('sqrt(max(1-(x.^2+y.^2),0))'),-1,1,-1,1)
ans =
2.0944
>>dblquad(inline('sqrt(1-(x.^2+y.^2)).*(x.^2+y.^2<=1)'),-1,1,-1,1)
ans =
2.0944
Tìm chiều dài cung biểu diễn
trong tọa độ cực [Stewart 825/10]
90 40
120
60
30
Tính bằng công
thức
3/2
8
2
3
1
20
150
1 9 2 .9 0
Matlab
syms t
r = t^2;
ig = simple(sqrt(r^2 + diff(r,t)^2))
L = int(ig, t, 0, 2*pi);
pretty(L); eval(L)
%ans =92.8962
%
t = linspace(0, 2*pi);
r = t.^2;
polar(t,r)
%
echo off; diary off
30
10
180
0
210
330
240
300
270
2
I
0
2
dr
r
d
d
2
1/2
p(x) 2 - 3x xcos(2x)
Công
Côngsinh
sinhra
rado
dolực
lựcđẩy
đẩy
2.5
của
củapiston
piston
1/2
0.5 x
trên
độ
A
2
3x
xcos(2x)
x
e
dx
trên độ
dời
1
dờiab
ab: :
xe 0.5 x
2 .5
Q
1
y2
1
y2
3xydxdy
y1
y1
2.5
TThông
lượng dòng chảy trong một ống có tiết diện
hông lượng dòng chảy trong một ống có tiết diện
thay đổi như hình vẽ.
thay đổi như hình vẽ.
Biết vận tốc tại một điểm bất kì trong ống có
Biết vận tốc tại một điểm bất kì trong ống có
phương trình V=3xy.
phương trình V=3xy.
Đường sinh Y1=1-(X/2)2 2; Y2=1+(X/2)2 2; X[1,2.5]
Đường sinh Y1=1-(X/2) ; Y2=1+(X/2) ; X[1,2.5]
Theå tích baùn caàu [Stewart 937/12]
2
I
0
/2
0
2
2 2
3
(
1
r
sin
)
r sin drdd 740
1
• 5.2. Luaät hình thang
(Trapzoidal
Rule)
xi
hi
f
(
x
)
dx
( f ( xi 1 ) f ( xi ))
2
xi 1
f(x)
Eh
y
h f ( x0 ) 2 f ( x1 ) 2 f ( x 2 ) .....
E
I trap
2 2 f ( x n 1 ) f ( xn )
h
I trap
b a
, xi a i * h, x0 a, x n b
N
x
h
f 0 2 f 1 2 f 2 ..... 2 f n 1 f n E
2
1 (b a) 3
E
12 N 3
Ví duï
N
f '' ( xi ),
i 1
xi 1 xi 1
2
2
x 2
S f ( x)dx 1 dx
2
0
0
2
Tính tích phân:
xi
2
x0 = a x1
x2 ….
Xn-1
xn=b
Matlab program
clear all
clc
N=16;
a=0;
b=2;
h=(b-a)/N;
S=0;
for i=0:N
x=a+i*h;
if i==0 | i==N
c=1;
else
c=2;
end
S=S+c*pi*(1+(x/2).^2).^2;
end
S=h*S/2
Keát
quûa
N
h
Sh
Eh
2
4
8
16
32
64
1.
0.5
0.25
0.125
0.0625
0.03125
12.7627
11.9895
11.7940
11.7449
11.7326
11.7296
-1.0341
-0.2609
-0.0654
-0.0163
-0.0040
-0.0010
• 5.3. Luaät Simpson 1/3
(Simpson
Rule)
b
h
S f ( x)dx f (a) 4 f ( x) f (b) E
3
a
x0 a, x 2 b, h
b
S f ( x)dx
a
S simp
b a
a b
, x
2
2
N1
N 2
h
f (a) 4 f (a ih) 2 f (a ih) f (b) E
3
i 1
i 2
h f ( x0 ) 4 f ( x1 ) 2 f ( x 2 ) 4 f ( x3 )
E
S simp
3 ..... 4 f ( x n 1 ) f ( x n )
h
f 0 4 f1 f 2 E
3
N h 5 ''''
E
f ,
2 90
N
h
Sh
Eh
2
4
8
16
32
64
1.
0.5
0.25
0.125
0.0625
0.03125
11.7809
11.7318
11.7288
11.7286
11.7286
11.7286
-0.0523
-0.0032
-0.0002
-0.0000
-0.0000
-0.0000
f
''''
N
f '''' ( xi ) / N ,
i 1
xi
xi 1 xi 1
2
clear all
clc
N=16;
a=0;
b=2;
h=(b-a)/N;
S=0;
for i=0:N
x=a+i*h;
if i==0 | i==N
c=1;
Matlab program
elseif i==fix(i/2)*2+1
c=4;
else
c=2;
end
S=S+c*pi*(1+(x/2).^2).^2;
end
S=h*S/3
Kết qủa
Giá trò tích phân
1.325
1.32
1.315
1.31
Luật Simpson
1.305
Chính
xác
1.3
1.295
Luật hình thang
1.29
0
10
20
Số phân
đoạn
30
40
50
3. Tích phân Gauss (Gauss quadrature):
1
I f ( x) dx w1 f ( x1 ) w2 f ( x 2 ) wn f ( x n )
1
Ví dụ
1
I (0.2 25 x 200 x 2 675 x 3 900 x 4 400 x 5 ) dx
1
Matlab program
Tính với 4 điểm
Gauss:
clear
all
clc
format long
x1=-0.861136;
x2=-0.339981;
x3=0.339981;
x4=0.861136;
% ------trọng số------w1=0.347855;
w2=0.652145;
w3=0.652145;
w4=0.347855;
f1=w1*gauss1(x1);
f2=w2*gauss1(x2);
f3=w3*gauss1(x3);
f4=w4*gauss1(x4);
I=f1+f2+f3+f4
%------------------------------------------------------------------function ff=gauss1(x)
ff=400*x^5900*x^4+675*x^3-200*x^2+25*x+0.2;
kết quả:
I=-4.929329328775451e+002
Forced Vibrations
The driving force can be periodic
(repeating), like in (a) and (b)
non-periodic © can be created by
forming infinite series of harmonic
functions (”fourier analysis”).
Types of Harmonic Forcing
External Forcing
Base Excitation
Rotor Excitation