Tải bản đầy đủ - 0 (trang)
6- ứng dụng các phép toán ma trận

6- ứng dụng các phép toán ma trận

Tải bản đầy đủ - 0trang

Giáo trình Matlab và ứng dụng

y1 = anxn + an-1xn-1+...+a0

y 2 = bnxn + bn-1xn-1+...+b0

Bíc1: LËp 2 ma trËn hµng tên y1, y2 có các phần tử là các hệ số từ

an đến a0 và bn đến b0 giảm dần theo bậc của phơng trình ( Nếu

hệ số nào không có ghi 0 )

Bớc 2: dùng lệnh conv để nhân 2 ®a thøc.

>>y3= conv(y1,y2)

VD: y1 = 2x2 + 3x+1

y2 = 3x2 + 4x

>> y1 = [2 3 1]

>> y2 = [3 4 0]

>> y3 = conv(y1,y2)

>> y3 = 6 17 15 4 0

Chú ý: hàm conv chỉ thực hiện nhân 2 đa thức. Muốn nhân

nhiều đa thức với nhau ta phải thực hiện nhiều lần hàm conv.



4.6.2- Giải phơng trình bậc cao

Sử dụng lệnh Roots để giải phơng trình bậc n:

y = anxn + an-1xn-1+...+a0

Bíc1: LËp 1 ma trËn hµng có các phần tử là các hệ số từ a n đến a0

giảm dần theo bậc của phơng trình ( Nếu hệ số nào không có ghi 0 )

Bớc 2: Dùng lệnh Roots để giải ma trận vừa tạo đợc.

VD giải phơng trình sau: y = x5 -2x4 + 5x2 -1

>> y = [ 1



-2



0



5



0



-1]



y=

1



-2



0



5



0



-1



>> kq=roots(y)

kq =

1.5862 + 1.1870i

1.5862 - 1.1870i

-1.1606

-0.4744

Bộ môn TĐH Xí nghiệp Công nghiệp



59



Giáo trình Matlab và ứng dụng

0.4627



4.6.3- Biết nghiệm tìm lại phơng trình

Sử dụng lệnh poly. Lấy kết quả của ví dụ trên

>>A = [1 –1 2;1 3 4;2 –1 1];

>>poly(A)

ans =

1 -5 8 14



4.6.4- Giải hệ phơng trình tuyến tính:

Vd: giải hệ phơng trình tuyÕn tÝnh sau:

2 x + 3 y + z = 7



3 x + 6 y − 4 z = 19

x + y + z = 2





Thực chất hệ phơng trình trên có thể đa về phép toán ma trận

sau:

2

3

1



3

6

1



1 x

7

4 ⋅ y = 19

1 z

2



Nh vËy viƯc gi¶i hƯ PT tuyến tính thực chất là thực hiện phép

toán về ma trËn.

>> A=[2 3 1;3 6 -4;1 1 1]

A=

2



3



1



3



6



-4



1



1



1



>> B=[7;19;2]

B=

7

19

2

>> C=inv(A)

Bộ môn TĐH Xí nghiệp Công nghiệp



60



Giáo trình Matlab và øng dông

C=

-2.5000



0.5000



4.5000



1.7500 -0.2500 -2.7500

0.7500 -0.2500 -0.7500

>> kq=C*B

kq =

1.0000

2.0000

-1.0000

VD2:

>>A=[1+i 2i;3+i 1]

A=



1.0000 + 1.0000i

3.0000 + 1.0000i



0 + 2.0000i



1.0000



>> C=inv(A)

C=

0.0882 + 0.1471i 0.2941 - 0.1765i

-0.1176 - 0.5294i -0.0588 + 0.2353i

>> B=[1; 2+i]

B=

1.0000

2.0000 + 1.0000i

>> KQ=C*B

KQ =

0.8529 + 0.0882i

-0.4706 - 0.1176i

VD3:

>>syms a1 a2 b1 b2 c1 c2

>>A=[a1 a2;b1 b2]

A=

[ a1, a2]

[ b1, b2]

>> B=[c1;c2]

Bé môn TĐH Xí nghiệp Công nghiệp



