Tìm hiểu về wxMaxima .
Bài 2 .
MỘT SỐ LỆNH TÍNH TOÁN TRÊN GIAO DIỆN wxMaxima .
************************************************************************************
************************************************************************************
Đường dẫn
Bài 1 . Tìm hiểu về wxMaxima . Bài 1 . VẼ ĐỒ THỊ CÁC MẶT TRONG KHÔNG GIAN BẰNG wxMaxima .
Các bạn có thể download phần mềm miễn phí wxMaxima cho việc học tập , nghiên cứu môn toán theo địa chỉ sau http://andrejv.github.io/wxmaxima/ .
Tham khảo tài liệu tại http://maxima.sourceforge.net/documentation.html
http://andrejv.github.io/wxmaxima/help.html
Bài viết này đề cập đến một số lệnh tính toán hữu ích trên giao diện wxMaxima .
+ Khởi động bảng tính .
1. Lệnh tính toán sơ cấp .
1.1 Các ký hiệu tính toán số học .
+ cộng
- trừ
* nhân
/ chia
^ lũy thừa
sqrt ( ) căn bậc hai
! giai thừa
sin( )
cos( )
tan( )
cot( )
asin( )
acos( )
atan( )
acot( )
log( )
( )^( )
Ví dụ .
Các hằng số được quy định bởi
wxMaxima cho phép nhập trực tiếp các lệnh tính toán và trả về kết quả ngay trên bảng tính .
Ví dụ . Tính thể tích hình trụ tròn có bán kính đáy là r , chiều cao h .
$S=\pi R^{2};V=\pi R^{2}h$
(r:10,h:100)$
S:pi*r^2;
V:S*h;
Nhấn Shift-Enter ,
Chúng ta cũng có thể tạo các hàm S(r) và V(r,h) , và nhập liệu như sau
1.2 Các lệnh rút gọn & khai triển biểu thức hữu tỷ , lượng giác , logarith .
+Lệnh ratsimp( b/thức ) ; rút gọn biểu thức hữu tỷ theo biến mặc định .
Ví dụ .
+Lệnh fullratsimp( b/thức ) ; rút gọn và cho kết quả cuối cùng là biểu thức hữu tỷ tối giản .
Ví dụ . Rút gọn
$P=\frac{(x^{a/2}+1)^{2}(x^{a/2}-1)^{2}}{x^{a}-1}$
+Lệnh expand( ) ; khai triển biểu thức hữu tỷ ; lệnh factor( ) ; đưa biểu thức hữu tỷ về dạng tích .
+Ký hiệu % chỉ về kết quả đã tính toán trước đó , nếu cần xóa lưu trữ bộ nhớ ta click vào Maxima và Clear Memory - hoặc nhập lệnh kill(all) ;
Ví dụ .
+Chức năng tính toán hàm lượng giác của wxMaxima như
*trigsimp( ) ; rút gọn biểu thức lượng giác
*trigexpand( ) ; khai triển biểu thức lương giác
Ví dụ .
+Chức năng tính toán hàm logarith của wxMaxima như
*logcontract( ) ; rút gọn biểu thức logarith
*( ) ,logexpand=super ; khai triển biểu thức logarith .
Ví dụ .
1.3 Các lệnh giải phương trình đại số , lượng giác và logarith .
+Lệnh solve([eqns ],[vars ] ) ; cho giá trị nghiệm của phương trình .
+Khi solve([eqns ],[vars ] ) ; không cho nghiệm hiển có thể dùng lệnh find_root([eqns] , [vars ] , a , b ) ; để có nghiệm xấp xỉ của phương trình trên khoảng ( a , b )
+Lệnh solve([eqns ],[vars ] ) ; có thể cho nghiệm dạng tham số đối với hệ phương trình không đầy đủ .
Dùng vòng lặp để biểu diễn nghiệm tham số .
+Lệnh algsys([expr1,expr2,...,exprn ],[var1,var2,...,varm ] ) ; có thể cho nghiệm của hệ phương trình bất kỳ .
Tương tự như trên ta có thể dùng vòng lặp để biểu diễn nghiệm tham số .
+Lệnh allroots( poly ) ; có thể cho nghiệm thực và phức của đa thức .
+Lệnh funcsolve( eqn , f(n) ) ; tìm biểu thức nghiệm của phương trình hàm f(n) .
2 . Giới thiệu về toán tử .
2.1 Khái niệm .
+wxMaxima cho phép ta xây dựng những toán tử theo yêu cầu , có thể hiểu là những phép toán giữa hai hay nhiều hạng tử trên một tập hợp nào đó và hình thành hệ thức . Các hệ thức này là : đơn cấp - đầu , đơn cấp - cuối , nhị cấp - giữa , đa cấp - giữa , so khớp và rỗng .
Ví dụ .
*đơn cấp - đầu ( unary prefix ) : phủ định a ( hay - a )
*đơn cấp - cuối ( unary postfix ) : giai thừa của a ( hay a ! )
*nhị cấp - giữa ( binary infix ) : a mũ b ( hay a^b )
*đa cấp - giữa ( n-ary infix ) : a cộng b cộng c ( hay a + b + c )
*so khớp ( matchfix ) : đoạn [ a , b ]
*rỗng ( nofix ) : không tác động lên bất kỳ hạng tử nào .
Ví dụ .
+Các toán tử đã được định nghĩa trong wxMaxima đều có thể tương tác với nhau linh hoạt và có tính năng rất mạnh . Xét ví dụ về hệ thức so khớp và nhị cấp - giữa sau đây
Kết hợp hệ thức so khớp và nhị cấp - giữa
2.2 Phép toán đồng nhất - phép toán logic - phép toán chỉ định .
+Phép toán đồng nhất ký hiệu là = được dùng trong so sánh các hạng tử trong một hệ thức nhị cấp . Hệ thức đồng nhất là một mệnh đề với phép toán = . Phủ định của phép toán = là phép toán # .
Hàm is đánh giá hệ thức đồng nhất và trả về giá trị Boole đúng hoặc sai , nghĩa là is(a=b) có trị true nếu a đồng nhất với b .
Lưu ý rằng not a=b tương đương với a#b hay is(a#b)
+Phép toán đồng nhất kết hợp với các cấu trúc chọn lựa khác hình thành một chuỗi Boole nào đó và mang một giá trị true hoặc false . Ví dụ
+Phép toán logic gồm có : not ( phủ định ) , and ( và , với , giao ) , or ( hay , hoặc , hợp ) .
Not là phép toán đầu ( prefix ) , toán hạng của nó là một hay nhiều hệ thức Boole và giá trị của nó là một giá trị Boole . And và Or là các phép toán giữa ( infix ) , thực hiện trên hai hạng tử , tương tự như not , toán hạng của nó là một hay nhiều hệ thức Boole và giá trị của nó là một giá trị Boole . Ví dụ .
2.3 Phép toán chỉ định - phép toán so sánh .
+Phép toán chỉ định gồm có : , :: , := và ::= được dùng gán các hạng tử của biểu thức vế trái với biểu thức vế phải của hệ thức .
Ví dụ về phép toán :
+Phép toán :: cũng giống như : , tuy nhiên nó ước lượng cho vế phải cũng giống như vế trái .
Ví dụ về phép toán ::
+Phép toán := xác định hàm số có biến là ký tự được quy định trong ( , , .. ) .
+Phép toán ::= xác định hàm macro có biến là ký tự được quy định trong ( ) . Hàm macro tác động lên các biến của nó và cho giá trị theo ngữ cảnh mà macro đã được gọi . Dưới đây là một ví dụ viết cho hàm macro goi(gd) tìm giao điểm hai đồ thị .
Lời giải .
" INTRO : Chuong trinh tim toa do giao diem 2 do thi
y = f(x) (C1) va y = g(x) (C2)"$
f(x):=2*x^3-5*x^2$ "nhap ham f(x) vao day"$
g(x):=x^2-3*x-1$ "nhap ham g(x) vao day"$
-----------------------------------------------------------
pthdgd(x):=f(x)-g(x)=0$
ngh:solve(pthdgd(x),x)$
n:length(ngh)$
goi(gd)::=
block(print(" Chuong trinh tim toa do giao diem 2 do thi
y = f(x) (C) va y = g(x) (C2)"),
print("(1)Ham so thu nhat la f(x) = ",f(x)),
print("(2)Ham so thu hai la g(x) = ",g(x)),
print("Phuong trinh hoanh do giao diem la :",
"f(x)=g(x)"),print("<=>",pthdgd(x),"<=>",ngh),
print(" Thay hoanh do vao f(x) , ta co "))$
goi(gd)$
print(" Toa do giao diem " )$
for i : 1 thru n do
print("Tung do giao diem thu ",i," la ",ratsimp(f(rhs(ngh[i]))),
"=>M",i,[rhs(ngh[i]),ratsimp(f(rhs(ngh[i])))])$
print("")$ print("")$
print("http://cohtran.blogspot.com - cohtran MMPC-VN,Copyright 2013.")$
print("Chuc ban vui ve ^..^")$
+Phép toán so sánh gồm có < , <= , > và >= được dùng trong các hàm hay các toán tử khác khi cần phải xác định cấu trúc so sánh .
Ví dụ .
TRẦN HỒNG CƠ .
01/10/2013
-------------------------------------------------------------------------------------------
Toán học thuần túy, theo cách của riêng nó, là thi ca của tư duy logic.
Pure mathematics is, in its way, the poetry of logical ideas.
Albert Einstein .