Tải bản đầy đủ (.ppt) (75 trang)

Advanced-numerical-method-3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.82 MB, 75 trang )

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


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 drdd 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

N1
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







Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×