1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Chương 2: Đại số tuyến tính

13 491 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đại Số Tuyến Tính
Trường học Trường Đại Học
Chuyên ngành Đại Số Tuyến Tính
Thể loại Bài Giảng
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 13
Dung lượng 354,94 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khi dùng phép chia trái ta nh n đ c:y=a\b Warning: Matrix is singular to working precision... TÍCH PHÂN VÀ PH NG TRÌNH VI PHÂN 1.. Tích phân: Đ tính tích phân ta dùng hàm quadtính tích p

Trang 1

CH NG 2: Đ I S TUY N TÍNH

§1 CÁC PH NG TRÌNH Đ I S TUY N TÍNH

1 H ph ng trình đ y đ :Ta xét h ph ng trình Ax = B Đ tìm nghi m c a

h ta dùng l nh MATLAB:

x= inv(A)*B

hay:

x = A\B

2 H ph ng trình có ít ph ng trình h n s n(underdetermined): Khi gi i

h trên ta đã dùng ngh ch đ o ma tr n Nh v y ta ch nh n đ c k t qu khi

ma tr n A vuông(s ph ng trình b ng s n s vàđ nh th c c a A ph i khác không) H có s ph ng trình ít h n s n hay đ nh th c c a ma tr n A c a

h đ y đ b ng 0 g i là h underdetermined M t h nh v y có th có vô s nghi m v i m t hay nhi u bi n ph thu c vào các bi n còn l i V i m t h nh

v y ph ng pháp Cramer hay ph ng pháp ma tr n ngh ch đ o không dùng

đ c Khi s ph ng trình nhi u h n s n ph ng pháp chia trái cũng cho nghi m v i m t vài n s đ c cho b ng 0 M t ví d đ n gi n là ph ng trình x + 3y = 6 Ph ng trình này có r t nhi u nghi m trongđó có m t nghi m

là x = 6 và y = 0:

a = [ 1 3];

b = 6;

x = a\b

x =

6 0

S nghi m vô h n có th t n t i ngay c khi s ph ng trình b ng s n Đi u này x y ra khi det(A) = 0 V i h này ta không dùng đ c ph ng pháp Cramer và ph ng pháp ma tr n ngh ch đ o và ph ng pháp chia trái cho thông báo là ma tr n A suy bi n Trong tr ng h p nh v y ta có th dùng

ph ng pháp gi ngh ch đ o đ tìm đ c m t nghi m g i là nghi m chu n minimum

Ví d : Cho h ph ng trình

x + 2y + z = 8

0x + y + 0z = 2

x + y + z = 6

Trang 2

Khi dùng phép chia trái ta nh n đ c:

y=a\b

Warning: Matrix is singular to working precision.

y =

Inf Inf Inf

N u ta dùng ph ng pháp gi ngh chđ o thì có:

a = [1 2 1;0 1 0;1 1 1]

b = [8;2;6]

x = pinv(a)*b

x =

2.00000000000000 2.00000000000000 2.00000000000000

M t h cũng có th có vô s nghi m khi có đ s ph ng trình Ví d ta

có h :

2x 4y + 5z = 4

4x 2y +3z = 4

2x + 6y 8z = 0

Trong h này ph ng trình th 3 là t ng c a hai ph ng trình trên nên h th t

s ch có 2 ph ng trình

Tóm l i m t h mu n có nghi m duy nh t ph i có các ph ng trình đ c

l p Vi c xác đ nh các ph ng trình trong h có đ c l p hay không khá khó,

nh t là đ i v i h có nhi u ph ng trình Ta đ a ra m t ph ng pháp cho phép xác đ nh h ph ng trình có nghi m và li u nghi m đó có duy nh t hay không Ph ng pháp nàyđòi h i s hi u bi t v h ng c a ma tr n

Ta xem xét đ nh th c c a ma tr n sau:

3 7 9

2 10 6

1 4 3

N u ta lo i tr m t hàng và m t c t c a ma tr n chúng ta còn l i ma tr n 2×2

