1. Trang chủ
  2. » Khoa Học Tự Nhiên

Tiểu luận sử dụng phần mềm maxima on android

24 1,4K 10

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 3,61 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tài liệu nhằm hướng dẫn các bạn sử dụng tốt phần mềm giải toán miễn phí Maxima on Android và trở thành công cụ quan trọng trong học tập của các bạn. Chúng tôi không khuyến khích các bạn sử dụng phần mềm Maxima để gian lận trong kiểm tra, thi cử và sao chép tài liệu. Xin cảm ơn

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HỒ CHÍ MINH

KHOA: VẬT LÝ -oOo -

Bài tiểu luận:

GVHD: Nguyễn Vũ Thụ Nhân Lớp: 42.01.LY.B

Trang 2

MỞ ĐẦU

Hiện tại, có khá nhiều phần mềm lập trình tính toán nhằm giúp giải quyết

các bài toán cơ bản trong mọi lĩnh vực Điển hình là các phần mềm Maple,

Mathlab, Mathematica vốn được sinh viên và các nhà nghiên cứu Toán và Vật

lí ưa dùng Ngay từ buổi đầu xuất hiện, các phần mềm trên ngay lập tức thu hút

được rất nhiều sự quan tâm Bằng chứng là nhiều đề tài, luận văn đã được bảo

vệ, nhiều tài liệu hướng dẫn sử dụng và nhiều trường đã đưa các phần mềm trên

vào giảng dạy

Tuy nhiên các phần mềm trên đều là các phần mềm thương mại với chi

phí bản quyền không hề rẽ chút nào, ít nhất cũng phải 500$ Và thế là để có thể

học tập, nghiên cứu được, chúng ta đành nhắm mắt vi phạm bản quyền để sử

dụng nó với giá chỉ 7.000 VND Ngoài ra các chương trình trên đòi hỏi máy

tính phải có cấu hình mạnh

Vậy, giải pháp nào có thể giúp chúng ta có thể sử dụng các chương trình

tính toán nhằm hỗ trợ việc học tập, nghiên cứu mà không bị vi phạm bản quyền

phần mềm Giải pháp duy nhất đó là sử dụng phầm mềm miễn phí, mã nguồn

mở Mặc dù miễn phí nhưng các chương trình vẫn có đầy đủ các chức năng lập

trình toán như Maple Và nổi bật hơn cả là phần mềm toán Maxima

(Trích dẫn thunhan.wordpress.com)

Trang 3

I Giới thiệu

Maxima là phần mềm giải toán gọn nhẹ, mã nguồn mở và hoàn toàn miễn

phí Mặc dù không “mạnh mẽ” như các phần mềm Maple, Mathlab hay

Mathematica nhưng phần mềm có khả năng xử lý hầu hết các tính toán từ cơ bản

đến cao cấp của học sinh, sinh viên và những ai nghiên cứu Toán học

Maxima, một hệ thống đại số máy tính được viết trong Common Lisp, bây

giờ nó đã xuất hiện trên các thiết bị di động Android của bạn Maxima, và người

tiền nhiệm của nó Macsyma là một trong những phần mềm nhất lâu đời trên thế

giới Nỗ lực phát triển ban đầu đã trở lại trong năm 1960 tại MIT LCS và dự án

Mac, và bây giờ vẫn tiếp tục phát triển như là một dự án mã nguồn mở

tại maxima.sourceforge.net

Maxima trên Android là một cổng của Maxima trên hệ điều hành

Android Nhờ nỗ lực Sylvain Ageneau’ trong việc mang ECL đến cho hệ điều

hành android một Maxima hoạt động tuyệt vời mà không cần thay đổi quá nhiều

với mã nguồn Maxima trên android là sự kết hợp của nhiều phần mềm mã nguồn

mở: ECL trên android, MathJax và Maxima

Việc cài đặt các phần mềm đòi hỏi tổng cộng 90MB vào lưu trữ Trong đó

