Đỗ Văn Nhơn – Giảng viên môn học Lập trình Symbolic và Ứng Dụng- đã truyền đạt những kiến thức vô cùng quý báu, xin chân thành cám ơn ban cố vấn học tập và ban quản trị chương trình đào
Trang 1CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTTQM
………… o0o…………
BÁO CÁO THU HOẠCH MÔN HỌC LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG
Đề tài:
GIẢI VÀ BIỆN LUẬN HỆ PHƯƠNG TRÌNH
BẬC NHẤT HAI ẨN
GVHD: PGS.TS.Đỗ Văn Nhơn HVTH: Nguyễn Văn Chung
MÃ SỐ: CH1101070
Trang 3LỜI MỞ ĐẦU
Ngày nay lĩnh vực trí tuệ nhân tạo ngày càng phát triển mạnh mẽ, bằng chứng cụ thể
là có rất nhiều công trình đề tài nghiên cứu và đã đưa vào ứng dụng trong rất nhiều lĩnh vực phát triển kinh tế xã hội, và cần có một công cụ để thể hiện những ý tưởng trong trí tuệ nhân tạo và Maple là sự lựa chọn tuyệt vời nhất
Em xin chân thành cảm ơn PGS.TS Đỗ Văn Nhơn – Giảng viên môn học Lập trình Symbolic và Ứng Dụng- đã truyền đạt những kiến thức vô cùng quý báu, xin chân thành cám ơn ban cố vấn học tập và ban quản trị chương trình đào tạo thạc sĩ Công nghệ thông tin qua mạng của Đại Học Quốc Gia TPHCM đã tạo điều kiện về tài liệu tham khảo để em có thể hoàn thành môn học này
Chân thành cám ơn!
Nguyễn Văn Chung
Trang 4MỤC LỤC
LỜI MỞ ĐẦU 1
I GIỚI THIỆU MAPLE 3
I.1 Giới thiệu : 3
II GIẢI VÀ BIỆN LUẬN HỆ 2 PHƯƠNG TRÌNH BẬC NHẤT 2 ẨN: 4
II.1 Xây dựng công thức: 4
II.2 Ví dụ giải và biện luận 4
II.3 Thuật giải 5
II.4 Các lệnh trong maple sử dụng cho chương trình: 7
II.5 Chương trình: 9
II.6 Dữ liệu thử nghiệm: 10
KẾT LUẬN 11
Trang 5I GIỚI THIỆU MAPLE
I.1 Giới thiệu :
Maple là một hệ thống tính toán trên các biểu thức đại số và minh hoạ toán học mạnh mẽ của công ty Warterloo Maple Inc (http://www.maplesoft.com/) Maple đã đời năm 1991 đến nay đã phát triển đến phiên bản 16 Maple có cách cài đặt đơn giản, chạy được trên nhiều hệ điều hành, có cấu trúc linh hoạt để sử dụng tối ưu cấu hình máy và có trình trợ giúp (help) rất dễ sử dụng Từ phiên bản7, Maple cung cấp ngày càng nhiều các công cụ trực quan, các gói lệnh tự học gắn liền với toán học phổ thông và đại học Ưu điểm đó làm cho nhiều người trên thế giới lựa chọn sử dụng Maple cùng các phần mềm toán học khác áp dụng trong dạy học toán và các công việc tính toán đòi hỏi của thực tiễn và sự phát triểncủa giáo dục
Có thể nhận thấy rằng ngoài các tính năng tính toán và minh họa rất mạnh mẽ bằng các câu lệnh riêng biệt( thường chỉ cho ta kết quả cuối cùng), Maple còn là ngôn ngữ lập trình hướng thủ tục (procedure) Thủ tục là một dãy các lệnh của Maple theo thứ tự mà người lập trình định sẵn để xử lý công việc nào đó, khi thực hiện thủ tục này Maple sẽ tự động thực hiện các lệnh có trong thủ tục đó một cách tuần tự và sau
đó trả lại kết quả cuối cùng
Maple có các tính năng cơ bản sau:
Là một hệ thống tính toán trên các biểu thức đại số
Có thể thực hiện được hầu hết các phép toán cơ bản trong chương trình toán đại học và sau đại học
Cung cấp các công cụ minh họa hình học thuận tiện gồm: vẽ đồ thị động
và tĩnh của các đường và mặt được cho bởi các hàm tùy ý và trong các
hệ tọa độ khác nhau
Là một ngôn ngữ lập trình đơn giản và mạnh mẽ, có khả năng tương tác với các ngôn ngữ lập trình khác
Cho phép trích xuất ra các định dạng khác nhau như word, HTML… Một công cụ biên soạn giáo án và bài giảng điện tử, thích hợp với các lớp học tương tác trực tiếp
Một trợ giáo hữu ích cho học sinh và sinh viên trong việc tự học
Trang 6II GIẢI VÀ BIỆN LUẬN HỆ 2 PHƯƠNG TRÌNH BẬC NHẤT 2 ẨN:
II.1 Xây dựng công thức:
Xét hệ phương trình bậc nhất hai ẩn
Nhân hai vế của phương trình (1) với b’, hai vế của phương trình (2) với –b rồi cộng các vế tương ứng, ta được: (ab’- a’b).x=cb’-c’b (3)
Nhân hai vế của phương trình (1) với –a’, hai vế của phương trình (2) với –a rồi cộng các vế tương ứng, ta được: (ab’-a’b).y=ac’-a’c (4)
Trong (3) và (4) ta đặt:
D = a.b’-a’.b,
Dx = c.b’-c’.b,
Dy = a.c’-a’.c
Khi đó, ta có hệ phương trình hệ quả:
Đối với hệ (II), ta xét các trường hợp sau:
1) D ≠ 0: Hệ có một nghiệm duy nhất (x,y), trong đó
;
2) D = 0
+ Dx ≠ 0 hoặc Dy ≠ 0: Hệ vô nghiệm
+ Dx = Dy = 0: Hệ có vô số nghiệm, tập nghiệm của hệ là tập nghiệm của phương trình ax + by = c
II.2 Ví dụ giải và biện luận
Giải và biện luận hệ phương trình sau:
Giải:
Ta có:
+ D = a.b’ – a’.b = m2 – 1
+ Dx = c.b’ – c’b = m2 + m – 2 = (m-1)(m+2)
+ Dy = a.c’ – a’.c = m – 1
Ta phải xét các trường hợp sau:
Trang 71) D ≠ 0, tức là m ≠ ±1 Ta có:
Hệ phương trình có nghiệm duy nhất
2) D = 0, tức là m = 1 hoặc m = -1
+ Nếu m = 1 thì D = 0, nhưng D = Dx = Dy = 0 và hệ trở thành
Ta có:
+ Nếu m = -1 thì D = 0, nhưng Dx ≠ 0 nên hệ vô nghiêm
Kết luận
Với m ≠ ± 1, hệ có nghiệm duy nhất
Với m = -1, hệ vô nghiệm
Với m = 1, hệ có vố số nghiệm (x ; y), tính theo công thức
II.3 Thuật giải
Bước 1: Tính giá trị D, Dx, Dy
Bước 2: Nếu D không chứa tham số m qua bước 3a, ngược lại qua bước 3b.
Bước 3a:
+ Nếu D ≠ 0 thì hệ phương trình có một nghiệm duy nhất:
Trang 8+ Nếu D = 0:
+ Nếu Dx = Dy = 0 thì hệ phương trình có vô số nghiệm
Thuật toán dừng
+ Nếu Dx không có tham số m và Dx ≠ 0
thì hệ phương trình vô nghiệm Thuật toán dừng
Ngược lại Dx có tham số m thì tính nghiệm m theo Dx là nghiemDx = {Dx = 0}
+ Nếu Dy không có tham số m và Dy ≠ 0
thì hệ phương trình vô nghiệm Thuật toán dừng
Ngược lại Dy có tham số m thì tính nghiệm m theo Dy là nghiemDy= {Dy = 0}
+ Tìm tập nghiệm m là giao của 2 tập nghiệm nghiemDx và nghiemDy gọi là nghiemM
+ Nếu nghiemM rỗng thì hệ phương trình vô nghiệm Thuật toán dừng
+ Nếu nghiemM khác rỗng:
For nghiem trong tập nghiemM Do
Nếu m = nghiem Thì hệ phương trình có vô số nghiệm End Do;
Bước 3b: Với D = 0 ta có tập nghiệm gọi là nghiemD theo biến m.
+ Nếu nghiemD rỗng thì hệ phương trình vô nghiêm Thuật toán dừng.
+ Ngược lại:
For nghiem trong tập nghiemD Do
Nếu m ≠ nghiem Thì hệ phương trình có nghiệm duy nhất
End Do;
For nghiem trong tập nghiemD Do Thay m = nghiem vào Dx và Dy Ta tính được giá trị Dx, Dy
(giatriDx, giatriDy).
Trang 9+ Nếu giatriDx ≠ 0 hoặc giatriDy ≠ 0 Thì hệ phương trình vô
nghiệm
+ Nếu giatriDx = giatriDy = 0 Thay m = nghiem vào hệ phương
trình tìm ra nghiệm (x;y) và (x;y) chính là nghiệm duy nhất của hệ phương trình
End Do;
Thuật toán dừng
II.4 Các lệnh trong maple sử dụng cho chương trình:
Lệnh giải phương trình và bất phương trình:
Cú pháp: solve (equations,variables)
Trong đó:
- equations: là phương trình, bất phương trình.
- variables: là biến số (ẩn).
Ý nghĩa: Lệnh thực hiện tìm nghiệm của biểu thức phương trình, bất phương trình
Ví dụ:
Lệnh lấy vế trái, vế phải của biểu thức:
Cú pháp: lhs(expr) và rhs(expr)
Trong đó: -expr: là biểu thức.
Ý nghĩa:
- lhs(expr) thực hiện trả về vế trái của biểu thức expr, lệnh tương đương op(1,expr).
- rhs(expr) thực hiện trả về vế phải của biểu thức expr, lệnh tương đương op(2,expr).
Ví dụ:
Trang 10Cú pháp: coeff(expr,x)
Trong đó: - expr là một đa thức chứa x.
- x là biến
Ý nghĩa: Lấy hệ số của x n trong biểu thức expr.
Ví dụ:
Lệnh hiển thị giá trị của biểu thức:
Cú pháp: print(expr)
Trong đó: - expr: là biểu thức bất kỳ.
Ví dụ:
Lệnh xuất một biểu thức theo một định dạng:
Cú pháp: printf(format,expr)
Trong đó: -format: định dạng hiển thị.
- expr: biểu thức được định dạng.
Ví dụ:
Trang 11II.5 Chương trình:
Trang 12II.6 Dữ liệu thử nghiệm:
Ta giải và biện luận hệ phương trình sau:
Nhập vào maple: HePhuongTrinh({m.x + y = m + 1, x + m.y = 2},x,y);
Kết quả của chương trình cho ra là:
+ Neu m!=-1
+ Neu m!=1
Thi he phuong trinh co nghiem duy nhat:
x=(2-(m+1)*m)/(1-m^2)
y=(-m+1)/(1-m^2)
+ Neu m=-1 thi he phuong trinh vo nghiem
+ Neu m=1 thi he phuong trinh co nghiem la:
Trang 13KẾT LUẬN
Qua bài thu hoạch này em học hỏi được phần nào về cách viết thủ tục, cách gọi hàm và cách sử dụng phần mềm Maple trong lập trình Symbolic Trí tuệ nhân tạo
Tuy nhiên bài thu hoạch này của em chưa thể hiện được hết vai trò và sức mạnh của Maple trong lập trình Symbolic, nhưng từ nền tảng này sẽ giúp em tiếp tục con đường học tập và nghiên cứu của mình trong tương lai
Trang 14Tài liệu tham khảo
1 PGS TS Đỗ Văn Nhơn – Bài giảng “Lập trình symbolic và ứng dụng”
- ĐH Công nghệ thông tin – ĐHQG TP Hồ Chí Minh
2 Mục Help của Maple 16.