Tu theo hàng và c t b lo i ta có 9 ma tr n con Đ nh th c c a các ma tr n này

g i là đ nh th c con Ví d n u ta b hàng 1 và c t 1 ta có:

44 3 7

2 10

=

Trang 3

Các đ nh th c con có th dùng đ xác đ nh h ng c a ma tr n H ng c a ma

tr n đ c đ nh nghĩa nh sau: M t ma tr n A m×n có h ng r1 n u và ch n u

đ nh th c c a A ch a m t đ nh th c r × r và m i đ nh th c con vuông có r+1 hàng hay h n b ng 0.

Đ xác đ nh h ng c a ma tr n ta có l nh rank

Ví d :

a = [ 3 4 1;6 10 2;9 7 3];

rank(a)

ans =

2

H ph ng trình Ax = B có m ph ng trình và n n có nghi m n u và ch n u rank(A) = rank([A B]) G i h ng c a A là r, n u r = n thì nghi m là duy nh t

N u r<n thì h có vô s nghi m và r n có th bi u di n nh là t h p tuy n tính c a n r n còn l i mà giá tr có th ch n b t kì

Ví d : Gi i h ph ng trình

3x 2y + 8z = 48

6x + 5y + z = 12

9x + 4y + 2z = 24

Ta vi t:

a = [ 3 2 8; 6 5 1;9 4 2];

b = [ 48; 12;24];

rank(a)

ans =

3 rank([a b])

ans =

3

V y h có nghi m duy nh t:

x = a\b

x =

2 1 5

Ví d : Gi i h

2x 4y + 5z = 4

6x 2y + 3z = 4

2x + 6y 8z = 0

Trang 4

Ta vi t:

a = [ 2 4 5; 6 2 3;2 6 8];

b = [ 4;4;0];

rank(a)

ans =

2 rank([a b])

ans =

2

V y h có vô s nghi m M t trong các nghi m là:

x=pinv(a)*b

x =

1.21481481481481

0.20740740740741

0.14814814814815

3 H ph ng trình overdetermined: H ph ng trình trong đó s ph ng trình đ c l p nhi u h n s n g i là h overdetermined Đ i v i h này

ph ng pháp Cramer và ph ng pháp ngh chđ o ma tr n không dùng đ c Tuy nhiên m t s h cho nghi m đúng xác đ nh b ng phép chia trái Đ i v i các h khác không có nghi m chính xác Khi r = rank(a) = rank([a b]) h có nghi m và n u r = n nghi m là duy nh t Khi rank(a) ≠ rank([a b]) h không có nghi m

Ví d : Gi i m ch đi n g m 3 nhánh n i song song: nhánh 1 có t ng tr Z1 = 5+2j và ngu n e = 100 sin(314t + 300), nhánh 2 có t ng tr Z2 = 3+4j và nhánh 3

có t ng tr 5+6j Ta vi t ph ng trình c a m ch đi n theo dòng nhánh Sau đó rút ra ma tr n A và B Các l nh MATLAB:

a = [1 1 1;5+2*i 3+4*i 0;0 (3+4*i) 5+6*i]

e =100*exp(i*(30*pi/180))

b=[0;e;0];

i=a\b

i =

25.25569272231586 +19.27124163998603i

15.63482777750950 11.44276084484129i

9.62086494480636 7.82848079514474i

Trang 5

§2 N I SUY

1 N i suy hàm m t bi n :MATLAB dùng 2 ki u n i suy : n i suy đa th c và

n i suy trên c s bi n đ i Fourrier nhanh,

a N i suy đa th c : MATLAB dùng hàm interp1(x,y,xi,< ph ng pháp>)

v i x, là giá tr c a hàm t i nh ng đi m đã cho và xi là giá tr mà t i đó ta c n

n i suy ra giá tr yi <ph ng pháp> có th là m t trong các giá tr sau :

‘nearest’ ph ng pháp này đ t giá tr n i suy vào giá tr đã cho g n

nh t, Ph ng pháp này nhanh nh ng k t qu kém chính xác nh t