30MB cần phải được cài đặt trên bộ nhớ trong, 60MB còn lại có thể được cài đặt

vào thẻ SD hoặc bộ nhớ trong Đối với các máy có bộ nhớ trong ít bạn nên lưu

vào thẻ SD để tăng khoảng trống không gian lưu trữ của thiết bị nhằm giúp máy

hoạt động tốt hơn Việc chạy đầu tiên của ứng dụng sẽ hỏi bạn nơi bạn muốn

60MB được cài đặt

Sau đó, bạn có thể thưởng thức Maxima / Macsyma trên điện thoại di động

hoặc máy tính bảng của bạn trên hệ điều hành Android

Trang 4

II Một số hàm và toán tử cơ bản:

1 Các hằng số toán học:

Một số hằng số toán học thông thường có sẵn trong Maxima là:

Trang 5

 Toán tử “-”: Trừ toán hạng thứ hai bằng toán hạng đầu

 Toán tử “*”: a*b được hiểu là a×b

 Toán tử “/”: a/b được hiểu là a÷b

 Toán tử “#”: a # b được hiểu là a ≠ b

 Toán tử “.” : được dùng để nhân 2 ma trận A, B, nghĩa là: A.B

Lưu ý: Không thể sử dụng toán tử “*” để nhân hai ma trận

 true, false dùng để tính giá trị đúng-sai

Ví dụ:

 Toán tử “%”: Tương đương với phím Ans trên máy tính cầm tay Nó có chức

năng thay thế kết quả gần nhất

 Toán tử “:” (toán tử gán) :Ta sử dụng câu lệnh ten_bien : gia_tri_gan; để

gán 1 giá trị nào đó cho biến

Ví dụ: Để gán giá trị cho biến a là 10 thì ta cần khai báo là: a:10 Nếu gán

giá trị đồng thời nhiều biến ta có thể dùng câu lệnh sau: [a , b, c] : [1, 5, 12] (nghĩa

là a = 1 , b = 5, c = 12)

 Toán tử “:=” : dùng để khai báo hàm số

Ví dụ: f (x,y) := x^2 + y^2 – exp(x*y), nghĩa là gán hàm f là hàm theo 2

biến x, y xác ñịnh bởi biểu thức: 𝑥2+ 𝑦2− 𝑒𝑥𝑦

 Toán tử “sqrt(x)” : trả về giá trị căn bậc hai của x

Trang 6

 Toán tử “abs(x)”: trị tuyệt đối của x , nếu x là số phúc, thì toán tử này chính

là phép lấy modun của số phức x

Ví dụ: compare(1/x,0) kết quả sẽ là # ; compare(x,abs(x)) ta được kết quả

<= ; hay compare(%i,%i+1) kết quả sẽ là: not comparable (vì không thể so sánh

2 số phức với nhau được)

 Toán tử “max(𝒙𝟏, 𝒙𝟐, … , 𝒙𝒏)”: trả về giá trị lớn nhất trong các giá trị

 Toán tử “random(x)”: tạo 1 số ngẫu nhiên có giá trị trong khoảng từ [0;x]

