Phần mở đầu trình bày: Lí do chọn đề tài, mục tiêu nghiên cứu, nhiệm vụ nghiên cứu, đối tƣợng và phạm vi nghiên cứu, phƣơng pháp nghiên cứu, đóng góp của đề tài và cấu trúc khóa luận. - Phần nội dung có 3 chƣơng : + Chƣơng 1: Giới thiệu tổng quan về Mathematica + Chƣơng 2: Cơ sở lý thuyết về phần cơ học + Chƣơng 3: Sử dụng phần mềm Mathematica để các bài tập đồ thị phần cơ học vật lý 10. - Phần kết luận. 2 PHẦN 2: NỘI DUNG CHƢƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ MATHEMATICA 1.
Giới thiệu sơ bộ về ngôn ngữ lập trình Mathematica 1. Giới thiệu về phần mềm Mathematica Trong các môn học ứng dụng cần giải quyết các bài toán cụ thể với thời gian nhanh nhất là điều cấp thiết. Thế hệ ngôn ngữ giải tích đầu tiên là Macsyma, Reduce…. Ra đời từ những năm 60 của thế kỷ XX.
Các ngôn ngữ này chủ yếu dùng cho giải bài toán năng lƣợng cao. Nhƣợc điểm của chúng là định hƣớng chạy trên các máy tính lớn. Thế hệ tiếp theo là Maple, Mathab, Mathematica …. Các ngôn ngữ này có ƣu điểm là chạy nhanh hơn và chấp nhận bộ nhớ nhỏ hơn chạy hoàn hảo trên các máy tính cá nhân.
Nỗi bật lên là Mathematica với ƣu điểm vƣợc trội về giao diện thân thiện, khả năng vẽ đồ thị siêu việt và khả năng tính toán không thua kém gì các ngôn ngữ khác. Mathematica là một ngôn ngữ lập trình mạnh với hơn 700 hàm có sẵn trong thƣ viện hàm sẽ giải quyết các vấn đề nêu trên. 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.
Mathematica 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. Giao diện tương tác của Mathematica Mathematica đƣa ra một giao diện thân thiện với ngƣời sử dụng đƣợc đặt tên là bản ghi ( note book – thƣờng đƣợc gọi tắt là nb ).
Các bản ghi là dạng cửa sổ biễu diễn một lƣợt sử dụng Mathematica bao gồm đầy đủ các ghi chép cả về chƣơng trình nguồn, cả về kết quả thực hiện trên cùng một bản ghi và đƣợc ghi lại dƣới dạng file riêng của Mathematica có đuôi là *. Các bản ghi đƣợc tổ chức thành các ô ( cell ) một cách trật tự và thứ bậc. Ta có thể nhóm một nhóm ô lại sao cho chỉ thấy ô đầu của nhóm ô đó ( số nhóm lồng tùy ý ). Mathematica còn đƣa ra một giao diện phụ là các nút lệnh Palettes và các nút lệnh Button.
Ngƣời sử dụng chỉ cần nhấp chuột rất đơn giản và có thể tùy ý biến theo ý mình. Các tính năng của Mathematica a. Khá năng tính toán bằng số Mathematica cho phép tính toán một cách trực tiếp giống nhƣ dung một Calculator với độ chính xác bất kỳ một biểu thức phức tạp nào bằng cách viết biểu thức và nhấn tổ hợp phím shifl – Enter. Ví dụ: Ta có thể tính biểu thức sau một cách nhanh chóng: , - Out[1]= In[2] = Out[2]= b.
Khá năng tính toán với biến đặc trưng. Mathematica cho phép giải các phƣơng trình hay tính toán các biểu thức mà nghiệm hay các kết quả đƣợc biểu diễn tƣợng trƣơng: Ví dụ: In[1]:= √ √ Out[1]= (√ √ ( ) ,√ √ -) 4 c. Khá năng đồ họa hai chiều Mathematica cho phép vẽ tất cả các dạng độ thị có thể của hàm số với cầu trúc lệnh đơn giản nhất nhƣ đồ thị hai chiều, đồ thị ba chiều, đồ thị đƣờng viên, đồ thị mật độ… 1. Các quy tắc cơ bản về ngữ pháp của Mathematica Các biến đi theo hàm đều đƣợc đặt trong ngoặc vuông và đƣợc dùng để nhóm các toán tử, các vectơ, ma trận.
Cú pháp hình thức nhƣ sao: Hàm [expr] Ví dụ: Sin[x] Danh mục đƣợc liệt kê trong dấu ngoặc nhọn{…} Ví dụ: {1,2,3,…}, {Sin[t], Cos[t]}… Dầu (…) dùng để nhóm các biểu thức lại. Ví dụ: , ⁄( )- Mathematica phân biệt chữ hoa với chữ thƣờng, chữ đầu của tên hàm phải đƣợc biết hoa. Ví dụ: Plot, Cos, Sin, Integrate… Nếu tên chử hai hoặc nhiều tên kết hợp thì ký tự đầu tiên của mỗi tên đều phải viết tổ hợp Ctrl + k để tìm các hàm các tên giống nhau ở phần đầu. Pháp nhận đƣợc hiển thị bởi một khoảng trẳng hoặc bởi kỳ tự “ * ” Khi kết thúc một lệnh của Mathematica bằng dấu chấm phẩy thì kết quả không hiển thị trên màn hình.
Sau khi viết lệnh nhấn Shift + enter để thực hiện lệnh. Không đƣợc chạy nhiều chƣơng trình cũng một lúc vì các biến vẫn còn lƣu giá trị của nó, khi đó kết quả của bạn sẽ bị sai, để khắc phục chính lại nhƣ sau Evaluation/Quit Kerne/Local. Cần phân biệt List và Matrix trong Mathematica. Nếu viết {1,2,3,4} thì đây là một List gồm 4 phần tử, còn nếu viết {1}, {2}, {3}, {4} đây là một là một matrix 4 dòng 1 cột đối với một List thì không thể dùng hàm chuyển vị Transpose đƣợc, tuy nhiên bạn có thể sử dụng các phép toán của Matrix và List, kết quả vẫn đúng khi tính toán giữa các ma trận.
Sử dụng các lệnh trực tiếp trong Mathematica Lệnh trong Mathematica là các Cell gồm: In[n]:= Nhập lệnh Out[n]:=Trả về kết quả Trong đó n là số thứ tự câu lệnh. Lệnh trong Mathematica có thể sử dụng trực tiếp. Ví dụ1: Để tính ta nhân: ln[1]:= sẽ cho kết quả là Out[2]= Ký hiệu % dùng để lấy kết quả Cell liền kề trƣớc đó. Ví dụ2: In[2]:= Out[3]= Ví dụ 3: , - Out[3]= Trong Mathematica ta có thể gán kết quả cho một tên.
Các pháp toán cơ bản trong biểu thức Một số phép toán cơ bản: + : Phép cộng ! : Giai thừa : Phép trừ : Nhỏ hơn hoặc bằng * : Phép nhân < : Nhỏ hơn / : Phép chia >= : Lơn hơn hoặc bằng ^ : Phép lũy thừa >: Lớn hơn Ví dụ: In[6]:= Out[6]= 6 In[7]:= Out[7]= Trong Mathematica phân giữa (* * ) thì không có giá trị, nó chỉ là một lời chú thích. Ví dụ: In[8]:= ⁄ Out[8]= Để biến thông tin về hàm đang sử dụng, ta sử dụng dấu ? trƣớc tên hàm đó. Để tìm tất cả các hàm bắt đầu bằng một tên hàm nào đó ta dụng ? tên hàm * Ví dụ:Factor* kết quả * + * + * +* + Ta có thể dùng lệnh ? * tên hàm * để tìm tất cả các hàm khác bắt nguồn từ một tề hàm. Có hơn 700 hàm đƣợc xây dựng trong Mathematica, tên của hàm trong Mathematica nói chung là chỉ ra mục đích sử sụng hàm đó.1: Một số hàm cơ bản trong Mathematica.
Hàm số cơ bản Khai báo trong Hàm số cơ bản Khai báo trong Mathematica Mathematica | | | | √ Sqrt, - hoặc x^(1/2) Sinx Sin[x] Cosx Cos[x] Tgx Tan[x] Cotgx Cot[x] Arcsinx ArcSin[x] Arccosx Arccos[x] Arctgx ArcTan[x] Arctagx ArcCot[x] Log[x] Ln x Log[x] hoặc Exp(x) Ta có thể vào Palettes → Other → Basic Math Input có sẵn trong Mathematica 8. Bảng Basic Math Input có dạng: 7 1. Tính toán cơ bản trong Mathematica 1. Tính giới hạn Để tính các giới hạn ( ), ( ), ( ), ( ), ( ).
Ta đùng các lệnh tƣơng ứng sao đây: , , - - , , - - , , - - , , - - , , - - Ví dụ: Limit[(1+x/n)^n, n Infinity]= Limit[(Sin[x] Tan[x]) / ,x 0]= 1. Tính đạo hàm của hàm số Đạo hàm cấp 1 của hàm 1 biến ( ) , , - - Đạo hàm cấp n của hàm một biến ( ) , , - * +- Đạo hàm của hàm nhiều biến ( ) Ví dụ: đạo hàm 2 lần theo x, 1 lần theo y và 4 lần theo z nhƣ sao: , ( )* + * +- Đào hàm toàn phần: Dt[f,{x,n}, n là bậc của đạo hàm Dt [f,{x,nx}, {y,ny}.] đạo hàm nhiều biến. Tính tích phân Để tính nguyên hàm của f(x) ta dùng lệnh: Integrate[f(x), x]. Ví dụ: Để tính tích phân xác định của f(x) trên [a,b] ta dùng lệnh Integrate[f[x], {x,a,b}].
Để tính tích phân xác định của f(x) xá định trên [a,b] kết quả hiển thị dƣới dạng số thập phân ta dùng lệnh Nintegrate[f[x],[x,a,b] Ví dụ: , - , -= ( ) , - √ , - , - √ In[2]:= , * +-= ( √ , -) ( ) Nintegrate, * +-= ( ) Lƣu ý: Ta có thể sử dụng BaiscInput. Vào File Palettes BaiscInput hoặc Palettes có sẵn trên thanh công cụ. Giải phương trình và hệ phương trình Đầu tiên chúng ta làm quan với lệnh Solve: Cú pháp và cách lấy giá trị nghiệm hãy chú ý đến trƣờng hợp có nghiệm bội nhƣ trong ví dụ sau đây: Ví dụ: ln[1]:= , - √ √ Out[1]= ** +* ++ , - √ √ Out[2]= * + , - ,, -- √ Out[3] In[4]:= , - Out[4]** +* +* ( √ )+ * ( √ )++ 9 Theo ví dụ trên thì ta thấy cú pháp để giải một phƣơng trình đơn một biến: Solve[equation, variable]. Cụ pháp tổng quát đối với các đối số của lệnh Solve bao gồm một list các phƣơng trình phụ thuộc vào một List các biến, có nghĩa là: Solve[equation – list – variable – list].
Ví dụ sao đây sẽ cho thấy đƣợc điều đó: ,* +* +- Out[1] ** +* +* ( √ ) ( √ )+ * ( 2 + i√ ),y → ( - 2 - i√ )}} Chú ý: không phải tất cả các phƣơng trình đa thực đều có nghiệm chính xác. Theo lý thuyết phƣơng trình thì các phƣơng trình thì các phƣơng trình bậc 4 trở xuống đều có công thƣc nghiệm chính xác đƣợc xây dựng từ các hệ số. Tuy nhiên theo Galois đối với các phƣơng trình bậc 5 trở lên chúng ta lại có những công thức nghiệm thƣ thể. Mathematica sẽ không đánh giá các phƣơng trình bậc 5 trở lên ( các phƣơng trình không thể phân tích thành nhân tử ).
Tuy nhiên có thể tìm tất cả các nghiệm của phƣơng trình đa thức bằng phƣơng pháp số thông qua lệnh N[ ]. Ví dụ tham khảo: , - Out[1]= {{x→ ( 1 - i√ )},{x → (1 + i√ )},{x → Root[1 + 2#1 + # -},{x , -},{x → Root[1 + 2#1 + # -},{x → Root[1 + 2#1 + # -},{x → Root[1 + 2#1 + # -}} 1. Các kiểu số trong Mathematica Có 4 kiểu số thông dụng trong Mathematica: Integer: Số nguên Rational: Số hữu tỷ Real: Số thực Complex: Số phức Để kiểm tra một số thuộc kiểu số nào đó ta dùng hàm Head. Ví dụ; Head[1234] trả về là Integer.