YOMEDIA
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
215
lượt xem
9
download
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.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Maple: Bài 5 - Tính toán trong đại số tuyến tính
- TÍNH TOÁN TRONG
ĐẠI SỐ TUYẾN TÍNH
- 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]
- 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ử
- 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]]);
- 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
- CÁC PHÉP TÓAN TRÊN VECTOR VÀ
MA TRẬN
> f:=(m,n)>b^(m+n1)+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
- 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);
- 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);
- 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�
� �
- 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
- 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]
- 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([1I,I,3]);
b := [1 I, I, 3]
> dotprod(a,b);
3 I
- 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);
- 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]}]
- 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]
- 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);
- 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
- GiẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN
TÍNH
> eqns := {x+2*y=3,3*x5*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}
- GiẢI PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN
TÍNH
> eqns := {x+2*z=a,3*x5*y=6z};
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}
- 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]
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...