December 5, 2011

Các Phép Toán Cơ Bản Trong Matlab









I.Các Phép Toán Về Đa Thức
1.Nhân Và chia đa thức
Cấu trúc tổng quát
F= [a b c d ….];
G= [e f g h….];
kq=conv(F,G)
trong đó :      F, G :là các đa thức
                       a,b,c,…là các hệ số của  đa thức
                       kg: tên biến đặt tùy ý để lấy kết quả
vd minh họa :

>> % hãy thực hiện phép nhân hai đa thức F(x)=x^3-2x+3 và G(x)=x-4
>> % giải
>> F=[1 0 -2 3];
>> G=[1 -4];
>> kq=conv(F,G)

kq =
     1    -4    -2    11   -12



2.Chia đa thức
Dạng : 

Cấu Trúc Tổng Quát:

f=[các hằng số của đa thức_....];
g=[ các hằng số của đa thức_....];
[p,r]=deconv(f,g)

Ví dụ :
 >> f=[1 0 -2 3];
>> g=[1 -4];
>> [p,r]=deconv(f,g)
p =
     1     4    14
r =
     0     0     0    59


3.Cộng Đa Thức

Matlab không có các lệnh cộng đa thức, do vậy ta vậy xây dựng một hàm  file.m


II. Các phép Giải Tích Toán Học
1.Tích Phân

- Thực hiện bằng lệnh   int
-phải chuyển các biến về dạng ký hiệu bằng lệnh  syms

Cấu Trúc tổng quát


Syms tênbiến
Tênhàm=biểu thức;
Int(Tênhàm)

Vd : tính tích phân của hàm

Giải
syms x;
f=(3*x^4+4)/(x^2*(x^2+1)^3);
y=int(f)
 kết quả:
 y = - (57*atan(x))/8 - ((57*x^4)/8 + (103*x^2)/8 + 4)/(x*(x^2 + 1)^2)

2.Đạo hàm

Cấu trúc :

Syms  tên các biến
Tên hàm=biểu thức;
Diff(tên hàm) hoặc diff(tên hàm,tên biến lấy đạo hàm)

3.Giới hạn

Cấu trúc

Tên hàm=biểu thức hàm
Limit(tên hàm,biến,cận giới hạn,’right’) hoặc right thay bằng left
Right/left: giới hạn về phía phải/trái

Vd:
Giải
f=atan(1/(1-x))
limit(f,x,1,'right')
ans =
-pi/2

4.biến đổi đa thức
4.1 đặt thừa số chung
-thực hiện bởi lệnh factor
cấu trúc
Syms  tên biến
Biểu thức;
Factor(tên biểu thức)
Ví dụ : Đặt thừa số chung của đa thức sau
Giải:
syms x
p=x^5-x^4-7*x^3+x^2+6*x;
factor(p)

ans =
x*(x - 1)*(x - 3)*(x + 2)*(x + 1)


4.2 Khai Triển Đa Thức

Dùng lệnh expand

Cấu trúc tổng quát:

Tên biểu thức= biểu thức;
Expand( Tên biểu thức)

4.3 Đơn Giản biểu Thức

Dùng lệnh simplify

Cấu trúc tổng quát:
Syms têncácbiến
Tên biểu thức=biểu thức;
Simplify(tên biểu thức)

4.3 giải phương trình đại số

Cấu trúc 1:

Syms têncácbiến
Tênhàm=biểu thức;
Solve(tên hàm)


Cấu trúc 2: giải phương trình với biến cụ thể.

Syms têncácbiến
Tênhàm= biểu thức;
Tênbiếngiaỉ= solve(tên hàm,tên biến giải)
4.4 giải hệ phương trình phi tuyến

Cấu trúc tổng quát
[ tên các biến cần tìm,….,…]=solve(biểu thức1,biểu thức 2,…..]

III. Các phép Toán Trong Ma Trận Tính Bằng MatLab

1.      Nhập ma trận trong Matlab
Cấu trúc :

Ví dụ ma trận (3x3)

Tên_ma_trận = [a11 a12 a13 ; a21 a22 a23;a31 a32 a33; a31 a32 a33]

Hoặc :

  Tên_ma_trận = [a11, a12, a13 ; a21, a22, a23;a31, a32, a33; a31, a32, a33]

