Cách sử dụng phần mềm R vào giải một số bài toán

Một phần của tài liệu Một số ứng dụng của đại số tuyến tính trong kinh tế (Trang 35 - 42)

a. Ma trận và định thức:

* Khai báo biến ma trận:

Ví dụ khai báo ma trận cỡ 1x3 (vectơ dòng):

> A<-matrix(c(1,2,4), nrow=1) (nhấn enter)

> A (nhấn enter xem ma trận A)

Hay khai báo ma trận cỡ 3x3:

> B<-matrix(c(11,4,20,4,9,8,3,6,9),nrow=3)(nhấn enter)

> B (nhấn enter xem ma trận B)

Hoặc dùng lệnh:

B<-matrix(c(11,4,3,4,9,6,20,8,9),3,3)

Lưu ý là R khai báo ma trận theo CỘT

Hình 1

* Các phép toán trên các phần tử của ma trận:

Khi đã khai báo các biến A và B, ta có thể thực hiện các phép toán cộng, trừ, nhân hai ma trận cùng cấp, lũy thừa, ...

> A+B hoặc > D=A+B(nhấn enter để xem kết quả)

> A*B (nhấn enter để xem kết quả)

> A∧9 (nhấn enter để xem kết quả)

Lưu ý các phép toán này là trên từng phần tử.

Hình 2

* Phép nhân hai ma trận:

> A%*%B (nhấn enter để xem kết quả)

Với A, B là hai ma trận khai báo như ở giao diện phần mềm R dưới đây, ta tính được ma trận AB như hình 3.

Hình 3

* Phép lũy thừa ma trận:

Tạo hàm lũy thừa tên là myfun.

> myfun<-function(X,n){if(n==1) X else {Y<-X; for(i in (2:n)) {X<-X %*% Y}}; X}

Sau đó tính lũy thừa mình muốn.

Ví dụ tính B10.

> myfun(B,10) (nhấn enter để xem kết quả)

* Ma trận chuyển vị:

Ví dụ tính Bt. > t(B) * Tìm hạng của ma trận:

Ví dụ tính r(B). > qr(B)$rank

* Tìm ma trận nghịch đảo:

Ví dụ tính B−1. > solve(B)

* Tính định thức (của ma trận vuông):

Ví dụ tính |B|. > det(B)

Ta được giao diện phần mềm R như hình 4.

b. Hệ phương trình tuyến tính:

* Trước tiên, ta cần cài đặt thư viện matlib:

Chú ý máy tính phải đang kết nối internet. > install.packages("matlib")

Phần mềm sẽ hiện 1 bảng CRAN mirror, bạn chọn 1 cái nào đó rồi OK. Sau đó phải gọi thư viện matlib bằng lệnh sau:

> library(matlib)

* Vậy là sau này:

Mỗi lần chạy R để giải hệ phương trình tuyến tính, bạn không phải cài đặt nữa nhưng vẫn phải gọi thư viện matlib.

Ví dụ 1: Giải hệ phương trình sau:    x+y +z = 6 x−y = −1 x+y + 2z = 9 Ta thực hiện: > A<-matrix(c(1,1,1,1,-1,1,1,0,2), nrow=3) > B<-matrix(c(6,-1,9), nrow=3)

> Solve(A, B, verbose = FALSE, fractions = TRUE)

Giao diện phần mềm R như hình 5 và ta hiểu rằng x = x1 = 1, y =

x2 = 2, z = x3 = 3:

Ví dụ 2: Giải hệ phương trình sau: x1 + 2x2 + 4x3 + 6x4 = 1 −2x2 + x3 −x4 = 2 Ta thực hiện: > A<-matrix(c(1,0,2,-2,4,1,6,-1), nrow=2) > B<-matrix(c(1,2), nrow=2)

> Solve(A, B, verbose = FALSE, fractions = TRUE)

Giao diện phần mềm R như hình 6 và ta hiểu rằng:

x1 = 3−5x3 −5x4;x2 = −1 + 1

2x3 − 1

2x4;x3, x4 ∈ R.

CHƯƠNG2

MỘT SỐ ỨNG DỤNG CỦA ĐẠI SỐ TUYẾN TÍNH TRONG KINH TẾ

Một phần của tài liệu Một số ứng dụng của đại số tuyến tính trong kinh tế (Trang 35 - 42)

Tải bản đầy đủ (PDF)

(95 trang)