1. Trang chủ
  2. » Giáo án - Bài giảng

thực hành tính toán trên maple

77 1,1K 5

Đ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 77
Dung lượng 0,92 MB

Nội dung

Tính giá trị của biểu thức số học Tính chính xác các phép toán số học là khả năng mạnh có tính nguyên tắc của MAPLE.. cũng được thực hiện theo phương thức thông thường ngoại trừ một khác

Trang 1

Chương 2

Thực hành tính toán trên

Maple

2.1 tính toán số học và đại số thông dụng 14

2.1.1 Tính toán với số nguyên 14

Tính giai thừa 14

Tìm ước số chung lớn nhất (gcd) 14

Tìm bội số chung nhỏ nhất (lcm) 14

Phân tích một số ra thừa số nguyên tố 15

Tìm các số nguyên tố trước và sau một số cho trước 15

Tìm nghiệm nguyên của phương trình 15

Tìm thương và phần dư 16

Tính theo công thức truy hồi 17

2.1.2 Tính toán với các số thập phân 20

Về độ chính xác của các phép tính số học 20

Tính giá trị của biểu thức số học 21

Tính tổng của hữu hạn và của vô hạn các số hạng 21

Tính tích của hữu hạn hoặc vô hạn thừa số 22

2.1.3 Tính toán với số phức 23

2.1.4 Tính toán theo Modul 24

Các tính toán Modul thông thường 24

Giải phương trình với Modul 26

2.1.5 Khai triển, đơn giản và phân tích biểu thức đại số 27

Khai triển biểu thức đại số 27

Phân tích ra thừa số 28

Phép đơn giản biểu thức 28

Tối giản phân thức 29

Gán tên cho biểu thức và gán trị cho biến 29

Chuyển đổi dạng của biểu thức 30

2.1.6 Định nghĩa hàm số 31

Hàm số thông thường 31

Hàm từng khúc 31

Trang 2

2.1.7 Giải phương trình và hệ phương trình 32

Giải phương trình đại số (có hệ số bằng số hoặc bằng chữ) 32

Giải phương trình vô tỷ 33

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

2.1.8 Giải bất phương trình 34

2.2 Vẽ đồ thị và các vấn đề liên quan 35

2.2.1 Vẽ đồ thị trong mặt phẳng 35

Vẽ đồ thị hàm thông thường 35

Vẽ đồ thị hàm ẩn 37

Các tuỳ chọn cơ bản trong lệnh vẽ đồ thị 38

Một số thí dụ minh họa 41

2.2.2 Vẽ đồ thị trong không gian 3 chiều 42

Vẽ đồ thị hàm 2 biến 42

Vẽ đường mức của các hàm 2 biến 44

Vẽ đường ống trong không gian 3 chiều 46

2.2.3 Vận động của đồ thị 46

2.3 Tính toán trong đại số tuyến tính 48

2.3.1 Các phép toán trên vectơ và ma trận 48

Tạo vectơ và ma trận 48

So sánh hai ma trận 50

Tính tổng của hai ma trận (lệnh đánh giá ma trận tổng) 51

Nhân ma trận 51

Tính tích trong của ma trận và véc tơ (lệnh innerprod) 52

Tính tích véc tơ (tích trực tiếp) bằng lệnh crossprod 53

Tính tích vô hướng của hai véc tơ (lệnh dotprod) 53

2.3.2 Tính giá trị riêng và vectơ riêng của ma trận 54

Tính đa thức đặc trưng 54

Tính giá trị riêng và véc tơ riêng của ma trận 54

Tính giá trị riêng và véc tơ riêng của ma trận số 55

2.3.3 Tính hạng, tính định thức và tính ma trận ngược 56

Tìm hạng của ma trận 56

Tính định thức và ma trận ngược của ma trận 57

2.3.4 Giải phương trình đại số tuyến tính 57

Thiết lập ma trận từ phương trình và ngược lại 57

Giải phương trình đại số tuyến tính 59

2.3.5 Tìm cơ sở cho không gian vectơ 60

Tìm họ véc tơ cơ sở 60

Tìm cơ sở cho không gian véc tơ sinh bởi các dòng (cột) của ma trận 61

Tìm cơ sở cho hạch của ma trận 61

Tìm cơ sở trực chuẩn của không gian sinh bởi một họ các véc tơ 61

Trang 3

2.4 Phép tính vi phân và tích phân 62

2.4.1 Phép tính giới hạn 62

Tính giới hạn của hàm số tại một điểm 62

Tính giới hạn theo hướng (trái hoặc phải) 63

2.4.2 Tính đạo hàm của hàm số một biến 63

Tính đạo hàm bậc nhất 63

Các ví dụ minh hoạ 64

Tính đạo hàm cấp cao 65

2.4.3 Tính vi phân hàm nhiều biến, hàm vectơ và ma trận hàm 66

Phép tính đạo hàm của hàm nhiều biến 66

Tính đạo hàm của một hàm véc tơ 67

Tính đạo hàm của một ma trận hàm 67

2.4.4 Hàm ẩn và đạo hàm của nó 68

Hàm ẩn vô hướng 68

Hàm ẩn véc tơ 70

2.4.5 Phép tính tích phân 72

Tính tích phân xác định 72

Tính tích phân không xác định 74

Tính tích phân suy rộng 76

2.4.6 Khai triển hàm số thành chuỗi 76

2.5 Phương trình Vi phân và Vật lý toán 78

2.5.1 Giải phương trình vi phân thường 78

Các phương trình vi phân thông thường 78

Các tuỳ chọn trong giải phương trình vi phân 79

Phương trình vi phân với các hàm đặc biệt 80

2.5.2 Giải hệ phương trình vi phân thường 81

Giải hệ phương trình vi phân thường 81

Các tuỳ chọn trong giải hệ phương trình vi phân 82

Vẽ đồ thị nghiệm của hệ phương trình vi phân 84

2.5.3 Giải phương trình đạo hàm riêng 86

Giải phương trình đạo hàm riêng 86

Vẽ đồ thị nghiệm của phương trình đạo hàm riêng 86

Phần này giới thiệu những chủ đề tính toán thông dụng nhất Qua đây chúng ta