Ví dụ: random(9) = 1 hoặc random(9) = 6 …

 Toán tử “signum(x)”: signum(x) = { 1, 𝑥 > 00, 𝑥 = 0

−1, 𝑥 < 0

Trang 7

III Menu Maxima

Menu của giao diện gồm có:

1 About Maxima on Android

+ What is Maxima on Android? ( giới thiệu về phần mềm Maxima và ứng

dụng của nó)

+ What’s new in this release ( Những cái mới trong phiên bản này )

 Maxima android 5.36.1 được hỗ trợ

 Sách hướng dẫn bằng tiếng Nhật cho 5.36.1 được bao gồm

 …

+ Restrictions:(Hạn chế)

 Trong một số trường hợp lệnh Lisp có thể gây ra lỗi khi chấm dứt

dòng được tự động hoàn thành với $

 Một số điện thoại Android ( ví dụ SH-01G bởi Sharp Corp, Nhật Bản)

sẽ hiển thị công thức đầu ra với phông chữ rất nhỏ

 Hạn chế khi sử dụng bộ vẽ mặc định

 Nhiều người sử dụng không được hỗ trợ , chỉ chủ sở hữu của thiết bị

có thể cài đặt và sử dụng một cách chính xác MoA

 Tải (Lapack) sẽ thất bại và nó không thể được sử dụng

 Gói Plodf không được hỗ trợ phải sử dụng Drawdf thay thế

 Gói đơn vị và gói SCCM không làm việc

 Tải (opsubst) không hoạt động, tải (‘opsubst) hoạt động

+ MoA User Manual (Hướng dẫn sử dụng MoA)

 Lựa chọn nơi để cài đặt

 Bắt đầu lên màn hình

 Phóng to/ thu nhỏ bằng ngón tay

 Lệnh cho người mới bắt đầu Maximad

 Tái sử dụng các đầu vào trước

Trang 8

 Tùy chọn mức độ sử dụng trong Maxima

 Trang chủ JQuery Mobile

+ About the auther

Yasuaki Honda, Chiba, Japan

7 Next Example ( Ví dụ tiếp theo )

IV Các chức năng của Maxima

1 Giải phương trình, hệ phương trình

- Solve: Dùng để giải các phương trình đa thức, phương trình lượng giác

Tuy nhiên chức năng này không giải được các phương trình mũ phức tạp và không

giải triệt để được các bài toán lượng giác…

Câu lệnh: solve (phương trình, biến);

Ví dụ:

1) Giải phương trình: cos(3x)=0

Ta sẽ có được kết quả sau:

Trang 9

Khi giải các phương trình lượng giác, kết quả ta nhận được là nghiệm của phương trình, chương trình không đưa

ra họ nghiệm và Maxima cũng đưa ra 1 thông báo là chương trình đã sử dụng phương pháp hàm ngược để tìm nghiệm Do

đó, sẽ có một số nghiệm khác không thể hiện được như ví dụ sau:

2) Giải phương trình: sin(2x)=0.5

Khi đó, chúng ta chỉ nhận dược 1 nghiệm nhưng kết quả thực tế là

- Find root: Tìm nghiệm gần đúng của phương trình trong một đoạn [a; b]

cho trước

Ví dụ: Tìm nghiệm gần đúng của phương trình: 𝑥3+ 𝑥 − 1 = 0 trong đoạn [0;1]

Trang 10

Khi đó, ta có được kết quả như sau:

- Ngoài ra, để tìm tất cả các nghiệm của đa thức, các bạn dùng câu lệnh sau:

Thay vì có 3 nghiệm như trên, ta

chỉ thu được 1 nghiệm thực:

- Solve linear system: giải hệ phương trình tuyến tính (hệ phương trình bậc

nhất)

Câu lệnh: linsolve ([phương trình 1, phương trình 2,…,phương trình

n],[biến 1, biến 2,…,biến n]);

