180 likes | 419 Views
Bài Thuyết Trình. Môn: NGÔN NGỮ LẬP TRÌNH. Đề Tài: MATHEMATICA. Nhóm :11 Thành Viên : Lương Nguyễn Trung Hiếu Nguyễn Trọng Hiếu Phạm Đăng Hưng Lê Hồng Hải. I.Giới Thiệu Chung Về Mathematica.
E N D
Bài Thuyết Trình Môn: NGÔN NGỮ LẬP TRÌNH Đề Tài: MATHEMATICA
Nhóm:11 • Thành Viên: • Lương Nguyễn Trung Hiếu • Nguyễn Trọng Hiếu • Phạm Đăng Hưng • Lê Hồng Hải
I.Giới Thiệu Chung Về Mathematica • Mathematica là môi trường ngôn ngữ tích hợp đầy đủ nhất cho các tính toán kỹ thuật. • Được sử dụng trong khoa học, kỹ thuật, toán học và các lĩnh vực khác của kỹ thuật máy tính. • Mathe là thế hệ thứ 3 của dạng ngôn ngữ dựa trên nguyên lý xử lý các dữ liệu tượng trưng. • Nó là ý tưởng của Stephen Wolfram và được phát triển tại trung tâm nghiên cứu Wolfram • Phiên bản đầu tiên Mathe(ver 1.0) phát hành ngày 26/6/1988.
II.Cấu trúc của Mathematica • Phần lớn trên C+ (500.000 dòng lệnh) • 80.000 dòng lệnh khác được viết trên chính Mathe gồm • Các thuật toán riêng của Mathe • Slove • Eigenvalue • Plot, Plot3D • Factor • … • Các gói phụ kiện tăng cường
III. Tính Năng và Đặc Trưng • Các thư viện chuẩn và các tính năng tính toán nâng cao • Mô phỏng dữ liệu 2D-3D, tính năng ảo hoá, Công Cụ xử lý hình ảnh, phân tích đồ thị
Ma trận và thao tác dữ liệu • Giải pháp cho các hệ thống tính toán phức tạp (đạo hàm, tích phân,…), các bài toán quan hệ • Đại số và cho phép gộp, tách các phép toán • Đa số liệu thống kê thư viện • Một NNLT hướng đối tượng, có tính xây dựng, kết nối với SQL, Java, Http, .Net, C • Công Cụ xử lý hình ảnh, mô phỏng, phân tích đồ thị • Kỹ thuật xử lý bao gồm cả công thức chỉnh sửa và tự động tạo ra các báo cáo • Một tập hợp cơ sở dữ liệu của toán học, khoa học, và kinh tế-xã hội thông tin • Hỗ trợ cho các số phức, chính xác biến tượng trưng và máy tính hoá các công thức.
II/ Các phép toán số học +, -, *, /, ^ III/Cách khai báo một hàm số mới 1/ Khai báo hàm giá trị thực, biến thực • VD: f[x_]:=x*Sin[x]+(Log[x]^3)*(E^x)*Cos[x] • VD2: f[x_,y_]:= x*y^2+y*(Sin[x])^2
2/Khai báo hàm thực biến và hàm giá trị của véctơ (ma trận) • VD: cho ma trận .Khi đó hàm chuẩn của ma trận được khai báo như sau f[A_]:=Max[ Table[ Sum[Abs[A[[i,j]]],{j,1,n}], {i,1,m}] ] • VD:Khai báo hàm F[x_,y_,z_]:={ x+y+z , x*E^(y*z) , x*Sin[y]+y*Cos[z]}
IV/Giải toán bằng Mathematica 1/ Giải toán đại số và giải tích 1.1/ Vẽ đồ thị hàm số trong mặt phẳng • Vẽ đồ thị hàm một biến(y=f(x)): Plot[ f[x] , {x,a,b} ] • Vẽ trên cùng một hệ trục tọa độ đồ thị của hai hàm số: Plot[ {f[x],g[x]} , {x,a,b} ] • Vẽ đồ thị của hàm cho bởi phương trình tham số ParametricPlot[ {x[t],y[t]} , {t,a,b} ] Để vẽ trong không gian 3D ta dùng các hàm: • Plot3D • ParametricPlot3D
1.3/ Các giới hạn • Limit[f[x],x->a] • Limit[f[x],x->a, Direction->-1] • Limit[f[x],x->a, Direction->1] • Limit[f[x],x->Infinity] • Limit[f[x],x-> -Infinity] Trong đó infinity để chỉ vô cùng 1.4/ Tính đạo hàm cấp n của hàm f theo biến x D[ f , {x,n} ] Chú ý : Nếu tính đạo hàm cấp 1 có thể dùng lệnh D[ f ,x]
1.5/ Tính nguyên hàm của hàm f(x) theo biến x bằng lệnh Integrate[ f[x] , x] 1.6/ Tính tích phân của hàm f(x), trên đoạn [a,b] (kết quả là số thập phân) bằng lệnh NIntegrate[ f[x] , {x,a,b} ]
2/ Giải toán đại số tuyến tính 2.1/ Khai báo các ma trận biết trước các phần tử VD: Cho ma trận A={{1,2,4},{5,2,4}, {2,1,7}}; Muốn lấy phần tử hàng i cột j của ma trận A ta dùng lệnh A[[i,j]] 2.2/ Các phép toán ma trận • Chuyển vị của ma trận A: Transpose[A] • Ma trận ngịch đảo của A: Inverse[A] • Tính định thức của ma trận A: Det[A]
2.3/ Lệnh giải hệ phương trình A.X=B sau khi đã nhập hai ma trận A và B LinearSolve[A,B] Lỗi thường gặp khi gõ các công thức trên
V/ Lập trình đơn giản hỗ trợ môn phương pháp tính 1/ Muốn lặp lại các công việc “việc 1, việc 2, …, việc k” n lần ta dùng lệnh Do như sau Do[việc 1;việc 2;…; việc k, {n}] 2/ Chừng nào biểu thức lôgic “bt” còn có giá trị đúng thì ta còn thực hiện lặp lại các công việc “việc 1, việc 2, …, việc k” . Khi đó ta sẽ dùng lệnh While để lập trình như sau While[bt ,việc 1;việc 2;…; việc k]
3/ Trong mỗi bươc lặp đôi khi ta cần tăng giá trị của biến nguyên n thêm p đơn vị ta dùng lệnh sau n+=p 4/ Để in ra màn hình gia trị của một biến x ta dùng lệnh Print như sau Print[x]