sẽ mau chóng nắm bắt được phương thức làm việc với Maple, để rồi tự mình khám phá và tìm hiểu về khả năng tính toán tuyệt vời của Maple Các tính toán chuyên ngành sâu hơn sẽ được đề cập trong phần tính toán thực hành trên máy của các giáo trình cho từng bộ môn

Trang 4

2.1 tính toán số học và đại số thông dụng

2.1.1 Tính toán với số nguyên

MAPLE là một công cụ mạnh, cho phép tính toán với những số lớn

Để thực hành tính toán, trước tiên hãy đưa vào một cụm xử lý (bằng chức năng

Insert/Execution Group/After Cursor) Sau khi hiện ra dấu nhắc "[>" thì đưa lệnh tính toán vào Với những tính toán số học thông thường, câu lệnh cũng chính là biểu thức tính toán Thí dụ, để tính (32).(1213

) ta đưa vào sau dấu nhắc biểu thức mô tả phép tính này (nhắc lại rằng phép nhân ký hiệu là dấu sao (*) và phép luỹ thừa biểu thị bằng dấu mũ (^), còn dấu chấm phẩy (;) biểu thị kết thúc của câu lệnh) Sau khi cho thực hiện lệnh thì việc tính toán sẽ được thực hiện và ta sẽ nhận được ngay đáp số:

