intTypePromotion=1

Bài giảng Maple: Bài 5 - Tính toán trong đại số tuyến tính

Chia sẻ: Dat Dat | Ngày: | Loại File: PPT | Số trang:24

0
65
lượt xem
5
download

Bài giảng Maple: Bài 5 - Tính toán trong đại số tuyến tính

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Maple: Bài 5 - Tính toán trong đại số tuyến tính giới thiệu tới các bạn về các phép toán trên vector và ma trận; so sánh hai ma trận; cộng ma trận; nhân hai ma trận; tính tích trong của ma trận và vector; tích trực tiếp của hai vector; tích vô hướng của hai vector; tính giá trị riêng & vector riêng của ma trận;... Mời các bạn tham khảo.

 

Chủ đề:
Lưu

Nội dung Text: Bài giảng Maple: Bài 5 - Tính toán trong đại số tuyến tính

  1. TÍNH TOÁN TRONG  ĐẠI SỐ TUYẾN TÍNH
  2. CÁC PHÉP TÓAN TRÊN VECTOR VÀ  MA TRẬN  Trước hết cần nạp gói công cụ linalg. > with(linalg);  Muốn tạo một vector ta dùng: > vector(dim,[x(1),x(2),…,x(dim)]); Ví dụ: > u:=vector(2,[3,4]);           u:=[3,4] > v:=vector(3,[1,5,­3]);           v:=[1,5,­3]
  3. CÁC PHÉP TÓAN TRÊN VECTOR VÀ  MA TRẬN  Muốn tạo ma trân ta dùng một trong các lệnh  sau: > matrix(L);   #L:bảng cách danh sách,vetor dòng > matrix(m,n);          #m,n là số dòng và cột > matrix(m,n,L);  > matrix(m,n,f);        #f: hàm tạo các phần tử > matrix(m,n,lv);      #lv:danh sách hoặc                                               vector các  phần tử  
  4. CÁC PHÉP TÓAN TRÊN VECTOR VÀ  MA TRẬN  Ví dụ: Nhập ma trận  1 2� � A := � 3 4 � � � � 5 6� � � > A:= matrix(3,2,[1,2,3,4,5,6]); > A:= matrix([[1,2],[3,4],[5,6]]); > A:= array(3,2,[1,2,3,4,5,6]); # sai > A:= array([[1,2],[3,4],[5,6]]);
  5. CÁC PHÉP TÓAN TRÊN VECTOR VÀ  MA TRẬN  Để nhập một ma trận gồm các phần tữ  giống nhau: > B:= matrix(2,2,3);  Các phần tử của ma trận có cùng một qui  luật. b1 + b b 2 + b b3 + b � � �2 � b + b b + b b + b� � 3 4
  6. CÁC PHÉP TÓAN TRÊN VECTOR VÀ  MA TRẬN > f:=(m,n)­>b^(m+n­1)+b;        m + m −1 f (m, n) = b +b >  A:=matrix(2,3,f);  Có thể nhập trực tiếp bằng lệnh linalg[matrix] >  linalg[matrix]([[a,b,x],[1,2,3]]); # không cần                                                             phải nạp gói linalg                        
  7. SO SÁNH HAI MA TRẬN  Dùng lệnh equal: > equal(matrix1,matrix2);  Hai ma trận so sánh phải có cùng số hàng, số  cột nếu không Maple sẽ báo lỗi. > A:= matrix(2,2,[1,3,1,3]); > B:= matrix([[1,3,1,3]]); > C:= array([[1,3],[1,3]]); > equal(A,B); > equal(A,C);
  8. CỘNG MATRẬN > A:=matrix(2,3,[1,­1,3,4,1,9]); 1 −1 3 � � A := � � 4 � 1 9 � > B:=matrix([[­1,1,­3],[­4,­1,­9]]); −1 1 −3 � � B := � � −4 −1 9 � � > evalm(A+B);
  9. NHÂN HAI MA TRẬN  Dùng lệnh multiply. > multiply(matrix1,matrix2,…);  Ví dụ: > A:=matrix(2,3,[­2,4,0,6,­1,4]); > B:=matrix([[1,­5],[­3,5],[0,6]]); > multiply(A,B); −14 30 � � �9 −11� � �
  10. TÍNH TÍCH TRONG CỦA MA TRẬN VÀ  VECTOR  Dùng lệnh innerprod để tính tích trong của một  dãy các ma trận và vector. > u:=vector(2,[1,2]); > v:=vector(3,[1,2,3]); > C:=matrix(2,3,[1,1,1,2,2,2]); > innerprod(u,C,v); 30 > multiply(multiply(u,C),v); 30
  11. TÍCH TRỰC TiẾP CỦA HAI VECTOR  Tích trực tiếp của hai vector là một vector. > crossprod(vector1,vector2); > v1:=vector(3,[1,­2,0]);                            v1 := [1, ­2, 0] > v2:=vector(3,[0,2,5]);                            v2 := [0, 2, 5] > crossprod(v1,v2);                              [­10, ­5, 2]  
  12. TÍCH VÔ HƯỚNG CỦA HAI VECTOR  Tích vô hướng của hai vector cho kết quả một số thực hoặc  phức . > dotprod(vector1,vector2); > dotprod(vector1,vector2,’orthogono’); > dotprod([1,0,x],[1,y,0]);   1 > a:=vector([1+I,2,I]);                           a := [1 + I, 2, I] > b:=vector([1­I,I,3]);                           b := [1 ­ I, I, 3] > dotprod(a,b);                                  3 I
  13. TÍNH GÍA TRỊ RIÊNG & VECTOR  RIÊNG CỦA MATRẬN   Lấy đa thức đặc trưng bằng: > charmat(A,lambda);  Lấy đa thức đặc trưng bằng: >  charpoly(A,lambda); > A:=matrix(2,2,[1,­3,2,4]); > charmat(A,lambda); > charpoly(A,lambda);  
  14. TÍNH GÍA TRỊ RIÊNG & VECTOR  RIÊNG CỦA MATRẬN  Xác định vector riêng bằng lệnh: > eigenvects(M); > M:=matrix(3,3,[1,­3,3,3,­5,3,6,­6,4]); > eigenvects(M);  [4, 1, {[1, 1, 2]}], [­2, 2, {[1, 1, 0], [­1, 0, 1]}]
  15. TÍNH GÍA TRỊ RIÊNG & VECTOR  RIÊNG CỦA MATRẬN  Dùng hàm Eigenvals. > Eigenvals(A,vecs); >B:=matrix(3,3,[1,2,4,3,7,2,5,6,9]; >evalf(Eigenvals(B));      [­0.8946025434, 13.74788901, 4.146713483]
  16. TÍNH HẠNG ,ĐỊNH THỨC VÀ MA TRẬN  NGƯỢC  Dùng các lệnh > rank(A); > det(A); > inverse(A); > X:=matrix([[1,4,2],[­3,0,5],[2,0,­6]]); > rank(X); > det(X); > inverse(X);
  17. GiẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN  TÍNH > geneqns(A,x); > geneqns(A,x,b); > genmatrix(eqns,vars); > genmatrix(eqns,vars,flag);  > genmatrix(eqns,vars,b); Tham số: ­A,B tên ma trận ­X danh sách các ẩn ­Eqns tập hợp các phương trình ­Vars tập hợp các biến ­ Flag tự chọn
  18. GiẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN  TÍNH > eqns := {x+2*y=3,3*x­5*y=0};                 eqns := {3  x ­ 5 y = 0, x + 2 y = 3} >A := genmatrix(eqns, [x,y]); 3 −5� � A := � � 1 � 2 � >geneqns(A,[x,y]);         {x + 2 y = 0, 3 x ­ 5 y = 0} > geneqns(A,x);         {x[1] + 2 x[2] = 0, 3 x[1] ­ 5 x[2] = 0}
  19. GiẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN  TÍNH > eqns := {x+2*z=a,3*x­5*y=6­z};        eqns := {x + 2 z = a, 3 x ­ 5 y = 6 ­ z} > A := genmatrix(eqns, [x,y,z], flag); 1 0 2 a� � � 3 −5 1 6 � � � >A := genmatrix(eqns, [x,y,z], 'b'); 1 0 2� � � 3 −5 1 � > print(b); � �                                 [a, 6] > geneqns(A,[x,y,z],b);                    {x + 2 z = a, 3 x ­ 5 y + z = 6}
  20. GiẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN  TÍNH  Giải phương trình: Ax=u > linsolve(A,u); > A := matrix( [[1,2],[1,3]] ):    b := vector( [1,­2]):    linsolve(A, b);                     [7,­3]
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2