TÍNH TÓAN TRONG MAPLE
Maple có một khả năng tính tóan tuyệt vời các số rất lớn với tốc độ nhanh. Khả năng tính tóan của Mape cũng rất đa dạng từ các phép tính đơn giản nhất đến các phép tính phức tạp nhất.
-
Tính tóan số học thông thường.
-
Tính tóan trên số nguyên.
-
Tính tóan trên biểu thức đại số.
-
Tính tổng/tích hữu hạn,vô hạn.
-
Các phép tính vi phân, tích phân.
I) Các phép tính số học thông thường:
- Phần này sẽ trình bày các phép tính số học thông thường và các hàm cơ bản của Maple.
- Bảng các phép tính số học:
Phép tóan
|
Kí hiệu
|
Phép tóan
|
Kí hiệu
|
Phép tóan
|
Kí hiệu
|
Cộng
|
+
|
Nhân
|
*
|
Giai thừa
|
!
|
Trừ
|
-
|
Chia
|
/
|
Mũ
|
^
|
- Bảng các hàm thông dụng:
Hàm
|
Ý nghĩa
|
Hàm
|
Ý nghĩa
|
Hàm
|
Ý nghĩa
|
abs(x)
|
|
sqrt(x)
|
|
exp(x)
|
E mũ x
|
ln(x)
|
Loge(x)
|
log10(x)
|
Log10(x)
|
log[b](x)
|
Logb(x)
|
trunc(x)
|
Làm tròn x về số nguyên gần 0 hơn
|
round(x)
|
Làm tròn x về số nguyên gần x nhất
|
floor(x)
ceil(x)
|
|
max(x1,x2,…)
|
Giá trị lớn nhất của hai hay nhiều số
|
min(x1,x2,…)
|
Giá trị nhỏ nhất của hai hay nhiều số
|
|
|
- Bảng các hàm lượng giác:
Hàm
|
Ý nghĩa
|
Hàm
|
Ý nghĩa
|
Hàm
|
Ý nghĩa
|
sin(x)
|
Sin(x)
|
cos(x)
|
Cosin(x)
|
tan(x)
|
Tg(x)
|
arcsin(x)
|
Arcsin(x)
|
arccos(x)
|
Arccos(x)
|
arctan(x)
|
Arctg(x)
|
- Bảng các hằng số thông dụng:
Hằng số
|
Ý nghĩa
|
Hằng số
|
Ý nghĩa
|
Hằng số
|
Ý nghĩa
|
Pi
|
Hằng số PI
|
true
|
Hằng logic đúng
|
false
|
Hằng logic sai
|
FAIL
|
Thất bại, sai
|
infinity
|
Vô cùng
|
Catalan
|
Hằng Catalan
|
> constants;
> 100! + 2^100;
II) Tính tóan trên số nguyên :
- Các hàm liên quan tính tóan:
Hàm
|
Ý nghĩa
|
Hàm
|
Ý nghĩa
|
Hàm
|
Ý nghĩa
|
factorial(n)
|
n giai thừa
|
isqrt(n)
|
Căn bậc hai nguyên của n
|
iroot(x,n)
|
Căn bậc n nguyên của x
|
ifactor(n)
|
Phân tích n thành tích các thừa số nguyên tố
|
irem(m,n)
irem(m,n,`q`)
|
Số dư khi chia m cho n và thương có thể được chứa trong q
|
iquo(m,n)
iquo(m,n,`r`)
|
Thương khi chia m cho n và số dư có thể được chứa trong r
|
igcd(x1,x2,...)
gcd(x1,x2)
|
Ước số chung lớn nhất của hai hay nhiều số
|
ilcm(x1,x2,...)
lcm(x1,x2)
|
Bội số chung nhỏ nhất của hai hay nhiều số
|
m mod n
|
Số dư khi chia m cho n
|
- Các hàm liên quan tới số nguyên tố:
Hàm
|
Ý nghĩa
|
Hàm
|
Ý nghĩa
|
Hàm
|
Ý nghĩa
|
isprime(n)
|
n có là số nguyên tố không?
|
nextprime(n)
|
Số nguyên tố liền sau n
|
prevprime(n)
|
Số nguyên tố liền trước n
|
ithprime(n)
|
Số nguyên tố thứ n
|
|
|
|
|
> isqrt(14);
> iroot(10,2);
>
- % tượng trưng cho biểu thức vừa tính được
ifactor(1223334444);
> expand(%);
> irem(2^100,7);
> iquo(2^100,7,`r`);
> r;
> igcd(2^200 -1, 2^45-1);
% - (2^5-1);
> ilcm(100,x,45);
-
Tìm một số nguyên tố có 10 chữ số
> nextprime(10^9);
> isprime(%);
-
In ra 100 số nguyên tố đầu tiên
> for i from 1 to 100 do
print(ithprime(i)); #in ra so nguyen to thu i
end do;
- Chuyển đổi giữa các hệ cơ số (decimal,binary,octal,hex và tùy ý)
> convert(100,binary);
> convert([0,0,1,0,0,1,1],`base`,2,10);
III) Ước lượng đại lượng/biểu thức với độ chính xác tùy ý:
- Dùng hàm evalf( )
-
evalf(bt); # ước lượng bt với độ chính xác qui định bởi biến Digits
-
evalf(bt,n); # ước lượng bt với độ chính xác n
-
Ước lượng e với độ chính xác 50
> evalf(exp(1),50);
> Digits;
> evalf(Pi);
> Digits:=30;
evalf(Pi);
IV) Tính tóan trên biểu thức đại số:
- Biểu thức đại số được cấu tạo nên từ các chất liệu:
-
Các biến số đại số , các hàm.
-
Các hằng số 3,e,Pi …
-
Các phép tóan đại số (+,-,*,/,^...). Mỗi phép tóan có một độ ưu tiên nhất định giúp chúng ta lượng giá biểu thức.
- Nói chung, khái niệm biểu thức đại số trong Maple cũng tương tự như khái niệm biểu thức đại số trong tóan học. Maple hỗ trợ tuyệt vời cho việc thao tác trên các biểu thức đại số.
> bt:=(x+y)^7;
> expand(bt);
-
simplify(bt);
> expr:=(x+y)^3 - (x^2 + 2*y^2)*(x+3*y);
> simplify(expr);
-
Phân tích biểu thức thành nhân tử:
> factor(x^5+x+1);
> ts:=(x+y)*(2*x-1);
ts:=expand(ts);
> ms:=(2*x-1)*(x^2-3*y*x+5);
ms:=expand(ms);
> pt:=ts/ms;
> normal(pt);
-
Thay thế trong biểu thức:
- Các biến đại số trong biểu thức có thể được thay thế bởi các biểu thức khác. Kết quả là chúng ta sẽ thu được biểu thức mới. Việc thay thế này được thực hiện trong Maple bởi lệnh:
-
eval(bt ,{bien1 = bt1,bien2=bt2,…,bienn=btn});
> expr:=x^3 - 2*x^2*y + 2*z;
> eval(expr,{x=a+b,y=1});
> expand(%);
> W := 3*x^2+8;
> M := eval(W,x=5+2*u);
-
Kiểm tra sự chia hết của các đa thức:
> divide(x^3-y^3,x-y);
-
Để sắp xếp các hạng tử của đa thức dùng lệnh sort với các tùy chọn khác nhau
-
sort(đt);
-
sort(đt,[danhsachcacbien]); #mặc định sẽ sắp theo tổng bậc
-
sort(đt,[danhsachcacbien],’plex’); #sắp xếp theo kiểu từ điển
> sort(x^2 -3*x + x^4 - 4*x^3 +5);
> p:=x*y + 2*x^3*y^2 + 3*x^2*y^3 + x^2*y^2 + x*y^3;
> sort(p,[y,x]);
> sort(p,[y,x],'plex');
- Để gom hạng tử của đa thức, dùng lệnh collect:
> collect(2*a*x*y + x^2*y^2 + 5*a^2*y*x^3 -2*y^2,y);
-
Các hàm liên quan tới đa thức , hệ số và bậc của đa thức:
Lệnh
|
Mô tả
|
Ví dụ
|
coeff
|
Hệ số của một bậc cụ thể
|
> coeff(1/2*x^4 - 2*x^2 -3*x +5,x^2);
|
lcoeff
|
Hệ số bậc cao nhất
|
> lcoeff(1/2*x^4 - 2*x^2 -3*x +5);
1/2
|
tcoeff
|
Hệ số tự do
|
> tcoeff(1/2*x^4 - 2*x^2 -3*x +5);
5
|
coeffs
|
Danh sách tất cả các hệ số
|
> coeffs(1/2*x^4 - 2*x^2 -3*x +5);
|
degree
|
Bậc của đa thức
|
> degree(1/2*x^4 - 2*x^2 -3*x +5);
4
|
ldegree
|
Bậc thấp nhất của hạng tử với hê số khác 0
|
> ldegree(1/2*x^4 - 2*x^2 -3*x );
1
|
gcd
|
ƯSCLN của hai đa thức
|
|
lcm
|
BSCNN của hai đa thức
|
|
V) Tính tổng/tích hữu hạn ,vô hạn
- Tính tổng hữu hạn
[> sum(f(i),i=m..n);
Xuất ra kết quả ngay lập tức
|
[> Sum(f(i),i=m..n);
Hiện ra biểu thức cần tính
[> value(%);
Xuất ra kết quả của biểu thức
|
[> sum(f(i),i=m..infinity);
Xuất ra kết quả ngay lập tức
|
[> Sum(f(i),i=m..infinity);
Hiện ra biểu thức cần tính
[> value(%);
Xuất ra kết quả của biểu thức
|
[>Sum((1+i)/(1+i^4),i=1..10);
[> value(%);
51508056727594732913722
-----------------------------------
40626648938819200088497
[> sum(1/(k^2),k=1..infinity);
[> product(f(i),i=m..n);
Xuất ra kết quả ngay lập tức
|
[> Product(f(i),i=m..n);
Hiện ra biểu thức cần tính
[> value(%);
Xuất ra kết quả của biểu thức
|
[> product(f(i),i=m..infinity);
Xuất ra kết quả ngay lập tức
|
[> Product(f(i),i=m..infinity);
Hiện ra biểu thức cần tính
[> value(%);
Xuất ra kết quả của biểu thức
|
[> product((i^2-1)/i^2,i=2..20);
21/40
[> product(1-1/(4*n^2),n=1..infinity);
Chia sẻ với bạn bè của bạn: |