Ví dụ: Giải hệ phương trình sau: {

𝑥 − 7𝑦 + 3𝑧 = 12𝑥 − 3𝑦 = 2

𝑥 − 6𝑧 = 3

Trang 11

Ta thu được kết quả sau:

Ngoài ra, đối với hệ phương trình có số biến nhiều hơn số phương trình

như hệ 3 phương trình 4 ẩn, theo lý thuyết chúng ta biết hệ phương trình trên có

vô số nghiệm với 1 ẩn là tham số hay nói cách khác là giải hệ phương trình tuyến

tính có chứa tham số

Ví dụ: Giải hệ phương trình sau với tham số t: {

𝑥 − 7𝑦 + 3𝑧 + 4𝑡 = 12𝑥 − 3𝑦 − 𝑡 = 2

𝑥 − 6𝑧 = 3

Ta có được kết quả sau:

Hoặc ta có thể xem biến t như một tham số, ta sẽ có kết quả sau:

- Solve algebraic system: Giải hệ phương trình đại số Cũng tương tự như

trên, chúng ta cũng khai báo các phương trình và các biến của hệ theo câu lệnh

sau: algsys ([phương trình 1, phương trình 2,…,phương trình n],[biến 1, biến

2,…,biến n]);

Ví dụ:

1) Giải hệ phương trình sau: {𝑥2+ 2𝑥 + 𝑦 = 1

3𝑥 + 4𝑦 = 6

Trang 12

Khi đó, ta nhận được kết quả sau:

2) Giải hệ phương trình sau theo tham số t:

{

𝑡𝑥 + 𝑦 + 𝑧 = 1

𝑥 + 𝑡2𝑦 + 𝑧 = 14𝑥 + 𝑦 + 𝑡𝑧 = 1

- Solve ODE: Chức năng này dùng để giải phương trình vi phân thường cấp

1 hoặc phương trình vi phân tuyến tính cấp 2 hệ số hằng không có điều kiện đầu

Để thực hiện chức năng này, ta sử dụng cấu trúc lệnh như sau:

ode2 (phương trình, tham số biến, tham số hàm);

Trong đó, biểu thức lấy đạo hàm sẽ được kí hiệu như sau:

Đạo hàm cấp 1: ‘diff(y,x) Đạo hàm cấp n: ‘diff(y,x,n)

Ví dụ: Với phương trình: y’ – y = 0 (1), ta

sẽ có câu lệnh và kết quả như sau:

Trang 13

Với phương trình vi phân cấp 2: y’’ – 2y’ + y = 0 (2), ta sẽ có kết quả là:

Hoặc với phương trình vi phương hệ số hàm: y’’ – 3y’ + 4y = sin(2x) (3),

- Để giải phương trình vi phân cấp 1 với điều kiện ban đầu 𝑦(𝑥0) = 𝑦0 thì

các bạn cần giải phương trình trước và ghi nhận kết quả nghiệm tổng quát của

phương trình Ví dụ: Với phương trình (1), nghiệm biểu thức là %𝑐𝑒𝑥, khi đó các

bạn sử dụng chức năng Initial Value Problem (1) (điều kiện đầu của phương

trình vi phân cấp 1) bằng cách thực hiện câu lệnh ic1 (%, 𝒙 = 𝒙𝟎; 𝒚 = 𝒚𝟎)

Lưu ý: Câu lệnh này chỉ

có áp dụng khi bạn vừa tính xong

phương trình (1) và áp dụng ngay

câu lệnh này Đặc biệt, đối với

chương trình Maxima dùng cho

máy tính, các bạn có thể sử dụng

câu lệnh sau ic1 (%i1, 𝒙 =

𝒙𝟎; 𝒚 = 𝒚𝟎), với cách này sẽ tiện

lợi hơn rất nhiều và tiết kiệm

được thời gian hơn. Ví dụ:

- Với phương trình vi phân

tuyến tính cấp 2 hệ số hằng thì Maxima chỉ giải quyết được bài toán có điều kiện

đầu dạng Cauchy: 𝑦(𝑥0) = 𝑦0; 𝑦′(𝑥0) = 𝑦′0 Để tìm nghiệm riêng thỏa mãn điều

kiện đầu dạng này, các bạn sử dụng chức năng Initial Value Problem (2) sau khi

đã tìm nghiệm tổng quát

Ví dụ:

Trang 14

- Trong trường hợp phương trình vi phân cấp 2 có điều kiện biên 𝑦(𝑎) =

𝑦0; 𝑦(𝑏) = 𝑦1 thì sau khi giải tìm nghiệm tổng quát, các bạn sử dụng chức năng

Boundary Value Problem

- Solve ODE by Laplace: Giải phương trình vi phân bằng cách biến đổi

Laplace

2 Biến đổi biểu thức

- Partial Fraction: Phân tích 1 phân thức thành các phân thức đơn giản

Việc này sẽ rất có ít trong việc tính các bài toán tính phân hàm hữu tỉ

Câu lệnh: partfrac (phân thức cần phân tích, biến);

Ví dụ:

1) Phân tích 3𝑥

(𝑥−1)2(𝑥+2) thành các phân thức đơn giản

Trang 15

𝑥4+5𝑥2+4 với tham số t Ta nhận được:

Ngoài ra, chức năng trên còn có thể khai triển các biểu thức bậc cao thành các đa

thức Ví dụ: Khai

triển biểu thức: (2𝑥 +9)3(𝑥5+ 7𝑥4−6𝑥 + 5)2

Ta được kết quả:

(hình bên)

- Ngược với câu lệnh partfrac dùng để phân tích 1 phân thức thành các phân

thức đơn giản, lệnh ratsimp có khả năng quy đồng các phân thức.Đối với

câu lệnh này, các bạn không cần phải khai báo biến

Ví dụ: Quy đồng biểu thức sau: 𝑥 + 𝑦

𝑥2+4 Ta có:

Trang 16

Ngoài ra, ratsimp cũng giống như partfrac, nó cũng có thể khai triển các

biểu thức bậc cao thành các đa thức

Ví dụ: Khai triển biểu thức sau: 𝑥2(𝑥 + 2)(𝑥 + 3) + (𝑥 − 3)(𝑥 + 4)

Kết quả là:

- Câu lệnh factor dùng biến đổi các đa thức thành các nhân tử chung

Ví dụ: Phân tích biểu thức sau thành nhân tử chung:

Ta có:

- Continued fraction: biểu

diễn một số dưới dạng liên phân số

Trang 17

- Laplace transform: Tìm phép biến đổi Laplace của một hàm cho trước.Ví

- Devide polynomials: Thực hiện

phép chia đa thức, kết quả trả về gồm 2 thành phần có dạng như sau: [thương ,

phần dư]

3 Nguyên hàm, tích phân, đạo hàm, giới hạn

- Integrate: Tính tích phân bất định và tích phân xác định hoặc tính tích

phân bằng phương pháp số Để thực hiện chức năng này, các bạn thực hiện câu

lệnh sau:

integrate (biểu thức, tên biến, cận dưới, cận trên);

Trang 18

Ví dụ: Tính tích phân sau:𝐼 = ∫ 𝑑𝑥

√𝑥2+2𝑥−3

42

Ta được:

Trong trường hợp bạn

chỉ muốn tính nguyên

hàm bài toán trên, ta thực

hiện câu lệnh như sau:

Đối với một số bài

Tuy nhiên, kết quả này khá phức tạp Nếu ta biến đổi bài toán như sau rồi

tính nguyên hàm thì sẽ có kết quả nhanh chống và đơn giản hơn nhiều

𝑠𝑖𝑛2𝑥 + 𝑐𝑜𝑠2𝑥𝑑𝑥 = ∫ (1 −

𝑐𝑜𝑠2𝑥𝑠𝑖𝑛2𝑥 + 𝑐𝑜𝑠2𝑥) 𝑑𝑥

=> 2𝐼 = ∫( 𝑠𝑖𝑛2𝑥

𝑠𝑖𝑛2𝑥 + 𝑐𝑜𝑠2𝑥+ 1 −

𝑐𝑜𝑠2𝑥𝑠𝑖𝑛2𝑥 + 𝑐𝑜𝑠2𝑥)𝑑𝑥

<=> 𝐼 = ∫ (1 −𝑠𝑖𝑛2𝑥 − 𝑐𝑜𝑠2𝑥

𝑠𝑖𝑛2𝑥 + 𝑐𝑜𝑠2𝑥) 𝑑𝑥

Trang 19

- Differentiate: Tính đạo hàm các cấp của hàm số

Câu lệnh: diff (hàm số tính đạo hàm, tên biến, cấp đạo hàm);

hạn hàm số với chức năng tìm giới hạn trái, giới hạn phải và giới hạn hai phía

Ví dụ: Tính:lim

𝑥→1

𝑥−1−sin⁡(2𝑥−2)𝑥−1+sin⁡(3𝑥−3)

Nếu bạn muốn tính giới hạn một bên của biểu thức này thì thực hiện câu

lệnh như sau:

Trong đó: 1, plus là x->1+

1, minus là x->1-

Trang 20

4 Ma trận

- Để nhập 1 ma trận, các bạn dùng lệnh Matrix Chức năng Invert Matrix

dùng để tìm ma trận nghịch đảo (nếu có) của 1 ma trận cho trước

Ví dụ:

- Characteristic Polynomial:

Dùng để tìm đa thức đặc trưng của ma

trận Tuy nhiên cũng giống như ma trận

nghịch đảo, Maxima chỉ cho tìm đa thức đặc trưng cho kết quả liền trước đó Do

đó, nếu kết quả ngay trước, không phải dạng ma trận thì chương trình sẽ báo lỗi

Vì vậy, các bạn nên sử dụng câu lệnh:

Charpoly (biểu thức xác định ma trận, tên biến của giá trị riêng), expand;

Ví dụ:

- Determinant: Tính định thức của ma trận vuông Ví dụ:

Trang 21

- Eigenvalues: Tìm giá trị riêng của ma trận cho trước Ví dụ: Tìm giá trị

Trang 22

- Sử dụng chức năng

rectform để đơn giản hóa các ma

trận Đối vơi sma trận trên, ta

được:

- Transpose: Tìm ma trận

chuyển vị của ma trận cho trước Ví dụ:

5 Khai triển Taylor – Maclaurin

- Tìm khai triển Taylor tại điểm 𝑥 = 𝑥0 của một hàm số bất kỳ

Câu lệnh: taylor (hàm số f(x), x, x 0, bậc cần khai triển);

Ở câu lệnh trên, các bạn có thể sử dụng biến y, t,… tùy ý Với khai triển

Maclaurin, các bạn chọn x0=0

Ví dụ: Tìm khai triển Maclaurin của hàm số sin(tanx) đến bậc 7 Khi đó ta có kết

quả sau:

Trang 23

6 Vẽ biểu đồ

- Bao gồm các lệnh để vẽ

đường cong 2 chiều trong mặt

phẳng, hoặc mặt cong trong

không gian

- Tuy nhiên, để vẽ đường

cong trong tọa độ cực, ta phải

chuyển về đường cong r = r(p)

lệnh có cấu trúc như sau:

draw2d (implicit(2*x^2+3*y^2=4, x,-2, 2, y,-2, 2))

V Tài liệu tham khảo

MAXIMA - PHẦN MỀM TOÁN HỌC NGUỒN MỞ

(Thầy Nguyễn Vũ Thụ Nhân)

GIẢI TÍCH HÀM MỘT BIẾN – LÝ THUYẾT CHUỖI

(Đỗ Công Khanh (chủ biên) - Nguyễn Minh Hằng - Ngô Thu Lương)

VI Lời kết

Như vậy, nhóm vừa trình bày các vấn đề cơ bản của phần mềm Toán học

mã nguồn mở Maxima on Android Ngoài những tính năng cơ bản trên, các bạn

có thể tìm hiểu thêm những tính năng mở rộng (thông qua mục Manual) của

chương trình này Nhóm hy vọng phần mềm này sẽ giúp cho các bạn trong học

tập

Trang 24

Trong quá trình thực hiện, bài tiểu luận có thể còn những hạn chế và thiếu

sót nên rất mong nhận được ý kiến đóng góp từ các bạn để nhóm chỉnh sửa hoàn

thiện hơn qua gmail s2hoctroviet@gmail.com

Xin cảm ơn!

Ngày đăng: 14/12/2016, 20:36

TỪ KHÓA LIÊN QUAN