61



Giáo trình Matlab và ứng dông

B=

[ c1]

[ c2]

>> C=inv(A)

C=

[ -b2/(-a1*b2+b1*a2), a2/(-a1*b2+b1*a2)]

[ b1/(-a1*b2+b1*a2), -a1/(-a1*b2+b1*a2)]

>> KQ=C*B

KQ =

[ -b2/(-a1*b2+b1*a2)*c1+a2/(-a1*b2+b1*a2)*c2]

[ b1/(-a1*b2+b1*a2)*c1-a1/(-a1*b2+b1*a2)*c2]



Bộ môn TĐH Xí nghiệp Công nghiệp



62



Giáo trình Matlab và ứng dụng



Phần 2

Các ứng dụng trong matlab

1.4.3 Lệnh ezplot3: vẽ đờng xoắn ốc. VD:

>> ezplot3(sin(t),cos(t),t,[0,6*pi])

Chơng 5 Symbolic toolbox

Symbolic Math Toolbox định nghĩa một kiểu dữ liệu mới của

Matlab gọi là đối tợng Symbolic. Một đối tợng Symbolic là một cấu trúc

dữ liệu lu trữ một đại diện kiểu sâu ký tự của một biểu tợng

(Symbol). Symbolic Math Toolbox sử dụng các đối tợng Symbolic để

biểu diễn các biến, biểu thức và ma trận Symbolic.



5.1- Tạo đối tợng (biến, biểu thức) symbolic

Lệnh sym cho phép xây dựng các biến vµ biĨu thøc symbolic. VÝ

dơ:

>> x = sym(‘x’); y = sym(y);



% lệnh này tạo ra x, y là các



biến symbolic.

Giả sư ta mn sư dơng mét biÕn symbolic ®Ĩ biĨu diƠn tû sè: ρ

=



1+ 5

ta sư dơng lƯnh sau:

2



>>ro = sym(‘(1+sqrt(5))/2’); ↵

sau lƯnh ë trªn ta cã thĨ thùc hiƯn rất nhiều phép toán đối với ro,

ví dụ:

>>f = ro^2-ro-1

f = (1/2+1/2*5^(1/2))^2-3/2-1/2*5^(1/2)

Bộ môn TĐH Xí nghiệp Công nghiệp



63



Giáo trình Matlab và ứng dụng

Giả sử bạn muốn nghiên cứu hàm bậc hai f = ax2 + bx +c.

>> f=sym('a*x^2+b*x+c')

f=

a*x^2+b*x+c

Câu lệnh trên đã gán biểu thức symbolic ax2 + bx +c vào biến f.

Tuy nhiên, trong trờng hợp này Matlab không tạo ra các biến tơng ứng

với các số hạng của biểu thức (a, b, c, x). Để thực hiện các phép toán

symbolic chẳng hạn nh tích phân, đạo hàm, đối với f, cần tạo ra các

biến một cách chính xác bằng cách gõ:

>>a = sym('a')

>>b = sym('b')

>>c = sym('c')

>>x = sym('x')

Hoặc ta có thể khai báo một cách đơn giản:

>> syms a b c x

* Tạo các biến thực:

>> x = sym(x, real);y =sym(y,real) %x,y là biến kiểu thực

symbolics

hoặc đơn giản hơn

>>syms x y real %Lệnh này tạo ra các biến x vµ y lµ biÕn

symbolic kiĨu thùc.

>>syms x real y

hay x = sym(‘x’,’ real’);y = sym(‘y’)

% x lµ biÕn kiĨu thực, y là biến bất kỳ kiểu symbolic

Để xoá đặc tÝnh “real” cđa c¸c biÕn x, y ta dïng lƯnh sau: syms x

y unreal hay:

>>x = sym(‘x’, ‘unreal’)

syms t

Q = sym(‘Q(t)’);

% t biÕn symbolic vµ Q lµ hµm symbolic.

* BiÕn symbolic mặc định



Bộ môn TĐH Xí nghiệp Công nghiệp



64



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

6- ứng dụng các phép toán ma trận

Tải bản đầy đủ ngay(0 tr)

×