Ví d : x = [ 1 2 3 4 5 ];

y = [ 5.5 43.1 128 290.7 498.4 ];

yi = interp1(x,y,1.6, nearest )

yi =

43.1000

‘linear’ ph ng pháp này coi đ ng cong đi qua 2 đi m cho tr c là

đ ng th ng

Ví d : yi = interp1(x,y,1.6, linear )

yi =

28.0600

‘spline” dùng ph ng pháp n i suy spline

Ví d : yi = interp1(x,y,1.6, spline )

yi =

24.9782

‘cubic’ ph ng pháp này coi đ ng cong qua 2 đi m là đ ng cong b c 3

Ví d : yi = interp1(x,y,1.6, cubic )

yi =

22.3840

b N i suy FTT: Hàm interpft th c hi n n i suy hàm m t bi n s d ng

ph ng pháp FFT(Fast Fourrier Transform) Ph ng pháp này tính toán bi n

đ i Fourrier m t vec t ch a các giá tr c a m t hàm chu kì Nh v y ph ng pháp này tính bi nđ i Fourrier ng c s d ng nhi u đi m D ng hàm là :

y = interpft(x,n)

Ví d : y = interpft(x,4)

y =

1.0000 2.6236 3.0000 5.3764

Trang 6

2 N i suy hàm hai bi n : Hàm interp2 th c hi n n i suy hàm 2 bi n.D ng hàm t ng quát :

ZI = interp2(X,Y,Z,XI,YI,<ph ng pháp>)

Z – ma tr n ch nh t ch a giá tr c a hàm 2 bi n

X,Y – m ng có cùng kích th c,ch a giá tr x,yđã cho

XI,YI m ng ch a giá tr c n n i suy

Các <ph ng pháp> g m : ‘nearest’,’linear’,’cubic’

3 N i suy và m ng nhi u chi u :

interp3 n i suy hàm 3 bi n

interpn n i suy hàm nhi u bi n

§3 TÍCH PHÂN VÀ PH NG TRÌNH VI PHÂN

1 Tích phân: Đ tính tích phân ta dùng hàm quad(tính tích phân theo ph ng pháp Simpson) và hàm quadl(tính tích phân b ng ph ng pháp Lobatto)

Ví d (l u trong ct2_1.m):

f = inline( 1./((x 0.3).^2+0.01)+1./((x 0.9).^2+0.04) 6 );

q = quad(f,0,1)

q =

29.8583

r = quadl(f,0,1)

r =

29.8583

Ví d (l u trong ct2_2.m)

y = sin(x)

quad(‘sin’,0,pi)

ans =

2.00001659104794

quadl( sin ,0,pi)

ans =

1.99999999999989

Ta cũng có th dùng ph ng pháp hình thanh đ tính tích phân:

Ví d (l u trong ct2_3.m):

y = sin(x)

x = [0:pi/100:pi]];

y = sin(x);

Trang 7

ans =

1.99983550388744

2 Vi phân s :Đ tính vi phân ta dùng diff

Ví d :

a = [ 1 4 2 5 7 4 8];

diff(a)

ans =

3 Ph ng trình vi phân: Ph ng trình vi phân c p cao y(n)= f(t,y,y’, , y(n 1))

có th đ a v h ph ng trình vi phân c p 1 b ng cách đ t y1 = y ; y2 = y’ , ,

yn = y(n 1) Nh v y:

) y , ,

y , y , t f y

y y

y y

n 2 1 n

3 2

2 1

=

=

=

là h có n ph ng trình vi phân c p 1

Ví d :

y’’’ 3y” y’y = 0 v i y(0) = 0 y’(0) = 1 y” = 1

đ c bi n đ i thành

1 2 3 3

3 2

2 1

y y y 3

y

y

y

y

y

+

=

=

=

v i đi u ki n đ u : y1(0) = 0 y2(0) = 1 y3(0) = 1

Đ nh p ph ng trình này vào MATLAB ta dùng M file f.m nh sau :

function dy = f(t,y);