Chú ý : +giữa các phần tử có dấu “ khoảng trống – dấu cách “ hoặc dấu “ , “ thì các phần tử nằm trên dòng
+a11,..: phần tử nằm trên dòng 1, cột 1
Tạo một ma trận vào matlab : sử dụng các hàm có sẵn

   Zeros(n,m): ma trận (n.m) các phần tử bằng 0
   Eye(n): ma trận đ ơ n vị  (n.n)
   Ones(n,m) : ma trận (n.m) các phần tử bằng 1
   Rand(n,m) : ma trận (n.m) các phần tử từ 0 đến 1
   Diag(V,k)  : nếu V là một vectơ thì sẽ tại ma trận đường chéo



2.     Các phép toán ma trận dùng matlab tính toán

1.1  chuyển vị           Tên_ma_trận’

1.2  .tính tổng : 

sum(Tên_ma_trận)


1.3  Lấy các phần tử trên đường chéo của ma trận :

diag(Tên _ma_trận)

1.4  Tính định thức ma trận :

det(Tên_ma_trận)

1.5  tính hạng của ma trận :

 rank(Tên_ma_trận)

1.6  : tính ma trận nghịch đảo : 

inv(Tên_ma_trận)


1.7   Truy xuất 1 phần tử trong    ma  trận

Tên_ma_trận(dòng i, cột j)

1.8  Các phép  toán cơ bản :

·        Cộng trừ 2 ma trận: A(n.m) ± B(n.m) = C(n.m)

·        Nhân 2 ma trận: A(n.m) * B(m.k) = C(n.k)
·        Nhân mảng:  C = A.* B (C(i,j) = A(i,j) * B(i,j))
·        Chia trái mảng: C = A.\ B  (C(i,j) = B(i,j) / A(i,j))
·        Chia phải mảng: C = A./ B  (C(i,j) = A(i,j) / B(i,j))
·       
Chia trái ma trận:  C = A \ B = inv(A) * B                                                                           (pt: AX = B)
·        Chia phải ma trận: C = A / B = B * inv(A)                                                                           (pt: XA = B)

·        Lũy thừa ma trận: A ^ P
    

Biểu diễn tín hiệu trên miền thời gian
n= [1:3] % Miền thời gian 1, 2, 3
x=[1 2 3] % Tín hiệu rời rạc
stem(n,x) % Biểu diễn tín hiệu x trên miền thời gian n

                   





9 comments:

  1. cho minh hoi là cách tính tổng các phần tử trong 1 ma trận là như nao ???

    ReplyDelete
  2. bạn xem thêm bài viết này : http://nguyenhuutienbk.blogspot.com/2012/04/matlab-va-ung-dung.html
    mình chưa hiểu ý câu hỏi của bạn, bạn có thể nói rõ thêm . chi tiết hơn ?

    cách đếm số phần tử : numel (tên ma trận ) ; hạng ma trận : rand (tên ma trận ) ; cỡ ma trận : size( tên ma trận )

    ..... bạn xem thêm bài giảng ở link trên , tóm tắt và rất nhiều ma trận đặc biệt mà ta cần tạo trong matlab.
    xin cảm ơn bạn

    ReplyDelete
  3. Giúp em với.em mới làm quen với phần mềm MATLAP 2010.e mới biết it lắm.em đang học cách nhân ma trận.em nhân hai ma trận với nhau.vói điều kiện các phần tử trong ma trận là số cụ thể rồi.còn em đang muốn làm nhân hai ma trận hoặc ba ma trận vói nhau .mà trong các phần tử của ma trận lại khong phải số cụ thể.ví dụ:ma trận
    a=[ 1 cosD SinF 3]
    b=[ 2 SinK 6 SinG]
    vậy a*b .trong MATLAP 2010 thi mình phải làm như thế nào?
    (D ,F ,K G là các góc .nhưng chưa cụ thể là góc mấy đọ hết)
    các Bác chỉ giúp em với.em đang rất cần lắm.càng nhanh càng tốt.

    ReplyDelete
  4. em cũng tìm tài liệu trên mạng về và đoc mấy ngày mà không làm được.
    các Bác giúp em với.

    ReplyDelete
  5. Các Bác ơi: em đang sư dụng matlap và gõ các ký hiệu đăc biệt ví dụ:góc têta ,góc anpha vao mà không được.

    ReplyDelete
  6. các bác trả lời sớm giup e với.có thể trả lời trên nay luôn hoặc gửi:email: vovanthedhcktphcm@gmail.com

    ReplyDelete
  7. sao không thấy ai trả lời the?

    ReplyDelete