[>32*12^13;

3423782572130304Maple biết làm rất nhiều phép toán đặc biệt, trong đó có

Tính giai thừa

Thí dụ Tính 99! như sau

[>99!;

93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251

Tìm bội số chung nhỏ nhất (lcm)

Thí dụ Tìm bội số chung nhỏ nhất của 2 số 18230 và 3224 bằng câu lệnh sau:

[>lcm(18230,3224);

29386760

Dĩ nhiên, có thể tìm bội số chung nhỏ nhất của nhiều số:

Trang 5

[>lcm(24,15,7,154,812);

267960

Phân tích một số ra thừa số nguyên tố

Thí dụ Phân tích số 122333444455555666666777777788888888999999999 ra thừa số nguyên tố bằng câu lệnh có cú pháp như sau:

[>ifactor(122333444455555666666777777788888888999999999 );

(3)(12241913785205210313897506033112067347143)(3331)

Như vậy, ta đã tìm được "của hiếm" - một số nguyên tố lớn (trên 40 chữ số !!!)

Muốn thiết lập lại tích của các thừa số này ta dùng lệnh bung tích trên ra

(Maple hiểu ngầm định ký hiệu (%) là chỉ biểu thức ngay trước đó, trong các phiên bản cũ ký hiệu này là dấu nháy kép):

[>expand(%);

122333444455555666666777777788888888999999999

Tìm các số nguyên tố trước và sau một số cho trước

Tìm số nguyên tố đứng trước số nguyên a cho trước bằng lệnh

122333444455555666666777777788888889000000069

Tìm nghiệm nguyên của phương trình

Giải phương trình để tìm nghiệm nguyên bằng lệnh isolve với cú pháp như sau

[>isolve(eqns,vars);

Trong đó: eqns - tập các phương trình hoặc một phương trình

Trang 6

vars - tập các tên biến vô định

Thủ tục isolve giải phương trình trên tập các số nguyên, cho phép tìm mọi ẩn

vô định tham gia trong các phương trình

Tập tên các biến vô định (vars) được sử dụng để biểu diễn nghiệm, có giá trị

nguyên Nếu ta không chỉ rõ các biến này, hoặc đưa không đủ, thì chương trình sẽ

tự tạo ra các tên _N1, _N2 Nếu ta khai báo thừa (nhiều hơn số biến vô định thực tế) thì cũng không sao, chương trình sẽ không động chạm đến các biến thừa

Nếu không có nghiệm nguyên (hoặc MAPLE không có khả năng tìm nghiệm) thì máy thông báo NULL

Nếu mn là hai số nguyên thì lệnh irem tính phần dư của m khi chia cho n ,

và nếu có sự tham gia của biến thứ ba 'q' thì nó sẽ được gán cho thương Tương tự, lệnh iquo tính thương khi chia m cho n và nếu có sự tham gia của biến thứ ba 'r' thì nó được gán cho phần dư

Nếu mn không phải cả hai là những số nguyên thì irem không xác định

Trang 7

Thí dụ Muốn tìm phần dư của 23 cho 4 ta dùng lệnh

[>iquo(23,4,'r');

5

[>r;

3Khi không có biến thứ 3

Tính theo công thức truy hồi

Nhờ MAPLE, bạn có thể tính giá trị của các biểu thức theo công thức truy hồi như tính số hạng tổng quát của dãy Fibonachi Muốn tính theo công thức truy hồi, bạn hãy vào lệnh

[>rsolve(eqns, fcns);

Trong đó, eqns là phương trình hoặc tập các phương trình, fcns là tên hàm hoặc

tập tên các hàm mà lệnh rsolve phải tìm

Trang 8

ThÝ dô T×m c«ng thøc cho hµm f(k) theo c«ng thøc truy håi

= ( )

f n −3 (f − n 1) − 2 (f − n 2 )víi gi¸ trÞ ban ®Çu bÊt kú

[>rsolve(f(n)=-3*f(n-1)-2*f(n-2),f(k));

+ (2 ( )f 0 + f 1 ( )( )) -1 k (−f 0( ) − f 1 ( )( )) -2 k

NÕu muèn cã c«ng thøc cña f(k) víi gi¸ trÞ ban ®Çu cho tr−íc th× ta ph¶i khai b¸o gi¸ trÞ Êy vµo eqns

[>rsolve({f(n)=-3*f(n-1)-2*f(n-2),f(1 2)=1},{f});

{f n( ) = −3 ( )-1 n + ( )-2 n}

ThÝ dô TÝnh sè h¹ng f(n) cña d·y Fibonachi

= ( )

f n f(n 1 − ) + f(n 2 − )víi ®iÒu kiÖn ban ®Çu f(1)=1, f(2)=1

ln 2 1

10

Muèn cã c«ng thøc t−êng minh cña biÓu thøc truy håi ta ph¶i lµm hai b−íc sau B−íc 1 G¸n tªn cho biÓu thøc truy håi

Trang 9

, = ( )

f 1 2 f 2( ) = 3Bước 1 Gán tên reqn (phương trình truy hồi) cho biểu thức truy hồi đã cho [>reqn:=f(n+1)=3*f(n)-2*f(n-1);

:=

reqn f(n 1 + ) = 3 ( )f n ư 2 (f n 1 ư )Bước 2 Giải phương trình với điều kiện ban đầu f(1)=2,f(2)=3

[>rsolve({reqn,f(1)=2,f(2)=3},f(n));

+

1

22n 1Kết quả tính toán truy hồi có thể cho ta một hàm đặc biệt

Thí dụ Tìm ( )y n , biết y n( ) = n (y n 1 ư ), y 0( ) = 1

[>rsolve({y(n) = n*y(n-1), y(0)=1}, y);

Γ + n 1

Trong đó Γ(.) là hàm GAMMA đã quen biết trong Giải tích Toán học

Maple có thể giải phương trình truy hồi phi tuyến

Thí dụ Giải phương trình truy hồi

, = + ư

y n 1 + f n( ) 2(n + 1) + n

= ư

f n 1 + y( )n n 2 ư + n 3

với điều kiện ban đầu

, =

y k = 1 5 2k ư 1 f 5( ) = 6;

Trang 10

[>rsolve({y(n+1)+f(n)=2^(n+1)+n,f(n+1)-y(n)=n-2^n+3, y(k=1 5)=2^k-1,f(5)=6},{y, f});

{y( )n = 2n ư 1,f( )n = n 1 + }

2.1.2 Tính toán với các số thập phân

Về độ chính xác của các phép tính số học

Bạn có thể thực hiện các phép toán số học trên các số thập phân (với dấu phẩy

động) với độ chính xác theo ý muốn Trong thực tế, MAPLE có thể xử lý các số với hàng trăm nghìn chữ số

Muốn tính giá trị của đại lượng P chính xác tới m con số, ta sử dụng lệnh evalf(P,m)

Thí dụ Ta hãy tính số Pi chính xác đến 500 chữ số thập phân

[>evalf(Pi,500);

3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279

chương trình giải tích) nên phải viết hoa theo đúng tên qui định của hàm số này

Trang 11

Tính giá trị của biểu thức số học

Tính chính xác các phép toán số học là khả năng mạnh có tính nguyên tắc của MAPLE

Các phép chia và khai căn trong tính toán không bị đổi sang các phân số thập phân (gần đúng) tương đương Khả năng này cho phép tránh được sai số khi làm tròn

Thí dụ Biểu thức

30 20

định là 10 chữ số thập phân) Muốn làm điều này ta dùng lệnh lệnh evalf(.)

(đánh giá biểu thức trên đây), cụ thể là:

[>evalf(%);

.5333783739 Trong đó (%) là kí hiệu “biểu thức trước đó”, mà trong các phiên bản Maple từ R4 trở về trước thường được k hiệu là (“)

Tính tổng của hữu hạn và của vô hạn các số hạng

1.Bài toán tính tổng hữu hạn

Ta sẽ tiến hành các bước sau:

group/After cursor) rồi đưa vào dòng lệnh có cú pháp như sau:

[>Sum(f(i),i=m n);

Trong đó, Sum là viết tắt của tổng, f(i) là số hạng thứ i của tổng, i=m n

nghĩa là i chạy từ m đến n Sau khi cho thực hiện lệnh này, máy sẽ cho ta công

Trang 12

Thí dụ Muốn tính tổng

10 4 1

11

i

i i

=

++

∑ , bạn hãy vào hai lệnh sau và ấn "Enter", máy sẽ cho ngay kết quả :

1 i4

[>value(%);

5150805672759473291372240626648938819200088497

Chú ý Muốn có kết quả nhanh, bạn thay chữ S (hoa) trong chữ "Sum" bằng chữ s

thường, máy sẽ đưa ta đến thẳng đáp số (bỏ qua công đoạn biểu diễn công thức)

Tính tích của hữu hạn hoặc vô hạn thừa số

Thao tác giống hệt phần trên, chỉ thay chữ "Sum" (tổng) bằng chữ

"Product" (tích)

Trang 13

Thí dụ Muốn tính tích

2 10 0

3 113

i

i i i

=

+ −+

∏ ta vào hai lệnh sau và ấn "Enter", máy sẽ cho biểu thức của tích cần tính và đáp số

i 3

[>value(%);

-778170651265740435200

Thí dụ Muốn tính nhanh tích 2

2

11

∏ ta vào lệnh sau (dùng "product" thay cho

"Product") và ấn "Enter", máy sẽ cho ngay đáp số (bỏ qua công đoạn biểu diễn bằng công thức),

[>product((1-1/n^2),n=2 infinity) ;

12

Nhận xét: Tích vô hạn liên quan mật thiết với tổng vô hạn và có nhiều công thức thú vị Dùng MAPLE, bạn có thể dễ dàng tính đ−ợc các tích đó

65I

Trang 14

Bằng lệnh "biến đổi f về dạng toạ độ cực" convert(f,polar) bạn có thể dễ

dàng biến đổi số phức f về dạng toạ độ cực (r,θ), trong đó r là môđun và θ là

argumen của số phức trong biểu thức

2.1.4 Tính toán theo Modul

Các tính toán Modul thông thường

Tính modul m trên tập số nguyên

Lệnh : e mod m với các dạng riêng:

modp(e,m) - lấy biểu diễn dương của e theo modul m (trong tập giá trị từ 0

2 ] ) Trong đó: e - biểu thức đại số

m - số nguyên khác 0

Toán tử mod tính giá trị biểu thức e trên tập số nguyên modul m Nó hợp

nhất việc tính toán trên trường số hữu hạn và các phép tính số học đối với đa thức,

ma trận trên trường hữu hạn, kể cả phép phân tích ra thừa số

Việc ấn định modp hay mods được thực hiện thông qua biến môi trường

`mod` (giá trị modp được xem là mặc định)

Khi tính q mod m , trong đó n q là số nguyên, thì không nên sử dụng cú

pháp 'hiển nhiên' như q^n mod m, bởi vì phép luỹ thừa sẽ chuyển số thứ nhất thành

số nguyên (có thể là rất lớn) trước khi rút gọn theo modul m Thay vào đó, nên

dùng toán tử trơ (inert) &^, nghĩa là q&^n mod m Trong dạng đó, luỹ thừa sẽ

được biến đổi khéo léo theo phép lấy mod Tương tự Powmod(a,n,b,x) mod m tính

Rem(a^n,b,x) mod m ( a và b là những đa thức của x) không cần tính a^n mod m

Những phép toán modul số học khác được biểu diễn dưới dạng tự nhiên của

chúng

i+j mod m; i-j mod m; i*j mod m;

j^(-1) mod m; i/j mod m;

Trong đó i/j mod m được hiểu là i*j^(-1) (modul m)

Thí dụ Tính

Trang 15

Khi biÓu thøc e kh«ng ph¶i lµ mét sè, mµ lµ mét ®a thøc th× phÐp lÊy modul cña

nã ®−îc hiÓu lµ phÐp lÊy modul cña tÊt c¶ c¸c hÖ sè cña ®a thøc

Trang 16

Các phép toán khác: tìm ước số chung lớn nhất, phân tích ra thừa số (với cả số

và đa thức), cũng được thực hiện theo phương thức thông thường (ngoại trừ một khác biệt nhỏ là các lệnh trong phép tính với modul được bắt đầu với chữ hoa) Một

điều dễ nhận ra là kết quả của phép tính theo modul luôn "khác thường" Thí dụ:

Giải phương trình với Modul

Lệnh : msolve - giải phương trình trong Z theo mod m

Cú pháp: msolve(eqns,vars,q) hoặc msolve(eqns,q)

Tham số: eqns - tập các phương trình (hoặc một phương trình)

vars - tập các tên biến

q - số nguyên

Lệnh msolve giải các phương trình eqns trên các số nguyên (theo mod q)

Nó giải theo mọi ẩn bất định có trong các phương trình

Nếu nghiệm là vô định, thì họ các nghiệm được biểu thị thông qua các biến có tên được cho trong tập tên biến vars , và nếu như vars bị bỏ qua thì được thay thế

Trang 17

bằng các tên mặc định toàn cục _NN1, _NN2, _NN3, Những tên này không trùng với các ẩn vô định và được phép lấy mọi giá trị nguyên

Thí dụ

[>msolve(x^2=3,5);

(Phương trình này vô nghiệm)

2.1.5 Khai triển, đơn giản và phân tích biểu thức đại số

Khai triển biểu thức đại số

MAPLE có thể khai triển các nhị thức

Thí dụ Khai triển nhị thức (x y + )15

Công việc này được tiến hành như sau:

[>expr:=(x+y)^15;

Trong đó expr là viết tắt của chữ " biểu thức", dấu ":= " thay cho định nghĩa (vì

vậy, dòng lệnh trên có nghĩa như là : "biểu thức expr được định nghĩa bằng

(x+y)^15 " )

Sau khi cho thực hiện lệnh, máy hiện biểu thức mà ta sẽ khai triển, tức là

Trang 18

expr:= (x y + )15

Bước 2. Tiếp tục đưa vào lệnh:

[>expand(expr);

(nghĩa là: " Khai triển biểu thức expr ") Sau khi cho thực hiện lệnh máy hiện

dạng khai triển của biểu thức

Phép toán này thực chất là ngược của phép khai triển nói trên Bạn có thể dùng

nó để kiểm tra các tính toán đã thực hiện ở trên Lệnh phân tích một đa thức ra thừa

số là factor(.) Thí dụ, ta phân tích đa thức sau đây ra thừa số

được xem xét sau

Phép đơn giản biểu thức

Bằng lệnh simplify (đơn giản hoá) MAPLE có thể áp dụng các đồng nhất

thức để đơn giản rất nhiều biểu thức toán học cồng kềnh, thí dụ các biểu thức lượng giác

Thí dụ Muốn đơn giản biểu thức lượng giác

cos x 5 cos x( )4

Trang 19

x2 x y y2

bằng lệnh sau đây:

[>normal((x^3-y^3)/(x^2+x-y-y^2));

Sau khi cho thực hiên lệnh là sẽ thấy ngay kết quả

+ +

x2 y x y2 + +

x 1 y

Gán tên cho biểu thức và gán trị cho biến

Nếu một biểu thức cồng kềnh mà đ−ợc dùng đi dùng lại nhiều lần thì tốt nhất

là gán cho nó một cái tên, để mỗi lần sử dụng đến nó ta không mất công viết lại (và cũng đỡ nhầm lẫn) Thí dụ, ta gán cho biểu thức (41x2+ +x 1) (22 x − cái tên là 1)

expr1 (biểu thức 1) bằng lệnh

[>expr1:=(41*x^2+x+1)^2*(2*x-1);

:=

expr1 (41 x2 + + x 1)2(2 x 1 − )

và sau đó ta có thể thoải mái tiến hành mọi phép toán trên nó

Thí dụ, ta có thể khai triển nó bằng lệnh expand và, cùng một lúc, lại có thể

gán cho biểu thức kết quả một cái tên khác, thí dụ nh− là expr2 (biểu thức 2), với lệnh:

x x phanthuc

+ +

=

Trang 20

Muốn gán một giá trị cho biến của một biểu thức ta dùng lệnh subs (viết tắt của từ substitution - thay thế), thí dụ ta có thể tính giá trị của biểu thức 2 tại x = 1

bằng lệnh gán cho biến x giá trị bằng 1, cụ thể là:

[>subs (x=1, phanthuc);

31849

Dĩ nhiên, giá trị được gán cho biến số cũng có thể là một biểu thức (và khi ấy ý nghĩa của từ "thay thế" càng trở nên sáng tỏ), thí dụ

[>subs(x=x+y,phanthuc);

+ + + (x y + )2 x y 1

3362 (x y + )5 1517 (x y + )4 84 (x y + )3 79 (x y + )2 1

Chuyển đổi dạng của biểu thức

Lệnh convert (chuyển đổi) cho phép ta đưa các biểu thức về những dạng đặc

biệt xác định trước

Thí dụ, ta biến đổi biểu thức a x2 + b

x (ư3 x2 ư + x 4) về dạng tổng các phân thức riêng (partial fractions) nhờ các lệnh sau đây:

Khai báo biểu thức

[>my_expr:= (a*x^2+b)/(x*(-3*x^2-x+4));

:=

my_expr a x2 + b

x3 x2 ư + x 4)Chuyển đổi biểu thức vừa khai báo về dạng tổng các phân thức riêng:

[>convert(my_expr,parfrac,x);

14

b x

128

Trang 21

[>f(a+b);

+ (a b + )2 1

2

Một điểm khác cơ bản giữa định nghĩa hàm số như trên và phép gán tên (ở mục trước) là giá trị của hàm số được tính trực tiếp (chứ không phải bằng lệnh thay thế) Cũng có thể sử dụng lệnh unapply để chuyển một biểu thức về hàm số [>g:=unapply(x^2+1/2,x);

Trang 22

phú và đa dạng là chia miền xác định ra một số mảnh, trên mỗi mảnh ta cho hàm nhận giá trị của một hàm nào đó đã biết trước Các hàm như vậy thường được gọi là

Ta có thể chỉ dùng một lệnh solve (giải) và có ngay đáp số

Thí dụ Giải phương trình chứa dấu giá trị tuyệt đối (abs):

((z+ +z 2 ) ư1) = 9

[>solve(abs((z+abs(z+2))^2-1)^2=9,{z});

,{z 0 { = } z -2 ≤ }

Trang 23

Thí dụ Giải phương trình lượng giác

1

4I 2 5 + 5{x = 14 + 14 5 ư 14I 2 5 ư 5}{x = 14 + 14 5 + 14I 2 5 ư 5}{x = ư14 5 + + 14 14I 2 5 + 5}Mặc dù là phức tạp, nhưng nghiệm của nó vẫn là những số vô tỷ "nhận ra

được", tức là có thể biểu diễn được qua các số vô tỷ đã biết (ở đây I là ký hiệu đơn

vị ảo) Tuy nhiên điều này không phải lúc nào cũng xảy ra Nói chung, với một phương trình bất kỳ, nghiệm của nó thường là những số vô tỷ "lạ hoắc", và có thể không biểu diễn được qua các ký hiệu sẵn có Khi ấy thì chỉ còn cách là cho nó một cái tên nào đó (như ta đã từng làm với số e, số π, ) và ta có thể nhận biết các số vô

tỷ mới này thông qua các đánh giá xấp xỉ thập phân của chúng (với mức độ chính xác tuỳ ý)

Tuy nhiên, khi gặp phải một phương trình siêu việt, việc tính toán nghiệm thường rất khó khăn, nên Maple thường chỉ cho ta 1 nghiệm nào đó Muốn có đầy

đủ các nghiệm, ta phải biết cách "chỉ dẫn" cho máy Xin xem chi tiết trong mục: Giải phương trình và phương pháp đồ thị (Chương 5)

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

Thí dụ Giải hệ 5 phương trình bậc nhất 5 ẩn:

= + + + +

a 2 b 3 c 4 d 5 e 41

= + + + +

5 a 5 b 4 c 3 d 2 e 20

= + ư +

3 b 4 c 8 d 2 e 125

= + + + +

a b c d e 9

= + + +

8 a 4 c 3 d 2 e 11

Bước 1: Vào các lệnh xác định các phương trình của hệ:

Trang 24

[>solve({x^2<1,y^2<=1,x+y<1/2},{x,y});

{x y + ư 1 < , , , , }

2 0 -1 yy 1-1 x < x 1 <

Cũng có thể giải bất phương trình qua 2 bước (với một bước xác định phương trình)

Thí dụ Giải bất phương trình theo ẩn x (với tham số m ): 4

Trang 25

[>solve(ineq,{x});

,{x < ưm {} 5 ư 21 m x ư < ,x < 5 + 21 m ư }

MAPLE có thể xét các bất phương trình phức và tính giá trị Bool của biểu thức nhờ

Công cụ vẽ đồ thị hai chiều của MAPLE cho phép bạn vẽ đồ thị của các hàm phức tạp, tạo ra các đồ thị theo tham số, theo toạ độ pha, toạ độ cực, Bạn có thể vẽ

đồ thị các hàm cho dưới dạng ẩn, nghiệm của phương trình vi phân và quỹ tích Bạn cũng hoàn toàn kiểm soát được các phông sử dụng cho tiêu đề, nhãn hiệu hoặc các văn bản khác trong các đồ thị của bạn

Vẽ đồ thị hàm thông thường

Ta vẽ đồ thị của hàm y= f x( ) bằng dòng lệnh có cú pháp như sau:

[>plot(f(x),x=a b,y=c d,title=`abcd`);

Trang 26

Trong đó các tham biến biểu thị rằng ta vẽ phần đồ thị của hàm ( )f x nằm trong

hình chữ nhật là tích Đề-các của miền xác định [a,b] và miền giá trị [c,d] , và ngoài ra còn chua thêm trong bản vẽ mẩu tiêu đề "abcd" (Nếu không cho giá trị của tham số ,c d thì chương trình sẽ tự động xác định miền giá trị của hàm (ảnh

của miền xác định đã cho) và gán giá trị biên của miền này vào cho các tham số ,

c d )

Thí dụ Vẽ đồ thị hàm số y = x2

sin(x)+x trên đoạn [-4,4] bằng lệnh

[>plot(x^2*sin(x)+x,x=-4 4);

Có thể vẽ đồ thị của nhiều hàm (trên cùng một miền xác định và miền giá trị),

và cho mỗi đồ thị một mầu khác nhau

Thí dụ Vẽ đồ thị của 2 hàm y x= (màu đỏ) và 2 y=sin( )x (màu xanh) trong miền xác định là đoạn [-2, 2] :

[>plot([x^2,sin(x)],x=-2 2,color=[red,blue]);

Có thể khẳng định rằng Maple vẽ được mọi đồ thị của hàm số cho bởi biểu thức

giải tích, kể cả hàm từng khúc lẫn hàm chứa giá trị tuyệt đối Tuy nhiên, cần phải

lưu ý rằng nó thường tự động nối tất cả các điểm với nhau thành đường liền, kể cả tại những điểm mà hàm gián đoạn Thí dụ, hàm số

trị tuyệt đối ở mẫu số và gián đoạn tại điểm x = 0

Trang 27

f x y = Dưới một số điều kiện nhất định, phương trình này xác định một hàm

số y h x= ( ) Tuy nhiên ta có thể vẽ đồ thị của hàm này (mà không cần giải phương trình) bằng lệnh implicitplot (lưu ý là lệnh chỉ làm việc sau khi nạp gói chương trình vẽ with(plots), xin đừng quên) Cú pháp tổng quát là:

[>implicitplot(f(x,y)=0, x=a b,y=c d);

Thí dụ Vẽ đường cong xyx4+y3= bằng lệnh 0

[>implicitplot(x^2-y^2-x^4+y^3=0, x=-1 1,

y=-0.5 1.5);

Trang 28

Cần lưu ý rằng các tính toán xấp xỉ thường chỉ cho ta một hình ảnh gần đúng với

thực tế Khi cho độ chính xác càng cao thì hình ảnh càng trung thực, nhưng thời gian tính toán sẽ càng lâu, cho nên người ta thường chọn chế độ mặc định là độ chính xác "vừa phải" Trong thí dụ trên, với chế độ chính xác mặc định ta thấy đồ thị gồm 2 phần rời nhau, không dính nhau tại điểm (0,0), mặc dù rõ ràng về mặt lý thuyết nó phải đi qua điểm này Muốn có hình vẽ trung thực hơn, ta cần tăng độ

chính xác lên cao hơn (bằng tuỳ chọn đặt số điểm vẽ nhiều hơn, xem thêm phần giới thiệu về các tuỳ chọn trong lệnh vẽ đồ thị) Trong thí dụ này, nếu ta sử dụng tuỳ chọn numpoints=1000 thì sẽ thu được kết quả như ý Người đọc hãy tự mình

thực hiện lện sau để xem kết quả

[>implicitplot(x^2-y^2-x^4+y^3=0, x=-1 1, y=-0.5 1.5, numpoints=1000);

Hàm hiển = y f x cũng có thể được xem là một trường hợp riêng của hàm ẩn (vì ( )

có thể viết thành y ư f x( ) = 0 ), cho nên lệnh vẽ đồ thị hàm ẩn cũng có thể được dùng để vẽ đồ thị hàm hiển

Rõ ràng, tất cả các đường cong quen biết trong bộ môn Hình giải tích (phẳng)

đều được cho bởi các phương trình 2 ẩn bậc 2, cho nên lệnh vẽ đồ thị hàm ẩn cho phép vẽ một cách dễ dàng tất cả các đường cong loại này

x x t y= =y t đóng vai trò biểu diễn cho 1 hàm thông qua tham số Cần hết sức cẩn thận để tránh nhầm lẫn khi vẽ đồ thị của 2 hàm riêng biệt với việc vẽ đồ thị của

1 hàm biểu diễn dưới dạng tham số bởi một cặp hàm Để phân biệt chúng, ta hãy để

ý những khác biệt "tế nhị" trong 2 lệnh vẽ đồ thị dưới đây:

[>plot([sin(t),cos(t)], t=-Pi Pi);

Trang 29

range là tham biến xác định vùng vẽ đồ thị Thông thường nó được cho bởi các

đoạn số thực hữu hạn (như ta đã thấy trong các thí dụ trên) Cũng đôi khi nó chấp nhận cả các khoảng vô cùng, và khi ấy tỷ lệ kích thước ở một số vùng của bản vẽ sẽ buộc phải (tự động) thay đổi sao cho phù hợp với cách biểu diễn trong bản vẽ

Thí dụ Lệnh

[>plot(sin(x), x=0 infinity);

cho ta bản vẽ với tỷ lệ kích thước (dọc theo trục x) co rất mạnh khi tiến ra vô vùng

Trang 30

Trong trường hợp ta bỏ qua tham biến range thì chương trình tự động lấy giá trị

mặc định là x=-10 10

options là tổ hợp của những tuỳ chọn hết sức phong phú Mỗi khả năng tuỳ chọn

được cho dưới dạng một đẳng thức với vế trái là một cái tên và vế phải là một giá trị Cụ thể là:

1) Việc cho ẩn hoặc hiển thị các trục của hệ toạ độ (dưới các dạng khác nhau)

được thực hiện bằng tuỳ chọn axes với 1 trong 4 giá trị có thể chấp nhận được là

none, normal, boxed, frame

2) Việc tô màu cho đồ thị được thực hiện bởi tuỳ chọn color với các giá trị là

tên các màu thông dụng như: red, blue, green,

3) Chọn loại đường (liền, hay đứt đoạn) để biểu diễn đồ thị bằng tuỳ chọn linestyle với các giá trị là các số tự nhiên (0 và 1 cho biểu diễn đường liền, 2 cho

đường đứt đoạn, )

4) Chọn số lượng điểm để sinh đồ thị bằng tuỳ chọn numpoints với giá trị là

số tự nhiên Theo mặc định, numpoints = 50 Điều này có nghĩa là số lượng điểm

để sinh đồ thị không thể ít hơn là 50 (Số lượng điểm sinh thực tế thường lớn hơn hẳn số điểm tối thiểu mà ta qui định trong tuỳ chọn này, nhất là khi đồ thị có độ cong lớn) Khi số điểm qui định càng lớn thì đồ thị càng chính xác, nhưng cũng đòi hỏi thời gian tính toán càng nhiều

5) Tuỳ chọn style cho phép ta biểu diễn đồ thị bằng line (đường) hay point

(điểm) Trong trường hợp sau ta tiếp tục dùng tuỳ chọn symbol để chọn cách biểu diễn các điểm dưới dạng: circle (vòng tròn), cross (gạch chéo), box (hộp vuông), hay diamond (hạt kim cương)

6) Tỷ lệ co giãn trên các trục toạ độ được xác định bởi tuỳ chọn scaling với các giá trị là unconstrained (không bị ràng buộc) hoặc constrained (bị ràng buộc,

tức là các trục phải có cùng độ dài đơn vị)

7) Chọn hệ toạ độ để vẽ đồ thị bằng tuỳ chọn coords, mặc định là hệ toạ độ Đề

-cac, nhưng ta cũng có thể chọn hệ toạ độ khác theo ý muốn

Để minh hoạ khả năng biểu diễn đồ thị của Maple qua những chức năng tuỳ chọn nêu trên, ta cho máy vẽ đồ thị hàm số sau đây trong hệ toạ độ cực:

[>s := t->100/(100+(t-Pi/2)^8):

r := t -> s(t)*(2-sin(7*t)-cos(30*t)/2):

plot([r(t),t,t=-Pi/2 3/2*Pi],numpoints=2000,

coords=polar,axes=none);

Trang 31

Một số thí dụ minh họa

Bạn đọc hãy tự mình thực hiện các lệnh dưới đây để thấy rõ thêm khả năng đồ hoạ của Maple

[>plot(sin(1/x)*exp(-x),x=.15 1.15);

[>plot(sin(x)+sin(5*x),x=-1 4);

[>plot({sin(x),x-x^3/6+x^5/120},x=-4 4);

[>plot({sin(x),x-x^3/6+x^5/120},x=-4 4, style=POINT); [>plot(sum((-1)^i*abs(x-i/10),i=0 30),x=-1 4);

Trang 32

[>p2:=plot(cos(x),x=-Pi Pi,style=LINE,color=BlUE): [>p3:=plot(sin(x)+cos(x),x=-Pi Pi, style=POINT,

2.2.2 Vẽ đồ thị trong không gian 3 chiều

Vẽ trong không gian 3 chiều mới thực sự là một thế mạnh của Maple, mà chúng ta không thể nào sánh được Cú pháp vẽ đồ thị trong không gian 3 chiều hoàn toàn tương tự như vẽ trong mặt phẳng, chỉ thay lệnh plot bằng lệnh plot3d Cũng như vẽ đồ thị trong mặt phẳng, trước hết ta cần nạp các gói chức

năng mở rộng, chuyên dụng cho vẽ đồ thị, bằng các lệnh

ánh sáng và màu sắc, lưới điểm vẽ,

Thí dụ Ta hãy cho máy vẽ một vài mặt cong mà ta không thể nào vẽ được bằng thủ công Thí dụ, ta vẽ mặt cong

=

z x2cos y( ) + y2cos x( ) ư x y sin y( )sin x ( )bằng lệnh

Trang 33

[>plot3d(x^2*cos(y)+y^2*cos(x)-x*y*sin(y)*sin(x),

x=-10 10,y=-10 10,grid=[50,50]);

Trong đó tuỳ chọn grid cho phép đặt lưới điểm thích hợp với độ chính xác mà ta

chọn Tuỳ chọn này tương tự như việc chọn số điểm vẽ (numpoints) trong khi vẽ

đường cong (mà ta đã giới thiệu ở phần trên) Và trong thực tế, nếu trong lệnh vẽ mặt ta đưa vào tuỳ chọn numpoints thì máy vẫn hiểu và tự động sinh ra lưới điểm (grid) vuông, với số điểm trên mỗi cạnh bằng phần nguyên của căn bậc 2 của số

đã cho

Muốn chế tác lại đồ thị đã vẽ, ta kích chuột vào vùng đồ thị, sẽ thấy xuất hiện thêm một thanh công cụ (ngay phía dưới các thanh công cụ sẵn có trên giao diện của Maple) Ta có thể dễ dàng thay đổi góc nhìn, màu sắc, ánh sáng và nhiều thuộc tính khác của đồ thị nhờ thanh công cụ mới hiện ra này

Tại những điểm hàm tiến ra vô cực, đồ thị được biểu diễn như những cái gai

Thí dụ Mặt cong = z (x3 ư 3 x y2 + 2 x y () + 3 x2y y ư 3)

+ (x3 ư 3 x y2 + 2)2 (3 x2y y ư 3)2 có một số điểm cực (tại đó hàm tiến ra vô cùng) Dễ thấy rằng mặt cong này liên quan mật thiết tới đường cong

đại số ta đã vẽ trong thí dụ trên (chính xác hơn, đường cong đại số chính là một

đường mức của mặt cong này, tương ứng với giá trị 1

Trang 34

Có thể vẽ nhiều mặt cong trên một bản vẽ Maple có thể tính tất cả các nét khuất do các đồ thị che nhau

Thí dụ Vẽ 2 mặt cong cắt nhau

Vẽ đường mức của các hàm 2 biến

Một phương pháp rất phổ biến để mô tả cấu trúc mặt cong (trong không gian 3 chiều) là dùng tập hợp các đường mức (trong không gian 2 chiều) Nếu biết được bức tranh về các đường mức, ta dễ dàng hình dung ra dáng điệu biến thiên của hàm theo mọi hướng, và cũng dễ dàng tìm ra các điểm cực trị của nó

Việc vẽ từng đường mức của các hàm 2 biến có thể quy về việc vẽ đồ thị hàm

ẩn Nhưng cách này không thuận tiện đối với việc vẽ một tập hợp nhiều đường mức khác nhau Muốn thực hiện điều này một cách dễ dàng, ta dùng lệnh

contourplot Đây cũng là một mặt mạnh của Maple và có thể tìm thấy nhiều khả năng ứng dụng trong kỹ thuật Số lượng đường mức thường được mặc định là 8 Nếu muốn có bức tranh trung thực hơn ta có thể tăng số lượng đường mức bằng tuỳ chọn contours = số lượng, nhưng số đường càng nhiều thì tính toán càng lâu

Thí dụ Ta vẽ bức tranh đường mức của mặt cong

=

z x2cos y( ) + y2cos x( ) ư x y sin y( )sin x , ( )

Trang 35

đã vẽ ở trên, với lượng đường mức là 30

[>contourplot(x^2*cos(y)+y^2*cos(x)-*y*sin(y)*sin(x),

x=-6 6,y=-6 6,grid=[40,40],contours=30);

Với số lượng đường mức cho trước, máy tự động sinh các đường mức bằng cách

phân đều trục z để lấy mức, và vì vậy nó thường sinh quá nhiều đường mức tại nơi

hàm tăng nhanh (như tại lân cận các cực trong mặt cong ở ví dụ sau), đồng thời bỏ

rơi nhiều đường mức tại các vùng hàm biến thiên chậm (mà ta lại có thể cần quan

tâm) Muốn tránh hiện tượng này, ta có thể chỉ định trực tiếp tập các đường mức

cần vẽ, thông qua việc dùng tuỳ chọn contours = danh sách các mức cần vẽ đường

Bằng cách này, ta có được bức tranh đường mức khá rõ ràng cho mặt cong với 3 cực

Nếu để ý, ta thấy trong số các đường mức có một đường giống như đường cong

đại số ta đã vẽ ở trên Đó chính là đường mức ứng với giá trị z=-0.1666 (tức là xấp

Trang 36

xỉ của giá trị 1

6

z= ư ) Như vậy, bức tranh đường mức làm ta có được cái nhìn bao quát về chính đường cong đại số và các đường xung quanh nó

Ngoài ra, chính bức tranh đường mức cũng thể hiện một cách rõ ràng là tại các

điểm cực mặt cong không chỉ có 1 mà là 2 cái gai, tức là hàm tiến ra vô cùng về cả

2 phía (Hình ảnh 3 chiều không thể hiện rõ ngay điều này, nhưng bằng cách đổi sang góc nhìn thích hợp, ta sẽ thấy đúng là như vậy)

Vẽ đường ống trong không gian 3 chiều

Đường ống là một dạng mặt cong khá đặc biệt Nó thường xác định bởi một

đường cong sinh tâm (tức là đường chạy dọc theo trục tâm ống) và bán kính của vòng tròn thiết diện tại mỗi điểm Nếu các bán kính tại mọi điểm đều bằng nhau thì

ta có ống thông thường (như các loại ống cao su dẫn gas, dẫn nước, ) Trong trường hợp tổng quát, thiết diện ống tại các điểm khác nhau có thể khác nhau, và khi ấy bán kính của thiết diện sẽ là một hàm số thay đổi theo điểm tâm của thiết diện Như vậy, để vẽ ống ta cần 2 dữ liệu: phương trình đường dẫn tâm, và hàm bán kính thiết diện Khi có 2 dữ liệu này, ta có thể vẽ ống bằng lệnh tubeplot

Thí dụ Vẽ đường ống với đường dẫn tâm là

[ ( ) , ( ) , ( )x t y t z t ] = [10cos(t),10sin(t),0]

và có bán kính thiết diện (thay đổi) là:

( ) 2 cos(7 )

R t = + t , bằng lệnh tubeplot có cú pháp như sau:

[>with(plots):tubeplot([10*cos(t),10*sin(t),0,t=0 2*Pi , radius=2+cos(7*t),numpoints=120,tubepoints=24]);

2.2.3 Vận động của đồ thị

Vận động của đồ thị thực chất là sự biến thiên của đồ thị theo tham số Như vậy, ta cần vẽ hàng loạt đồ thị (ứng với các giá trị tương ứng của tham số) và cho hiển thị liên tiếp nhau Bạn có thể sử dụng tính năng này để mô tả quá trình diễn ra trong thế giới thực, trong đó thông tin thay đổi theo thời gian Việc này đòi hỏi bộ

Trang 37

nhớ càng lớn càng tốt, cho nên ta cần "làm sạch bộ nhớ" trước khi bắt đầu công việc, bằng lệnh :

Khi cho thực hiện lệnh thì trên màn hình sẽ hiện đồ thị ứng với một giá trị t nào

đó (Lưu ý rằng lúc này máy phải làm việc với một họ rất nhiều đồ thị cho nên khối lượng tính toán là rất lớn, xin hãy kiên nhẫn nếu tốc độ của máy tính của bạn chưa phải là cao)

Nếu bạn sử dụng các phiên bản Maple mới lên thì khi di chuột vào khu vực đồ thị và nhấn nút bên trái, bạn sẽ thấy xuất hiện cụm chức năng "multimedia" (ở ngay phía dưới các thanh công cụ của Maple), và bạn có thể sử dụng các nút quen thuộc

ở đây để điều khiển sự vận động của đồ thị

Nếu bạn sử dụng các phiên bản Maple cũ hơn thì hãy di con trỏ chuột lên vùng

đồ thị và bấm nút trái cho hiện ra khung bao đồ thị Bấm nút phải của chuột cho hiện ra bảng lệnh điều hành Muốn xem xét sự vận động của đồ thị (theo thời gian

t ) thì vào chức năng Animation/ Play Theo mặc định, đồ thị vận động 1 chu

kỳ (1 vòng) rồi dừng lại Ta có thể cho nó chuyển động liên tục bằng cách chọn chức năng Animation/ Continuous Khi đồ thị đang chuyển động mà muốn

dừng thì cũng làm tương tự, nhưng sử dụng chức năng Animation/Stop

Trong không gian 3 chiều ta cũng thể quan sát sự vận động của đồ thị phụ thuộc tham số với các thủ tục tương tự như trên, chỉ có một thay đổi nhỏ là thay lệnh animate bằng lệnh animate3d

Trang 38

Thí dụ Ta vẽ đồ thị hàm số z=cos( )sin( )tx ty khi ,x y nhận giá trị trong khoảng

[ −π π ], và quan sát sự thay đổi của đồ thị khi t thay đổi trong khoảng [1 2]

bằng dòng lệnh sau đây

[>animate3d(cos(t*x)*sin(t*y),x=-Pi Pi,y=-Pi Pi,t=1 2);

2.3 Tính toán trong đại số tuyến tính

Đây là chủ đề tính toán hay gặp nhất trong kỹ thuật, và vì thế nó rất rộng lớn Trong tài liệu này, ta không có điều kiện đi hết các vấn đề cần thiết, mà chỉ điểm qua một số chủ đề có tính chất minh hoạ Bạn đọc quan tâm chủ đề tính toán này,

có thể xem kỹ hơn trong các chuyên mục tính toán thực hành của giáo trình Đại số tuyến tính

Ngày đăng: 25/07/2014, 08:26

HÌNH ẢNH LIÊN QUAN

Đồ thị và bấm nút trái cho hiện ra khung bao đồ thị. Bấm nút phải của chuột cho  hiện ra bảng lệnh điều hành - thực hành tính toán trên maple
th ị và bấm nút trái cho hiện ra khung bao đồ thị. Bấm nút phải của chuột cho hiện ra bảng lệnh điều hành (Trang 37)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w