Maxima là hệ thống đại số máy tính (computer algebra system) được xây dựng bởi đội ngũ chuyên gia của MIT vào năm 1982, và dựa trên hệ đại số Macsyma Được viết bằng ngôn ngữ Lisp và có thể chạy trên hầu hết nền tảng POSIX như OS X, Linux, windows, android Là phần mềm miễn phí, gọn nhẹ
Trang 1I.Lịch sử hình thành của maxima
Maxima là hệ thống đại số máy tính (computer algebra system) được xây dựng bởi đội ngũ chuyên gia của MIT vào năm 1982, và dựa trên hệ đại số Macsyma
Được viết bằng ngôn ngữ Lisp và có thể chạy trên hầu hết nền tảng POSIX như OS X, Linux, windows, android
Là phần mềm miễn phí, gọn nhẹ
II.Sử dụng maxima
Đầu tiên, truy cập vào trang http://maxima.sourceforge.net/ để tiến hành dowload maxima
Sau khi cài đặt, ta sẽ có 2 tập tin :
Xmaxima : dành cho người dùng thích sử dụng command line để viết các biểu thức toán học
Trang 2Wxmaxima : giao diện trực quan, dành cho người dùng mới làm quen có thể thiết lập câu lênh bằng cách click vào các menu mà không cần nhớ câu lệnh
Một số menu thông dụng
1.Menu cell
Trang 32 Menu maxima
3 Menu Equations
4 Menu Algebra
Trang 45 Menu Caculus
6 Menu Simplify
Trang 57 Menu Plots
8 Menu numeric
III.Các hàm và toán tử thông dụng
1 Các hằng số
%phi
Trang 6acos(x) arccos(x)
Để khai báo một biến nào là hằng số, ta dùng : declare(variable, constant) ;
Để kiểm tra một biến nào đó có phải là hằng số không, ta dùng : constantp(variable) ;
2 Hàm lượng giác
3 Hàm hyperbol, hàm mũ, hàm log
a^x exp(x) hoặc %e^x
Trang 74 Toán tử thông dụng
x^3 + 8
‘+’, ’-’, ‘*’, ‘/’ Thực hiện các phép toán cộng, trừ,
nhân, chia
‘<’, ‘>’, ‘>=’, ‘<= Thực hiện các phép toán so sánh
cơ bản
mod(arg1, arg2) Chia lấy dư Ví dụ mod(5,3)
abs(x) Lấy trị tuyệt đối của x Ví dụ :
abs(-5)
lớn hơn x
Ví dụ : ceiling(5.3) sẽ cho kết quả
là 6 compare(x,y) So sánh giá trị của x và y, kết quả
trả về là các phép toán logic
IV.Tính toán cơ bản và giải tích
1.Đa thức
Coeff(expr,x,n) trả về hệ số của x^n trong biểu thức
Content(p_1, x_1,…,x_n) trả về danh sách mà phần tử đầu tiên là ước
chung lớn nhất của p_1, còn phần tử thứ 2 là đa thức p_1 được chia bởi content
Denom(expr) trả về mẫu của đa thức
Trang 8divide (p_1, p_2, x_1, …, x_n) trả về thương và phần dư của đa thức
2.Hàm toán học
Để định nghĩa một hàm, ta sử dụng toán tử :=
Ta có thể định nghĩa 1 hàm với danh sách biến làm tham số
3.Đạo hàm
Ta sử dụng : diff(y,x,n) dùng để đạo hàm y cấp n theo biến x
Ví dụ :
4 Tích phân
Cách 1 : Sử dụng lệnh integrate(f(x), x, a, b)
Trang 9Cách 2 : Trên thanh menus chọn caculus
Trong menu Caculus này chứa nhiều lệnh để giải bài toán như : tính giới hạn,tích phân , chuỗi số ,…
Để tính tích phân ta chọ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ố
Khi ta chọn Integrate thì sẽ xuất hiện hộp thoại :
Trong đó :
Khung Expression : để nhập biểu thức tính tích phân vào
Khung Variable : nhập biến lấy tích phân
Trang 10Definite integration : Nếu tính tích phân xác định thì ta chọn vào và điền cận dưới vào mục From
và cận trên vào mục To.
Special : để ta chọn những hằng số đặc biệt như :
Numerical integration : Nếu tích phân không thể tính qua các hàm sơ cấp
Ví dụ : Tính tích phân sau:
1
2
1
dx
x
−
−∫
Kết quả
5.Tính tổng/ tích
5.1 Tính tổng
Cách 1 : Sử dụng lệnh
sum(f(x),biến,giá trị bắt đầu , giá trị cuối ) ngoài ra, ta có thể sử dụng thêm thuộc tính simpsum Mặc định là simpsum = false Nếu
simpsum= true, kết quả của phép tính tổng sẽ được đơn giản
Cách 2
Trên thanh menu ta chọn Caculus,để tính tổng thì ta chọn Caculus sum,nó sẽ hiện hộp
thoại như hình dưới :
Trang 11Expression : Nhập biểu thức để tính tổng.
Variable : nhập biến
From : giá trị bắt đầu
To : giá trị kết thúc
Ví dụ : Tính
Ta nhập vào
Kết quả :
5.2 Tính tích
Cách 1 : Ta có thể dùng lệnh
product(f,biến,điểm đầu ,điểm cuối);
Cách 2:
ta chọn Caculus product ta được hộp thoại sau :
Expression : Nhập biểu thức để tính tổng.
Trang 12Variable : nhập biến
From : giá trị bắt đầu
To : giá trị kết thúc.
Ví dụ :Tính
Ta nhập :
Ta được kết quả :
6 Chuỗi
6.1 Khai triển taylor
Cách 1: sử dụng câu lệnh
taylor(f,biến,điểm đầu, điểm cuối);
Cách 2:Trong menu Caculus ta chọn Get series để khai triển Taylor tại điểm x=xo
của 1 hàm số bất kì
Nếu khai triển Maclaurine thì ta khai triển chuỗi tại x=0
Sau khi chọn thì hộp thư thoại hiện ra
Expression : Nhập biểu thức để tính tổng.
Variable : nhập biến
Point : khai triển tại
Detpth: khai triển đến bậc
Ta được kết quả :
6.2 Khai triển Fourier
Trang 13Ta sử dụng lệnh :
fourier (f(x),x,p)
kết quả trả về là danh sách các hệ số của f (x) xác định trên khoảng [-p,p]
để sử dụng được lệnh trên ta phải có load("fourie");
ví dụ:
fourier(exp(-x*x),x,4);
ta được:
6.3 Powerseries
Ta sử dụng lệnh :
powerseries (expr, x, a)
7.Giới hạn
Ta sử dụng lệnh :
limit(f(x), x, value,option)
ví dụ:
Để tính giới hạn trong trường hợp tiến ra vô cùng, ta dùng inf ở tham số thứ 3
Trang 14Ngoài ra ta cũng có thể thêm tùy chọn plus hoặc minus vào tham số thứ
4 trong một số trường hợp
8.Giải phương trình, hệ phương trình, bất phương trình, phương trình vi phân
8.1 Solve: : giải các phương trình đa thức,phương trình lượng giác.
Trên thanh menu, chọn Equations
Chọn solve để tiến hành giải phương trình
Trang 15Trong đó:
Equation(s): phương trình cần giải
Variable(s): ẩn số
Ví dụ:
8.2 Find root
Find root tìm nghiệm gần đúng của phương trình trong [a,b] cho trước
Kết quả là:
8.3 Allroots
Dùng để tìm tất cả nghiệm của phương trình
8.4 Realroots
Dùng để tìm nghiệm thực của phương trình
Trang 168.5 Solve linear system
giải hệ phương trình tuyến tính(Khi chon chức năng này chương trình sẽ yêu cầu khai báo số phương trình của hệ tuyến tính)
Trên menu chọn Equation Solve linear system, chọn số lượng biểu thức cần giải
Ta nhận được kết quả:
8.6 Solve algebraic system
Giải hệ phương trình đại số
Trang 17Kết quả là:
8.7 Solve ode
Dùng để giải phương trình vi phân
Trong đó lệnh diff(y,x,n) dùng để đạo hàm y cấp n theo biến x
Ví dụ
9 Đơn giản biểu thức
9.1 factor
Dùng để khai triển hệ số
Ví dụ:
9.2 expand
Khai triển biểu thức
Ví dụ:
9.3 rat
Khai triển biểu thức một cách hiệu quả hơn
Trang 18Ngoài ra, ta có thể sử dụng ratsimp(exp) với biểu thức lớn
V.So sánh maxima và maple
1.Giống nhau
Đều là hệ thống đại số máy tính
Đều là phần mềm miễn phí, nhẹ, giao diện trực quan dễ dùng
Có sự phân biệt giữa viết họa (uppercase) và viết thường(lowercase)
2.Khác nhau