dy = [ y(2) ; y(3) ; 3*y(3)+y(3)*y(1)];

và gi i ph ng trình b ng l nh :

[ t , f] = solver (‘file’,tspan,y0)

v i “file” là M file ch a ODE

tspan là vec t [ t0 tfinal] xacđ nh kho ng tìm nghi m

y0 là vec t giá tr đi u ki n đ u

solver là cách gi i, th ng dùng ph ng pháp Runge Kutta b c 2/3(ode23) hay 4/5(ode45)

Trang 8

[ t , y] = ode45(‘f’,[ 0 1],[0 ; 1 ; 1])

M i hàng trong vec t nghi m t ng ng v i m t th i đi m trong vec t c t t

Nh v y trong ví d trên, y(:,1) là nghi m, y(:,1) là đ o hàm b c nh t c a nghi m và y(:,2) là đ o hàm b c hai c a nghi m

Ví d : Tìm dòng qua đ khi đóng m ch RC n i ti p vào ngu n m t chi u bi t tích s RC = 0.1,đi n áp ngu n là 10V và đi n áp ban đ u trên t là 2V

Ph ng trình c a m ch là:

e(t) = RC C uC

dt

du + Thay s vào ta có:

0.1u′ + u = 10

u′ = 10u + 100

Ta có các l nh MATLABđ t o hàm:

function uc = rc(t,u)

uc = 10*u + 100;

và gi i bài toán:

[t,u] = ode45( rc ,[0 4],2);

plot(t,u, o )

§4 Đ I S MA TR N

1 Phân tích Cholesky : Ph ng pháp Cholesky phân tích ma tr n A xác đ nh

d ng thành tích c a hai ma tr n A = R’*R v i R là ma tr n tam giác trên

Mu n nh nđ c ma tr n R ta dùng hàm chol(A)

Ví d :

n = 5;

X = pascal(n)

X =

1 1 1 1 1

1 2 3 4 5

1 3 6 10 15

1 4 10 20 35

1 5 15 35 70

R = chol(X)

2 Phân tích LU : Ta phân tích ma tr n A= L*U trong đó L là ma tr n tam giác

d i và U là ma tr n tam giác trên Ta vi t [L,U]= lu(A)

Ví d (l u trong ct2_4.m):

Trang 9

A = [

1 2 3

4 5 6

7 8 0]

[L,U] = lu(A)

3.Phân tích QR: Ta phân tích ma tr n A =Q*R v i Q là ma tr n tr c giao và R

là ma tr n tam giác trên

Ví d (l u trong ct2_5.m):

A = [

10 11 12]

[Q,R] = qr(A)

4 Lu th a: N u có ma tr n A vuông và s p>0 thì A^p là tích p l n c a A :

Y= A^2

5 Giá tr riêng và vec t riêng: eig(A)

[d,r] = eig(A)

6 Quay ma tr n: b = rot90(a)

a = [2 1 0; 2 5 1;3 4 6]

a =

b = rot90(a)

b =

7 Đ o ma tr n: fliplr(a) đ o ma tr n t trái sang ph i

c = fliplr(a)

c =

Trang 10

0 1 2

flipud(a)đ o ma tr n t trên xu ng d i

d = flipud(a)

d =

8 Các hàm x lí ma tr n khác:

n

a = [1 2 3 ;5 6 7;8 9 1];

reshape(a,1,9)

ans =

m t vec t

diag(a,k) ch n đ ng chéo tu theo giá tr c a k

k = 0 ch nđ ng chéo chính

k > 0 ch nđ ng chéo th k trên đ ng chéo chính

k < 0 ch nđ ng chéo th k d i đ ng chéo chính

a =

v = diag(a,1)

v =

2 7

a = diag(v) n u v là vec t thì a là ma tr n vuông v i v là đ ng chéo chính

b = triu(a) t o ra ma tr n b cùng c v i ma tr n a, ch a các ph n t c a

ma tr n a n m trên đ ng chéo chính và phía trên đ ng chéo chính Các

ph n t khác b ng 0

