Maple là một hệ thống tính toán trên các biểu thức đại số và minh họa toán học mạnh mẽ của
công ty Warterloo Maple Inc. , ra đời khoảng nă m 1991, đến nay
đã phát triển đến phiên bản 10. Maple có cách cài đặt đơn giản, chạy trên tất cả các hệ điều
hành, có cấu trúc linh hoạt để sử dụng tối ưu cấu hình máy và đặc biệt có trình trợ giúp ( Help)
rất dễ sử dụng. Từ phiên bản 7, Maple cung cấp ngày càng nhiều các công cụ trực quan, các
gói lệnh tự học gắn liền với toán phổ thông và đại học. Ưu điểm đó làm cho nhiều nước trên
thế giới lựa chọn sử dụng Maple cùng các phần mềm toán học khác trong dạy học toán trước
đòi hỏi của thực tiễn và sự phát triể n của giáo dục
25 trang |
Chia sẻ: maiphuongtl | Lượt xem: 1288 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Sử dụng maple trong học tập, nghiên cứu và giảng dạy toán, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Page 1
sö dông maple
trong häc tËp, nghiªn cøu vµ gi¶ng d¹y to¸n
NguyÔn Ch¸nh Tó
Khoa To¸n, §HSP HuÕ
Ch¬ng 1. Giíi thiÖu vÒ phÇn mÒm Maple
Maple lµ mét hÖ thèng tÝnh to¸n trªn c¸c biÓu thøc ®¹i sè vµ minh häa to¸n häc m¹nh mÏ cña
c«ng ty Warterloo Maple Inc. ( ), ra ®êi kho¶ng n¨m 1991, ®Õn nay
®· ph¸t triÓn ®Õn phiªn b¶n 10. Maple cã c¸ch cµi ®Æt ®¬n gi¶n, ch¹y trªn tÊt c¶ c¸c hÖ ®iÒu
hµnh, cã cÊu tróc linh ho¹t ®Ó sö dông tèi u cÊu h×nh m¸y vµ ®Æc biÖt cã tr×nh trî gióp ( Help)
rÊt dÔ sö dông. Tõ phiªn b¶n 7, Maple cung cÊp ngµy cµng nhiÒu c¸c c«ng cô trùc quan, c¸c
gãi lÖnh tù häc g¾n liÒn víi to¸n phæ th«ng vµ ®¹i häc. ¦u ®iÓm ®ã lµm cho nhiÒu níc trªn
thÕ giíi lùa chän sö dông Maple cïng c¸c phÇn mÒm to¸n häc kh¸c trong d¹y häc to¸n tríc
®ßi hái cña thùc tiÔn vµ sù ph¸t triÓ n cña gi¸o dôc.
1.1. C¸c tÝnh n¨ng c¬ b¶n cña Maple.
Cã thÓ nªu v¾n t¾t c¸c chøc n¨ng c¬ b¶n cña Maple nh sau:
lµ mét hÖ thèng tÝnh to¸n trªn c¸c biÓu thøc ®¹i sè;
cã thÓ thùc hiÖc ®îc hÇu hÕt c¸c phÐp to¸n c¬ b¶n trong ch¬ng tr×nh to¸n ®¹i häc vµ phæ
th«ng;
cung cÊp c¸c c«ng cô minh häa h×nh häc thuËn tiÖn gåm: vÏ ®å thÞ tÜnh vµ ®éng cña c¸c
®êng vµ mÆt ®îc cho bëi c¸c hµm tïy ý trong nhiÒu hÖ täa ®é kh¸c nhau;
mét ng«n ng÷ lËp tr×nh ®¬n gi¶n vµ m¹nh mÏ cã kh¶ n¨ng t¬ng t¸c víi c¸c ng«n ng÷ lËp
tr×nh kh¸c;
cho phÐp trÝch xuÊt ra c¸c ®Þnh d¹ng kh¸c nhau nh LaTex, Word, HTML,...
Mét c«ng cô biªn so¹n gi¸o ¸n vµ bµi gi¶ng ®iÖn tö, thÝch hîp víi c¸c líp häc t¬ng t¸c
trùc tiÕp;
mét trî gi¸o h÷u Ých cho häc sinh vµ sinh viªn trong v iÖc tù häc;
1.2. CÊu tróc vµ giao diÖn.
CÊu tróc tµi nguyªn cña Maple
Khi khëi ®éng Maple, ch¬ng tr×nh chØ tù ®éng kÝch ho¹t nh©n cña Maple bao gåm c¸c
phÐp to¸n vµ chøc n¨ng c¬ b¶n nhÊt. PhÇn nh©n chiÕm kho¶ng 10% dung lîng cña toµn
ch¬ng tr×nh.
C¸c d÷ liÖu vµ ch¬ng tr×nh cßn l¹i cña Maple ®îc lu gi÷ trong th viÖn Maple vµ ®îc
chia ra 2 nhãm: nhãm c¸c lÖnh c¬ b¶n vµ nhãm c¸c gãi lÖnh. Maple 9.0 cã kho¶ng 85 gãi
lÖnh. Gãi lÖnh cã thÓ n¹p vµo b»ng:
> with(plots):
LÖnh cña Maple
Page 2
LÖnh ®îc gâ vµo trang lµm viÖc (worksheet) t¹i dÊu nh¾c lÖnh ">" vµ theo ngÇm ®Þnh ®îc hiÓn
thÞ b»ng font Courier mµu ®á. Mét lÖnh ®ùîc kÕt thóc bëi dÊu " :" hoÆc dÊu ";" vµ ®îc ra lÖnh
thùc hiÖn b»ng viÖc nhÊn Enter khi con trá ®ang ë trªn dßng lÖnh.
> factor(2*x^102+x^100-2*x^3-x+60*x^2+30):
>
KÕt qu¶ cña lÖnh ®îc hiÓn thÞ ngay bªn díi dßng lÖnh nÕu dïng dÊu " ;". Cã thÓ dÔ dµng
dïng chuét vµ bµn phÝm ®Ó thùc hiÖn c¸c chøc n¨ng b«i ®en, copy, paste, cut, delete...®èi
víi d÷ liÖu trªn dßng lÖnh hay kÕt qu¶ thùc hiÖn.
Sö dông dÞch vô trî gióp (Help) trong Maple
Maple cã dÞch vô trî gióp kh¸ ®Çy ®ñ vµ thuËn lîi bao gåm có ph¸p, gi¶i thÝch c¸ch dïng vµ
c¸c vÝ dô ®i kÌm. §Ó nhËn ®îc trî gióp, cã thÓ:
NÕu ®· biÕt tªn lÖnh th× tõ dÊu nh¾c gâ vµo
> ?factor
NÕu dïng mét gãi lÖnh th× khi n¹p gãi lÖnh, Maple sÏ hiÓn thÞ toµn bé lÖnh trong gãi ®ã.
Mét c¸ch th«ng dông n÷a lµ dïng tr×nh Help|Topic Search råi gâ vµo tõ khãa cÇn t×m.
1.3. Lu gi÷ vµ trÝch xuÊt d÷ liÖu.
Trang lµm viÖc cña Maple sÏ ®îc lu gi÷ b»ng file cã ®u«i ".mws". File ®îc lu gi÷
b»ng tr×nh File|Save. Mét file ®· cã ®îc më b»ng File|Open.
Ngoµi viÖc lu gi÷ b»ng ®Þnh d¹ng cña Maple nh trªn, d÷ liÖu cã thÓ ®îc trÝch xuÊt
thµnh c¸c ®Þnh d¹ng kh¸c nh Word, LaTex hay HTML. Tr Ých xuÊt b»ng File|Export.
1.4. C¸c m«i trêng lµm viÖc trong Maple
Maple cã 2 m«i trêng lµm viÖc lµ to¸n vµ v¨n b¶n. Sau khi khëi ®éng, Maple tù ®éng bËt
m«i trêng to¸n. Muèn chuyÓn sang m«i trêng v¨n b¶n, kÝch chuét vµo biÓu tîng T trªn
thanh c«ng cô hay vµo tr×nh Insert->Text. Ngîc l¹i, tõ m«i trêng v¨n b¶n, kÝch chuét vµo
dÊu "[>" trªn thanh c«ng cô hay vµo Insert ®Ó chuyÓn sang m«i trêng to¸n.
> ifactor(58600);
( )2 3 ( )5 2 ( )293
>
Ch¬ng 2. S¬ lîc vÒ c¸c tÝnh to¸n sè häc, ®¹i s è vµ gi¶i tÝch trong Maple
2.1 C¸c dÊu phÐp to¸n, hµm vµ h»ng sè c¬ b¶n
C¸c phÐp to¸n vµ dÊu phÐp to¸n
Có ph¸p Gi¶i thÝch VÝ dô
! giai thõa 100!
^ lòy thõa a^5
+ céng a+b
- trõ hoÆc sè ©m x -y
* nh©n 2*x
/ chia 120/5
< nhá h¬n a<100
> lín h¬n b>100
>= lín h¬n hoÆc b»ng x>=1/2
<= nhá h¬n hoÆc b»ng x<=1/2
Page 3
= b»ng a=b
:= phÐp g¸n x:=2/3
C¸c hµm th«ng dông
Có ph¸p Gi¶i thÝch VÝ dô
sin, cos, tan c¸c hµm lîng gi¸c sin(x)
arcsin, arccos, arctan c¸c hµm LG ngîc arcsin(x)
abs hµm trÞ tuyÖt ®èi abs(x)
exp hµm mò c¬ sè e exp(x) hay E^x
log hay ln hµm logarit c¬ sè e log(x) hay ln(x)
log[10] hµm logarit c¬ sè 10 log[10](x)
sqrt khai c¨n bËc 2 sqrt(3)
C¸c h»ng sè th«ng dông
Có ph¸p H»ng sè
Pi
exp(1) e
infinity
>
2.1. C¸c tÝnh to¸n sè häc
a) Maple cã thÓ lµm viÖc nh mét m¸y tÝnh bá tói hiÖn ®¹i
> 5*3;
> 120/7+2^100;
Kh¶ n¨ng tÝnh to¸n sè häc cña Maple lµ rÊt lín, cã thÓ lµm viÖc víi nh÷ng sè cã ®Õn
228 = 268435456 ch÷ sè.
> 300!;
30605751221644063603537046129726862938858880417357699941677674125947\
65331767168674655152914224775733499391478887017263688642639077590\
03154226842927906974559841225476930271954604008012215776252176854\
25596535690350678872526432189626429936520457644883038890975394348\
96254360532259807765212708224376394491201286786753683057122936819\
43649956460498166450227716500185176546469340112226034729724066333\
25858350687015016979416885035375213755491028912640715715483028228\
49379526365801452352331569364822334367992545940952768206080622328\
12387383880817049600000000000000000000000000000000000000000000000\
000000000000000000000000000
> length(%);
615
Ta thÊy sè 300.000! cã 1.512.852 ch÷ sè, kho¶ng 20 ngµn dßng trªn mµn h×nh.
> ifactor(1512852);
Page 4
( )2 2 ( )3 ( )11 ( )73 ( )157
> FermatPrime:=2^(2^n)+1;
:=FermatPrime 2( )2n 1
> [seq(FermatPrime,n=1..6)];
[ ], , , , ,5 17 257 65537 4294967297 18446744073709551617
> map(ifactor,%);
[ ], , , , ,( )5 ( )17 ( )257 ( )65537 ( )641 ( )6700417 ( )67280421310721 ( )274177
b) C¸c hµm trªn sè nguyªn
> isprime(1388990297):
> nextprime(123456789):
> prevprime(123456789):
> ilcm(786,120):
> igcd(786,120):
> irem(786,120):
> iquo(786,120):
>
Ngoµi ra cßn cã c¸c lÖnh sau:
max, min T×m sè lín nhÊt vµ nhá nhÊt trong tËp c¸c sè cho tríc.
iroot T×m nghiÖm nguyªn xÊp xØ c¨n bËc n cña 1 sè nguyªn.
isqrt T×m nghiÖm nguyªn xÊp xØ c¨n bËc 2 cña 1 sè nguyªn.
mod C¸c phÐp to¸n trªn hÖ thÆng d modulo.
rsolve Gi¶i ph¬ng tr×nh hµm nhê c¸c c«ng thøc truy håi.
convert ChuyÓn ®æi sè nguyªn sang c¸c hÖ c¬ sè kh¸c nhau.
c) TÝnh to¸n chÝnh x¸c vµ gÇn ®óng
Khi lµm viÖc víi sè h÷u tû hoÆc c¨n thøc, Maple cã kh¶ n¨ng tÝnh to¸n víi kÕt qu¶ chÝnh
x¸c. §iÒu nµy hÕt søc quan träng khi cÇn c¸c tÝnh to¸n nhiÒu bíc.
> A:=7/3+6^10/7;
> 3^(2/5);
> Pi;
Tuy nhiªn, khi cÇn Maple còng cã thÓ tÝnh gÇn ®óng víi ®é chÝnh x¸c tïy ý.
> evalf(10/3);
> B:=7.0/3+6^10/7;
> evalf(3^(2/5),20);
> evalf(Pi,100);
Maple lµm viÖc thuËn lîi trªn c¸c sè phøc:
> (2+2*I)/(1-3*I);
> sqrt(1+I);
> evalf(%);
d) TÝnh tæng, tÝch h÷u h¹n vµ v« h¹n
3.1. TÝnh tæng h÷u h¹n.
Page 5
VÝ dô: TÝnh tæng
i 1
100 1 i
1 i4 . Ta cã thÓ hoÆc lµ dïng 2 lÖnh'
> Sum((1+i)/(1+i^4),i=1..20);
> value(%);
HoÆc tÝnh trùc tiÕp:
> sum((1+i)/(1+i^4),i=1..20);
3.2. TÝnh tæng v« h¹n.
VÝ dô: TÝnh tæng
k 1
1
k2
. T¬ng tù nh trªn, ta cã thÓ dïng
> Sum(1/k^2,k=1..infinity);
> value(%);
HoÆc
> sum(1/k^2,k=1..infinity);
>
Hoµn toµn t¬ng tù víi tÝnh tæng, ta cã thÓ tÝnh c¸c tÝch h÷u h¹n vµ v« h¹n víi Maple. C¸ch
lµm nh trªn víi viÖc thay lÖnh Sum hay sum bëi Product hay product.
2.3. C¸c tÝnh to¸n ®¹i sè
2.3.1. C¸c tÝnh to¸n trªn biÓu thøc ®¹i sè
G¸n tªn cho biÓu thøc vµ trÞ cho biÕn
Dïng phÐp ":=" ®Ó g¸n tªn vµ lÖnh "subs" ®Ó g¸n trÞ cho biÕn.
> A:=a*x^2+b*x+c:
> A1:=subs(a=1,b=2,c=I,A):
BiÕn ®æi biÓu thøc ®¹i sè
LÖnh khai triÓn víi expand
> B:=(x+1)*(x-2)+3*x+2;
> expand(A);
> expand(sin(x+y));
> L:=exp(a+ln(b));
> expand(%);
LÖnh ®¬n gi¶n biÓu thøc víi simplify
> C:=cos(x)^5+sin(x)^4+2*cos(x)^2 -2*sin(x)^2-cos(2*x);
> simplify(C);
> simplify(sin(x)^2+ln(3*x)+cos(x)^2);
> simplify(sin(x)^2+ln(3*x)+cos(x)^2,'trig');
> simplify(sin(x)^2+ln(3*x)+cos(x)^2,'ln');
Lu ý: LÖnh simplify lµ mét lÖnh rÊt "m¬ hå" do kh«ng cã mét tiªu chuÈn râ rµng cho sù ®¬n
gi¶n hãa. NhiÒu khi u tiªn cña Maple trong viÖc ®¬n gi¶n mét bi Óu thøc kh«ng gièng nh
kú väng cña ngêi dïng. H¬n thÕ nã cÇn rÊt nhiÒu bé nhí ®Ó simplify. Trong ®a sè trêng hîp,
lÖnh expand lµ mét lÖnh ®¬n gi¶n tèt h¬n.
> ?seq
Ngîc l¹i víi expand lµ lÖnh factor vµ combine
Page 6
> expand((x-2)*(x+3));
> factor(%);
> expand(e^(2*x+y)+sin(2*x));
> combine(%);
LÖnh chuÈn hãa víi normal, ®Æc biÖt dïng ®Ó ®¬n gi¶n c¸c ph©n thøc vÒ d¹ng chuÈn t¾c
> PT:=(x^2-y^2)/(x^3+y^3+3*x^2*y+3*x*y^2);
> normal(PT);
> factor(PT);
LÖnh convert cho phÐp chuyÓn c¸c biÓu thøc vÒ c¸c d¹ ng biÓu diÔn kh¸c nhau
> convert(sin(x),exp);
> M:=Matrix([[a,b],[x,y]]);
> convert(M,'listlist');
> convert(M,set);
> convert(%,list);
LÖnh map cho phÐp g¸n lÖnh ®ång thêi cho nhiÒu biÕn trong b¶ng hay tËp.
> bang:=[Pi/3,0,-Pi/2];
> map(sin,bang);
> f:=x->x^2+x-1;
> map(f,{-1,0,1});
> map(f,[-1,0,1]);
chó ý sù kh¸c nhau cña hai kÕt qu¶ trªn.
TÝnh to¸n trªn ®a thøc
C¸c lÖnh th«ng dông
LÖnh s¾p xÕp ®a thøc víi sort vµ collect
> f:=x^2+1+3*x+4*x^4-3*x^5;
> sort(f,x);
> g:=y^3+x^2*y^2+a*x^3;
> sort(g);
> sort(g,[x,y]);
> sort(g,[y,x]);
> sort(g,[y,x],plex);
> h:=x*y+x*y*z-3*y*z^2+x+z*x+y^3+x^4;
> collect(h,x);
> collect(h,y);
> collect(h,z);
X¸c ®Þnh hÖ sè vµ bËc víi lÖnh coeff vµ degree
> h:=t^4-4*x^3*y*z+y^3-3*y*z^2+x*y+x*z+x;
> sort(h);
> degree(h);
Page 7
> degree(h,y);
> ldegree(h);
> ldegree(h,x);
> coeff(h,z);
> coeff(h,z,2);
> coeffs(h);
> lcoeff(h,t);
C¸c lÖnh cho phÐp chia ®a thøc víi rem, quo vµ divide
> r:=rem(x^4+2*x^2+x-1,x^2+2*x+3,x);
> r:=quo(x^4+2*x^2+x-1,x^2+2*x+3,x);
> divide(x^4+2*x^2+x-1,x^2+2*x+3);
> divide(x^2-y^2,x-y);
> ?gcdex
Ph©n tÝch ®a thøc thµnh nh©n tö víi lÖnh factor
>
LÖnh factor ph©n tÝch ®a thøc thµnh nh©n tö trªn trêng sinh ra bëi trêng sè h÷u tû vµ c¸c hÖ
sè cña ®a thøc.
> factor(x^3+3);
> factor(x^3+3,3^(1/3));
> factor(x^3+3,{(-3)^(1/2),3^(1/3)});
Tham sè cña lÖnh factor cã thÓ lµ real hay complex nÕu nh muèn ph©n tÝch thµnh nh©n tö trªn
trêng sè thùc hay phøc. Chó ý r»ng khi ®ã kÕt qu¶ cho hÖ sè lµ c¸c sè gÇn ®óng.
> factor(x^3+3.0);
> factor(x^3+3,real);
> factor(x^3+3,complex);
Gi¶i ph¬ng tr×nh, bÊt ph¬ng tr×nh vµ hÖ ph¬ng tr×nh
Víi lÖnh solve vµ fsolve
> restart;
> equs:={x+2*y-8,x^2-2*x-3};
> equ:=x^3+x^2-x;
> sol1:=solve(equ);
> sol:=solve(equ,{x});
Cã thÓ kiÓm tra l¹i kÕt qu¶ b»ng lÖnh eval:
> sol[1];sol[2];sol[3];
> expand(subs(x=sol1[2],equ));
> expand(eval(equ,x=sol1[2]));
> seq(expand(eval(equ,sol[i])),i=1..3);
H·y thùc hiÖn viÖc thö l¹i víi sol1 trªn.
KQ:
Muèn thö l¹i víi sol1, cÇn dïng
> eval(equ,x=sol1[1]);
Cã thÓ trÝch xuÊt c¸c nghiÖm thµnh bé theo thø tù ®Þnh tríc víi c¸c nghiÖm nhiÒu thµnh
phÇn.
> equs;
Page 8
> sols:=solve(equs,{x,y});
> x1:=eval(x,sols[2]);
> seq(eval(x,sols[i]),i=1..2);
Còng cã thÓ trÝch xuÊt c¸c nghiÖm thµnh bé theo thø tù ®Þnh tríc.
> eval([x,y],sol1[2]);
> eval([y,x],sol1[2]);
C¸ch kh¸c ®Ó kiÓm tra nghiÖm lµ dïng lÖnh map:
> map(subs,[sol[1],sol[2]],equ);
Chó ý r»ng lÖnh map kh«ng thÓ t¸c ®éng trªn d÷ liÖu cã ®Þnh d¹ng tËp hîp:
> map(subs,sol,equ);
> map(subs,[sol],equ);
H·y thö dïng lÖnh map víi nghiÖm cña equ cho trªn.
LÖnh solve cã thÓ cho biÕt tÊt c¶ c¸c nghiÖm chÝnh x¸c cña ®a thøc 1 biÕn cã bËc kh«ng
qu¸ 4, tøc lµ nghiÖm biÓu diÔn b»ng c¨n thøc.
> solve(x^3+2*x+8);
Tuy nhiªn, víi ph¬ng tr×nh bËc 4, do nghiÖm b»ng c¨n thøc qu¸ phøc t¹ p vµ kh«ng cã tÝnh øng
dông cao, Maple ngÇm ®Þnh ®a ra nghiÖm díi d¹ng RootOf. Tuy nhiªn ta cã thÓ nhËn ®îc nghiÖm
chÝnh x¸c b»ng c¸ch chän _EnvExplicit:=true.
> solve(x^4+x^3-9);
> evalf(%);
> _EnvExplicit:=true:
> solve(x^4+x^3-9):
Víi c¸c ®a thøc 1 biÕn cã bËc cao h¬n 5, lÖnh solve cho nghiÖm RootOf vµ cã thÓ nhËn
®îc nghiÖm xÊp xØ b»ng evalf.
> solve(x^7+x^5+x^2+x+1);
> evalf(%,20);
LÖnh solve ®Ó gi¶i c¸c ph¬ng tr×nh siªu viÖt hoÆc chøa c¨n thøc.
> solve(2*cos(x)^10-x+1,{x});
> evalf(%);
> solve(ln(x)+x+1,x);
> evalf(%);
Khi gi¶i c¸c ph¬ng tr×nh phøc t¹p, Maple thêng chØ cho ta 1 nghiÖm. CÇn dïng c¸c ®¸nh
gi¸ kh¸c ®Ó cã thÓ t×m ra c¸c nghiÖm kh¸c, hoÆc cã thÓ dïng lÖnh fsolve. §©y lµ lÖnh t×m
nghiÖm xÊp xØ, vµ cã thÓ t×m nghiÖm víi c¸c ®i Òu kiÖn h¹n chÕ.
> f:=3*2^x+2*3^x-5^x-1;
> sol:=solve(f,x);
> fsolve(f);
> evalf(sol);
> fsolve({f=0},{x},-4..0);
LÖnh solve cã thÓ dïng ®Ó gi¶i hÖ ph¬ng tr×nh vµ bÊt ph¬ng tr×nh.
Page 9
> pts:={x+y+2*t-1,3*x+2*y+3-t,x+y-t};
> solve(pts,{x,y,t});
> solve(x^2+3*x+1>0,x);
> pts1:={x+y+2*t-1,3*x+2*y+3-t,x+y-t>0};
> solve(pts1,{x,y,t});
H¹n chÕ cña lÖnh solve
Kh«ng thÓ t×m nghiÖm 1 c¸ch triÖt ®Ó, nhÊt lµ víi c¸c hµm siªu viÖt hoÆc phøc t¹p. CÇn sö
dông kÕt hîp víi ®å thÞ vµ c¸c ph¬ng ph¸p ®¸nh gi¸ kh¸c ®Ó t×m hÕt tÊt c¶ c¸c nghiÖm.
CÇn lu«n lu«n kiÓm tra l¹i nghiÖm b»ng c¸ch dïng lÖnh eval.
> equ:=(x-2)^2/(x^2-4);
> sol:=solve(equ,{x});
> eval(equ,sol);
C¸c lÖnh t×m nghiÖm kh¸c
LÖnh isolve ®Ó t×m nghiÖm nguyªn
> isolve(2*x+3*y);
> isolve(2*x-3);
LÖng msolve ®Ó t×m nghiÖm nguyªn modulo p
> msolve({2*x-7*y+1,3*x-7*y-5},9);
So s¸nh víi:
> solve({2*x-7*y+1,3*x-7*y-5});
> msolve(2^n=3,11);
> solve(2^n=3);
LÖnh rsolve ®Ó gi¶i c¸c bµi to¸n truy håi
> restart;
> rsolve({f(n)=f(n-1)+f(n-2),f(0)=1,f(1)=1},{f(n)});
§éc gi¶ quan t©m cã thÓ t×m hiÓu thªm c¸c lÖnh n©ng cao vÒ vÊn ®Ò nµy trong gãi lÖnh
LREtools.
LÖnh dsolve ®Ó gi¶i c¸c ph¬ng tr×nh vi ph©n (xem phÇn tÝnh to¸n cña Maple víi gi¶i tÝch)
> ?polytools
2.3.2. §¹i sè tuyÕn tÝnh víi c¸c gãi lÖnh linalg vµ LinearAlgebra
Tõ version 7 trë ®i, Maple cung cÊp thªm 1 gãi lÖnh LinearAlgebra bªn c¹nh gãi lÖnh linalg
®· cã tríc ®©y. HÇu nh tÊt c¶ c¸c chøc n¨ng trong linalg ®Òu ®îc tÝch hîp l¹i trong
LinearAlgebra víi có ph¸p t¬ng tù, céng thªm mét sè chøc n¨ng míi.
Ma trËn vµ c¸c phÐp to¸n c¬ b¶n
T¹o vÐc t¬, ma trËn víi c¸c lÖnh vector/Vector, matrix/Matrix vµ array/Array
> restart;
> u:=vector([a,b]);
> U1:=Vector([a,b]);
> U2:=Vector[row]([a,b]);
> A0:=matrix([[a[11],a[12],a[13]], [a[21],a[22],a [23]]]) ;
> B0:=Matrix([[b[11],b[12],b[13]],[b[21],b[22],b[23]]]) ;
> A0[1,2];B0[1,2];
> a[11]:=0;b[11]:=0;
> A0;B0;
> evalm(A0);
> A0[1,1]:=0;
Page 10
> A:=matrix(3,2,[2,1,2,-2,a,b]);
> A1:=matrix([[2,1],[2,-2],[a,b]]);
> B:=Matrix([[2,1],[2,-2],[a,b]]);
> B1:=|>;
> whattype(A);whattype(B);
> LinearAlgebra[Equal](B,B1);
> linalg[equal](A,B1);
Ma trËn còng cã thÓ t¹o nªn bëi lÖnh array/Array. Thùc ra lÖnh matrix mµ mét d¹ng d÷ liÖu
®Æc biÖt cña array. Tuy nhiªn ®iÒu ®ã kh«ng ®óng víi Matrix.
> T:=array([[2,1],[2,-2],[a,b]]);
> type(T,matrix);
> T1:=Array([[2,1],[2,-2],[a,b]]);
> type(T1,Matrix);
> B+T1;
Cã thÓ dïng lÖnh convert ®Ó chuyÓn c¸c d¹ng vÒ ma trËn
> A;B;
> B2:=convert(A,Matrix);
> whattype(B2);
> LL:=[[2,1],[2,-2],[a,b]];
> whattype(LL);
> convert(LL,matrix);whattype(%);
> convert(LL,Matrix);whattype(%);
C¸c ma trËn ®îc x©y dùng ®Æc biÖt
> matrix(1,2,4);Matrix(1,2,3);
> matrix(1,2);Matrix(1,2);Matrix(3);
> M:=Matrix(3,3,shape=identity);
RÊt nhiÒu tïy chän míi cho lÖnh Matrix. Dïng lÖnh ?Matrix nÕu muèn t×m hiÓu thªm.
> f:=(i,j)->x^(i+j+1);
> matrix(3,2,f);
Truy xuÊt c¸c phÇn tö cña ma trËn
> B:=Matrix([[2,1],[2,-2],[a,b]]);
> B[3,1];
> convert(B,Vector[row]);
> convert(B,set);
> C:=Matrix(5,(i,j)->2*i+j);
§Ó trÝch xuÊt mét phÇn hay toµn bé mét dßng hay cét, ta dïng:
> C[5,1..3], C[3..5,2];C[2,1.. -1];C[1..-1,4];
§Ó trÝch xuÊt mét ma trËn con, thay thÕ c¸c täa ®é b»ng c¸c kho¶ng:
> C[3..5,1..3];
Page 11
C¸c phÐp to¸n trªn ma trËn
> restart;
> with(LinearAlgebra):
> A:=Matrix([[a,1,c],[2,-b,1]]);
> B:=Matrix([[x,y,1],[c,2,z]]);
PhÐp céng ma trËn
> A+B;
> Add(A,B);
> A-B;
PhÐp céng ma trËn víi 1 sè ®îc xem nh céng víi mét ma trËn h»ng:
> 2+A;
PhÐp nh©n v« híng
> 3*A;
> 3 . A;
NÕu muèn dïng phÐp nh©n b»ng " ." th× ph¶i cã kho¶ng trèng sau phÐp to¸n.
PhÐp nh©n hai ma trËn
> C:=RandomMatrix(3,2);
> C.A;
Chó ý kh«ng cÇn kho¶ng trèng sau phÐp to¸n " ." .
C¸c phÐp biÕn ®æi s¬ cÊp vµ phÐp chuyÓn vÞ
> with(LinearAlgebra):
A := ||>;
> RowOperation(A, 3, 3);
> ColumnOperation(A, [1,3]);
> RowOperation(A, [1,3], -2);
Dßng thø 1 ®îc thay bëi (d1-2*d3).
> A:=RandomMatrix(3,2);
> Transpose(A);
§Þnh thøc vµ ma trËn nghÞch ®¶o
> restart;with(LinearAlgebra):
> A:= Matrix([[b[11],b[12],b[13]],[b[21],b[22],b[23]],[b[31],b[32],b[33]]]) ;
> Determinant(A);
>
> C:=RandomMatrix(3,3);
> MatrixInverse(C);
§a thøc ®Æc trng. Gi¸ trÞ riªng vµ vÐc t¬ riªng
> with(LinearAlgebra):
M := ||>;
Page 12
> CharacteristicPolynomial(M,x);
> solve(%,x);
> Eigenvalues(M,output='list');
> Eigenvectors(M);
C¸c cét cña ma trËn bªn ph¶i lµ c¸c vÐc t¬ riªng øng víi c¸c gi¸ trÞ riªng cho trong cét bªn
tr¸i.
C¸c d¹ng chuÈn t¾c
D¹ng rót gän Gauss vµ Gauss -Jordan
§©y lµ d¹ng chuÈn t¾c øng dông trong khi gi¶i hÖ ph¬ng tr×nh tuyÕn
> restart;with(LinearAlgebra):
> A:=RandomMatrix(4,6);
> b:=;
> GaussianElimination(A);
> GaussianElimination(A,'method'='FractionFree');
> ReducedRowEchelonForm();
D¹ng chuÈn t¾c Jordan
> with(LinearAlgebra):
A := |||>;
J := JordanForm(A);
> Eigenvalues(A, output='list');
> Q := JordanForm(A, output='Q');
> Q^(-1) . A . Q;
>
D¹ng chuÈn t¾c h÷u tû
> restart;
> with(LinearAlgebra):
A := ||||>;
> FrobeniusForm(A);
> factor( CharacteristicPolynomial(A, x) );
> (F,Q):=RationalCanonicalForm(A,output=['F','Q']);
> FrobeniusForm(A,output='Q');
> Q^(-1) . A . Q;
ChiÒu vµ c¬ së cña kh«ng gian vÐc t¬
Bµi tËp
Cho hÖ pttt:
x1 2 x2 6 x3 8 x4 14 x5 3 x6 0 2 x1 4 x2 x3 8 x4 5 x5 x6 0, ,[
3 x1 x2 4 x3 9 x4 10 x5 0 3 x1 2 x2 x3 12 x4 x5 4 x6 0, ,
5 x1 7 x2 11 x3 11 x4 19 x5 9 x6 0]
;
1) H·y lËp ma trËn hÖ sè cña hÖ.
2) Chøng tá r»ng ma trËn trªn cã thÓ nhËn c¸c cét cña x1, x2,x3 lµm c¬ së cñ kh«ng gian
nghiÖm
3) BiÓu thÞ tuyÕn tÝnh x4,x5,x6 qua x1,x2,x3.
4) Gi¶i hÖ ph¬ng tr×nh trªn.
Page 13
> restart;
> with(LinearAlgebra):A := |||>;
> RowSpace(A);
> GramSchmidt(%);
> ColumnSpace(A);
> B :=
Matrix(5,6,[[-1,2,6,-8,-14,3],[2,4,1,-8,5,-1],[-3,1,4,-9,-10,0],[3,-2,-1,12,-1,4],[5,7,11,-11,-19,9]]);
> GenerateEquations(B,[x1,x2,x3,x4,x5,x6]);
>
> Rank(B);
> ColumnSpace(B);
> RedB:=ReducedRowEchelonForm(B);
> B1:=DeleteColumn(B,4..6);Rank(B1);
> B2:=ColumnSpace(B):
> v1:=B1[1..-1,1];v2:=B1[1..-1,2]:v3:=B1[1..-1,3]:v4:=B[1..-1,4];v5:=B[1..-1,5]:v6:=B[1..-1,6]:
> ||>;
> NullSpace(B);
HÖ ph¬ng tr×nh tuyÕn tÝnh
> restart;
> with(LinearAlgebra):
> sys := [ 3*x[1]+2*x[2]+3*x[3] -2*x[4] = 1,
x[1]+ x[2]+ x[3] = 3,
x[1]+2*x[2]+ x[3]- x[4] = 2 ];var:=[x[1],x[2],x[3],x[4]];
>
(A, b) := GenerateMatrix(sys,var);
> A1:=GenerateMatrix(sys,var,augmented=true);
> LinearSolve(A1);
> LinearSolve(A,b);
> GenerateEquations(A,[x1,x2,x3,x4],);
> GenerateEquations(A1,[x1,x2,x3,x4]);
2.4. C¸c tÝnh to¸n gi¶i tÝch
a) X¸c ®Þnh hµm vµ lÖnh map
Hµm 1 biÕn:
> f:=x->a*x^2+b*x+c;
> f(2);
Víi hµm nhiÒu biÕn:
> g:=(x,y,z)->x^2+y^2-z^2;
> g(3,4,5);
Hµm tõng ®o¹n cã thÓ ®Þnh nghÜa bëi lÖnh piecewise(), cÊu tróc ®îc minh häa qua vÝ dô sau:
> f:=piecewise(x<0,1,x<1,x,x<2,3 -x,sin(x)+2);
Page 14
LÖnh map thêng dïng ®Ó x¸c ®Þnh gi¸ trÞ cña 1 hµm t¹i mét d·y c¸c gi¸ trÞ c ña biÕn
> f:=x->x^2-x+1;
> lst:=[-2,-1,-1/2,0,1,2,3/2,4];
> map(f,lst);
b) C¸c phÐp tÝnh to¸n c¬ b¶n
b1) T×m giíi h¹n
> limit(exp(x),x=-infinity);
> limit(exp(x),x=infinity);
> Limit(exp(x),x=-infinity)=limit(exp(x),x=-infinity);;
> limit(1/x,x=0);
b2) TÝnh ®¹o hµm
LÖnh diff hoÆc D cho phÐp tÝnh ®¹o hµm cña hµm 1 biÕn hoÆc ®¹o hµm riªng. Có ph¸p ®îc
minh häa qua c¸c vÝ dô sau:
> diff(7*x^2 + 4*x^3, x); diff(5*x^2 - Pi*x^3, x);
> g:=x->x^2-exp(x)+sin(x);
> D(g);
b3) TÝch ph©n
TÝnh tÝch ph©n bÊt ®Þnh b»ng lÖnh int(hµm, biÕn).
> int(x^2-x+2,x);
> Int(x^2-x+2,x);
> value(%);
TÝnh tÝch ph©n x¸c ®Þnh int(hµm, miÒn).
> restart;
> f:=x->x-2*sin(x)+1;
> int(f,-5..8);
Ch¬ng 3. C«ng cô vÏ h×nh vµ minh häa trong Maple
3.1. VÏ h×nh trong hÖ täa ®é Descartes
a) LÖnh plot vµ plot3d ®Ó vÏ ®å thÞ hµm hiÖn vµ tham sè
LÖnh vÏ h×nh ®¬n gi¶n vµ th«ng dông nhÊt lµ plot (trong mÆt ph¼ng) vµ plot3d (trong
kh«ng gian 3 chiÒu). C¸c lÖnh nµy n»m trong phÇn nh©n cña Maple. Có ph¸p:
plot(f(x),x=a..b,options) vµ plot3d(f(x,y),x=a..b,y=c..d,options) .
> ?plot
> plot(x*sin(3*x),x=0..2*Pi);
Chó ý r»ng lÖnh trªn vÏ ®å thÞ hµm y x ( )sin 3 x víi x tõ 0 ®Õn . T¬ng tù lÖnh sau vÏ ®å
thÞ hµm z ( )f ,x y trong miÒn chØ ra:
> plot3d(x*sin(3*y),x=-1..1,y=0..Pi);
KÝch chuét trªn h×nh vÏ, ta cã thÓ quay h×nh vÏ ®Ó xem b»ng c¸c gãc ®é tïy ý. Trªn thanh
c«ng cô míi, cã c¸c tïy chän ®Ó xem. H·y sö dông!
Cã thÓ vÏ nhiÒu ®å thÞ trong cïng mét h×nh:
> plot({x*sin(3*x),x^2+2*x-4},x=-2*Pi..2*Pi);
Khi kÝch chuét trªn h×nh vÏ, cã c¸c tïy chän trªn thanh c«ng cô míi. H·y sö dông!
> plot3d([x*sin(3*y),x-y],x=-1..1,y=-Pi..Pi,color=[red,blue]);
Víi gãi lÖnh plots, cã thÓ dïng lÖnh display.
Page 15
b) Save h×nh vÏ b»ng c¸c ®Þnh d¹ng kh¸c nhau
H·y trë l¹i ®å thÞ:
> plot3d({x*sin(3*y),x-y},x=-1..1,y=-Pi..Pi);
Khi kÝch nót ph¶i cña chuét, phÝa díi c¸c c«ng cô ®iÒu chØnh h×nh vÏ lµ nót Export As, cho
phÐp ta lu gi÷ h×nh vÏ ra c¸c ®Þnh d¹ng kh¸c nhau. Xem lÖnh ?plotsetup ®Ó biÕt thªm c¸ch
®iÒu chØnh h×nh vÏ khi save.
c) §å thÞ cña hµm tham sè
Cã 3 d¹ng hµm tham sè øng víi ®êng cong trong mÆt ph¼ng, mÆt trong kh«ng gian vµ ®êng
cong trong kh«ng gian.
Trong mÆt ph¼ng, có ph¸p lµ:
plot([ f(t), g(t), t=a..b], options).
VÝ dô:
> plot([3*cos(t),sin(t),t=0..2*Pi]):
§å thÞ mÆt ph¼ng trong kh«ng gian, có ph¸p lµ:
plot3d([ f(s,t), g(s,t), h(s,t)], s=a..b, t=c..d, options).
> plot3d([ 2*t-3*s^2*sin(t), s*t, 2*s-3*cos(t)], s=-2..2, t=-2..2);
Víi ®êng cong tham sè trong kh«ng gian, dïng lÖnh spacecurve trong gãi lÖnh plots. Có
ph¸p:
spacecurve([f(t),g(t),h(t)],t=a..b,options).
> with(plots):
> spacecurve([sin(3*t)*cos(t),sin(3*t)*sin(t),t],t=0..Pi,shading=z);
d) Gãi lÖnh plots
Víi gãi lÖnh plots, Maple cung cÊp rÊt nhiÒu c«ng cô cho viÖc vÏ c¸c d¹ng ®å thÞ kh¸c nhau
LÖnh pointplot vµ pointplot3d ®Ó vÏ tõng ®iÓm
Trong mÆt ph¼ng:
> with(plots):
> pointplot({[1,3],[2,4],[3,4]}):
HoÆc:
> pointplot([1,3,2,4,3,4]):
> f:=n->n/(n+1);
> pointplot({seq([n,f(n)],n=1..50)},symbol=box):
H·y sö dông c¸c tïy chän "circle,diamond,cross" cña symbol. Còng cã thÓ ®iÒu chØnh cì
cña ®iÓm b»ng options symbolsize, cì ngÇm ®Þnh lµ 10pt.
T¬ng tù, trong kh«ng gian, lÖnh vÏ tõng ®iÓm ®îc dïng nh sau:
> pointplot3d({[3,2,-1],[2,3,4],[5,6,0]}):
Ta ph¶i thay cì hoÆc h×nh d¹ng cña ®iÓm th× míi dÔ nh×n thÊy trong kh«ng gian
> pointplot3d([0,1,1,1,-1,2,3,0,5],symbol=box ,axes=BOXED):
> pointplot3d([0,1,1,1,-1,2,3,0,5],symbol=box,symbolsize=18 ,axes=BOXED):
Chó ý ViÖc vÏ tõng ®iÓm còng cã thÓ thùc hiÖn víi lÖnh plot vµ plot3d th«ng thêng mµ
kh«ng cÇn ph¶i kÝch ho¹t gãi lÖnh plots. Khi ®ã trong options cña plot vµ plot3d, chän
style=point.
LÖnh display ®Ó biÓu diÔn nhiÒu ®å thÞ trªn cïng mét h×nh
> with(plots):
> S:=plot3d(4-x^2-2*y^2,x=-4..4,y=-3..3):
Page 16
> P:=plot3d(6-4*y,x=-4..4,y=-3..3):
> display(S):
> display(S,P):
Râ nÐt vµ mÞn hãa ®å thÞ
a) Lµm râ nÐt cña ®å thÞ b»ng tïy chän thickness
> f:=x->exp(x/2);
> plot({f(x),f(-x)},x=-3..3,thickness=4):
Gi¸ trÞ ngÇm ®Þnh cña thickness lµ 0. Gi¸ trÞ cao nhÊt lµ 15.
b) MÞn hãa b»ng c¸ch t¨ng gi¸ trÞ cña numpoints hay víi grid.
> plot3d((x^2+y^2)/sin(x*y),x=-1..1,y=-1..1,axes=normal):
so s¸nh víi:
> plot3d((x^2+y^2)/sin(x*y),x=-1..1,y=-1..1
File đính kèm:
- maple.pdf