a = [1 2 3;4 5 6;7 8 9]

Trang 11

a =

b = triu(a)

b =

b = triu(a, k) t o ra ma tr n b cùng c v i ma tr n a, ch a các ph n t c a

ma tr n a ngay trên đ ng chéo và phía trên đ ng chéo chính Các ph n t khác b ng 0

b = tril(a) t o ra ma tr n b cùng c v i ma tr n a, ch a các ph n t c a

ma tr n a n m d i đ ng chéo chính Các ph n t khác b ng 0

b = tril(a, k) t o ra ma tr n b cùng c v i ma tr n a, ch a các ph n t c a

ma tr n a ngay trên đ ng chéo và phía d i đ ng chéo th k Các ph n t khác b ng 0

b = tril(a, 1)

b =

§5 ĐA TH C

1 Các hàm x lí đa th c :

deconv chia đa th c poly tìm đa th c có nghi m đã cho polyder đ o hàm đa th c

polyfit x p x b ng đa th c polyval tính tr c ađa th c polyvalm tính tr ma tr n đa th c roots tìm nghi m c a đa th c

2 Bi u di n đa th c: MATLAB bi u di n đa th c nh là m t vec t hàng ch a

các h s c ađa th c theo th t s mũ gi m d n

Ví d : P(x) = x3– 2x – 5

Trang 12

Đ nh p đa th c này vào MATLAB ta vi t :

p = [ 1 0 – 2 –5 ]

3 Nghi m c a đa th c : Đ tìm nghi m c a đa th c ta dùng hàm roots

Ví d : roots(p)

ans =

2.0946 1.0473 + 1.1359i 1.0473 1.1359i

4 Đa th c đ c tính: Cho ma tr n A, hàm poly xác đ nh đa th c đ c tính c a

ma tr n A

Ví d : a = [ 1 2 3 ; 3 4 5 ; 4 5 6 ]

a =

poly(a) ans =

1.0000 11.0000 9.0000 0.0000

5 Tính tr đa th c: Đ tính tr c a đa th c t i x = x0ta dùng hàm polyval(p)

Ví d : polyval(p,0.2)

ans =

5.3920

Ta có th tính tr c a ma tr n đa th c Trong tr ng h p đó đa th c

P(x) = x3– 2x – 5

tr thành : P(X) = X3– 2X – 5I v i X là ma tr n vuông và I là ma tr nđ n v

Ví d : X = [2 4 5; 1 0 3;7 1 5]

X =

Y = polyvalm(p,X)

Y =

377 179 439

111 81 136

490 253 639

Trang 13

6 Nhân và chia đa th c : Cho đa th c a = x2 + 2x + 3 và đa th c b = 4x2 + 5x + 6.

Đ tính tích 2 đa th c ta vi t :

a = [ 1 2 3 ] ; b = [ 4 5 6 ] ;

c = conv(a,b)

c =

4 13 28 27 18

Đ tính th ng hai đa th c ta vi t

[ q , r ] = deconv(c,a)

q =

r =

Trong đó q là th ng nguyên còn r là ph n d

7 Đ o hàm đa th c: Tính đ o hàm đa th c b ng hàm polyder

q = polyder(p)

q =

Đ tính đ o hàm c a tích hai đa th c a và b ta vi t

c = polyder(a,b)

c =

16 39 56 27

8 X p x b ng đa th c: Gi s ta có m t lo t s li u nh n đ c t th c nghi m

và mu n x p x chúng b ng m t hàm d ng đa th c theo ph ng pháp bình

ph ng bé nh t thì ta dùng hàm polyfit(x,y,n) v i x,y là các vec t ch a các giá tr đo đ c và n là b c c a đa th c x p x

Ví d : x = [ 1 2 3 4 5 ];

y = [ 5.5 43.1 128 290.7 498.4 ];

p = polyfit(x,y,3)

p =

0.1917 31.5821 60.3262 35.3400

Ngày đăng: 17/10/2013, 14:15

TỪ KHÓA LIÊN QUAN

w