các khái niệm và các hàm cơ bản trong lập trình trên maple

43 1.3K 1
các khái niệm và các hàm cơ bản trong lập trình trên maple

Đ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

85 Chơng 3 Các khái niệm và các hàm cơ bản trong lập trình trên Maple 3.1. Các khái niệm cơ bản 85 3.1.1. Tên (name) và xâu kí tự 86 3.1.2. Biến trong Maple 87 3.1.3. Sự định giá 87 3.1.4. Ngăn cản định giá 90 3.1.5. Sự tự động đơn giản biểu thức 91 3.1.6. Các tính toán số trong Maple 92 3.2. Các hàm thờng dùng trong Maple 92 3.2.1. Ước lợng giá trị 92 3.2.2. Đơn giản biểu thức: lệnh simplify 94 3.2.3. Tìm giá trị lớn nhất và bé nhất 96 3.2.4. Thay thế trong biểu thức: lệnh subs 97 3.2.5. Tổ chức biểu thức theo một số biến chính 99 3.2.6. Sắp xếp các số hạng 100 3.2.7. Chuyển đổi dạng cấu trúc dữ liệu (lệnh convert) 102 3.2.8. Thực hiện một phép toán trên nhiều thành phần 104 3.2.9. Xem cấu trúc và thành phần của một biểu thức 105 3.2.10. Kiểm tra một phần tử có thuộc một dữ liệu có cấu trúc nào đó 108 86 3.2.11. Kiểm tra một tên đã đợc gán hay cha 109 3.3. Cách tạo lập hàm trong Maple 111 3.3.1.Thiết lập các hàm kép (hàm hợp, hàm lồng nhau) 111 3.3.2. Định nghĩa hàm bằng toán tử mũi tên (->) 112 3.3.3. Định nghĩa hàm bằng toán tử hợp thành @ 113 3.3.4. Dùng chu trình proc() end để tạo hàm 114 3.4. Các cấu trúc dữ liệu cơ bản 117 3.4.1. Cấu trúc dữ liệu dãy 117 3.4.2. Cấu trúc tập hợp và danh sách 119 Tập hợp 119 Danh sách 119 Lệnh tạo danh sách và tập hợp 120 3.4.3. Cấu trúc dữ liệu bảng 122 Lệnh tạo bảng 122 3.4.4. Cấu trúc dữ liệu mảng 124 3.4.5. Sparse, symmetric, những giản đồ chỉ định đặc biệt cho mảng và bảng 126 3.1. Các khái niệm cơ bản 3.1.1. Tên (name) và xâu kí tự Tên là một xâu hình tự (string of letters) đợc dùng nh một chỉ mục hay một nhãn để đại diện cho các đối tợng trong Maple có thể thay đổi đợc (nh biến, kí hiệu toán học, các biểu thức nói chung, ) mà ta có thể gán cho nó. Tên là một trong các thành phần không thể thiếu đợc của Maple trong việc tạo ra các biểu thức. Chiều dài tối đa của tên phụ thuộc vào hệ máy tính mà Maple chạy trên đó (với máy 32-bit thì chiều dài tối đa của tên là 524275). Bất cứ biểu thức nào đều có thể đợc gán cho một cái tên. Nếu không có giá trị nào đợc gán cho một tên thì nó sẽ nhận chính tên nó làm giá trị mặc định. Chơng trình Maple sử dụng tên bắt đầu với một dấu gạch dới ( _ ) làm các biến toàn cục, và vì thế chúng ta nên tránh sử dụng chúng. Một xâu ký tự bất kỳ (string of characters) có thể không phải là xâu hình tự (vì có thể chứa các ký tự đặc biệt nh: khoảng trống, dấu chấm than, ) và do đó không 87 thể là một tên hợp lệ. Tuy nhiên, Maple cho phép tạo một tên từ một xâu ký tự bất kỳ bằng cách cho nó vào trong cặp dấu nháy đơn ( ` ) (backquote), thí dụ nh xâu kí tự `a variable!` là một tên biến hợp lệ, và ngời ta có thể gán cho nó giá trị 10 bằng lệnh `a variable!`:=10. Một xâu hình tự thờng là một tên hợp lệ và đợc xem là trùng với tên đợc tạo bằng cách bao chung quanh xâu này bằng cặp dấu nháy (vì thế mà x và `x` đều chỉ đến một tên). Tuy nhiên, nếu xâu hình tự mà trùng với từ khóa của Maple thì không phải là một tên hợp lệ, và muốn cho nó trở thành một tên ta lại phải cho nó vào trong cặp dấu nháy. Hai dấu nháy liên tiếp trong một xâu kí tự sẽ đợc hiểu nh là một dấu. Ví dụ nh khi ta viết: print(` I``m a student`); thì kết quả sẽ cho ta xâu: I`m a student. 3.1.2. Biến trong Maple Biến trong Maple là những tên đợc dùng để thay thế cho một đối tợng nào đó, thông thờng là các giá trị cần thay đổi, hoặc các biểu thức tính toán cần cho giá trị, Có hai loại biến trong Maple: Biến lập trình và biến toán học. Biến lập trình là những biến có thể gán bởi một giá trị nào đó và giá trị đó đợc lu trữ cho đến tận lúc nó thực sự bị thay đổi. Một biến toán học thể hiện cho ẩn số trong toán học, không thể đợc gán giá trị và tất nhiên ta không thể dùng nó nh là một biến lập trình. Nếu bạn không muốn phân biệt biến đợc gán (biến lập trình ) và biến không đợc gán (biến toán học ) trong Maple thì bạn có thể nghĩ rằng biến toán học trong Maple là biến đợc gán mà giá trị luôn bằng chính tên biến. Biến cũng giống nh một tê n, bắt đầu bởi một hình tự, theo sau là các chữ cái khác, các chữ số, và dấu gạch dới. 3.1.3. Sự định giá Một tên mà đợc gán một giá trị (khác tên nó) thì sẽ trở thành biến chơng trình, còn nếu cha từng đợc gán một giá trị nào thì nó nhận chính tên nó làm giá trị và đợc xem nh là một kí hiệu biểu thị cho ẩn số trong toán học (chẳng hạn trong phơng trình, biến trong đa thức, ). Nh vậy, việc phân biệt một tên là một biến chơng trình hay là một biến toán học (mang ý nghĩa là ẩn số) là rất quan trọng đối với Maple trong lúc thực hiện các lệnh có chứa tham số. Ta xem xét chi tiết bằng cách phân tích một ví dụ cụ thể. Xét dãy các phép gán: [> restart; [> z:=y; y:=t; t:=x^2+5*x-12; 88 x; := z y := yt := t + x 2 5 x 12 Trên đây các tên ,, x yzđều đợc gán giá trị (hoặc là tên biến, hoặc là một biểu thức, ) còn x thì không đợc gán giá trị, do đó x là một biến toán học và tất nhiên x không chứa giá trị nào (hay nói đúng hơn là giá trị của x chính là kí hiệu x). Sau các phép gán, giá trị của ,, z yt đều tham chiếu đến biểu thức 2 512xx+, chúng đợc xem nh là biến có thể lập trình đợc, giống nh khái niệm biến trong các ngôn ngữ lập trình truyền thống nh C, Pascal, Còn x thì chỉ đợc xem là biến theo ý nghĩa toán học, tức là một kí hiệu thể hiện cho một ẩn số : [> z; + x 2 5 x 12 [> y; + x 2 5 x 12 [> t; + x 2 5 x 12 Biến y có thể đợc gán bởi các giá trị khác, do đó nội dung của nó hoàn toàn thay đổi, và tất nhiên giá trị của z cũng bằng giá trị của y: [> y:=10; := y 10 [> z; 10 Ta có thể hiểu điều này nh sau: Bất cứ khi nào Maple thực hiện việc tính toán, các tên trong biểu thức đều đợc kiểm tra xem có phải chúng đợc dùng nh là biến chơng trình (tức là có phải chúng đã đợc gán giá trị) hay không. Nếu đúng nh vậy, Maple thay thế tên bằng nội dung của nó (có thể là một tên khác, biến, hằng, hay biểu thức, ) vào trong biểu thức đang tính, rồi sau đó nó tiếp tục kiểm tra xem liệu có còn giá trị hay biến chơng trình nào có thể đợc thay thế nữa không, còn nếu nội dung của tên đấy chính là tên của nó thì Maple xem tên này là một biến toán học và đợc giữ nguyên. Quá trình cứ tiếp tục nh vậy cho đến khi không còn tên nào đợc gán nữa. Kết quả thu đợc, sau khi không còn có thể gán thêm đợc nữa, thì đợc gọi là biểu thức đợc định giá hoàn toàn và Maple thực hiện các phép toán trên đấy. Nh vậy, trong ví dụ trên, khi đọc đến z để in giá trị của nó, Maple thay thế nó bởi y, sau đó thay thế y bởi 10 rồi mới in giá trị 10 ra nh là giá trị của z. Còn biến t vẫn không thay đổi nội dung của nó: 89 [> t; + x 2 5 x 12 Biến toán học chẳng qua là biến chơng trình đợc gán giá trị chính là tên của nó. Khi ta gán cho nó một giá trị khác (so với tên của nó) thì nó trở lại thành biến chơng trình, thí dụ: [> x:=10; := x 10 Khi x đợc gán một giá trị số (nh trên), thì nội dung của t đợc tính toán nh thế nào: [> t; 138 Nh vậy, t đợc ớc lợng theo giá trị x=10 và do đó t đợc tính toán thành t:=10^2+5*10-12=138. Dĩ nhiên, ta có thể gán cho x giá trị là tên của nó (là 'x') để x lại trở thành biến toán học nh cũ: [> x:='x'; [>t; := x x + x 2 5 x 12 Chú ý Một lỗi mà nhiều ngời sử dụng Maple thờng mắc phải là: dùng biến i làm biến chơng trình, rồi sau đó thì lại dùng i nh chỉ số của tổng trong lệnh tính toán tổng sum . Ví dụ dới đây minh hoạ cho vấn đề này. [> x:=3; := x 3 [> i:=4; := i 4 [> x^i!; 282429536481 Bây giờ xem i nh là kí hiệu toán học và thực hiện lệnh sum() trong đó i là chỉ số tính tổng: 90 [> sum(i^2,i=1 n); Error, (in sum) summation variable previously assigned, second argument evaluates to, 4 = 1 n Trong thông báo lỗi này chỉ rõ i trớc đó đã đợc dùng nh là một biến chơng trình (vì đã đợc gán giá trị là 4). Khi lệnh sum đợc thực hiện, Maple trớc tiên thực hiện việc định giá hoàn toàn cho các đối số của lệnh sum. Vì thế, (i^2,i=1 n) đợc biến đổi trở thành (16,4=1 n) trớc khi lệnh sum đợc gọi đến. Thông điệp lỗi đợc phát sinh bởi vì "4" không là tên chỉ số tính tổng hợp lệ. 3.1.4. Ngăn cản định giá Sự định giá biểu thức đợc Maple dùng để tính toán các công thức cũng nh biểu diễn các công thức toán học hình thức (nh các phơng trình, ẩn số, ). Tuy nhiên việc định giá các tên trong biểu thức trớc khi đợc tính toán đôi khi làm cho biểu thức bị thay đổi ngoài mong muốn làm cho phép tính sai hay lệnh sinh ra lỗi (chẳng hạn trong ví dụ ở phần trớc). Do đó Maple cung cấp cho ngời dùng khả năng ngăn cản việc định giá với mức độ nào đó phù hợp với điều kiện của phép tính mà ngời đó cần thực hiện. Việc đặt các biến trong cặp dấu nháy đứng ( ' ) là một cách để chỉ rõ cho Maple biết đó là tên của biến chơng trình, mà không phải là giá trị của chúng, và do đó ngăn cản việc định giá các biến đợc đóng trong cặp dấu này. Tuy nhiên, việc này không ngăn cản các phép toán số học đơn giản (nh cộng, trừ, nhân, chia, lấy tổng sum(), lấy tích product(), ) hay hầu hết các thao tác tự động đơn giản biểu thức khác (nh các hàm subs, simplify, ). Kết quả của việc định giá hoàn toàn một biểu thức đã đợc đặt trong cặp dấu nháy đứng phải là biểu thức đã đợc lột bỏ lớp dấu nháy này. Ta sử dụng x nh là một biến chơng trình: [> x:=100; := x 100 [> 'x'+1; + x 1 Mỗi lần định giá một biểu thức trong các cặp dấu nháy là lột bỏ một lớp dấu: [> ''x'+1'; + '' x 1 [> %; + x 1 [> %; 101 91 [> '(x+15)mod 20'; mo d () + x 15 20 [> %; 15 Trong trờng hợp bạn muốn loại bỏ giá trị đã gán cho biến chơng trình, khôi phục lại nó nh là một kí hiệu toán học, thì bạn hãy gán tên của biến cho chính nó: Biến x đợc gán là biến chơng trình: [> x:=3; := x 3 Khôi phục biến x trở thành kí hiệu toán học: [> x:='x'; := x x [> x+1; + x 1 3.1.5. Sự tự động đơn giản biểu thức Hầu hết các biểu thức đợc Maple lu trữ dới dạng mà bạn đã gõ vào, hoặc theo cách mà chúng tạo ra trong quá trình tính toán. Tuy nhiên vẫn có những ngoại lệ đối với cách làm này ở chỗ: những ngời thiết kế Maple tin rằng hầu hết những ngời sử dụng đều muốn một vài phép biến đổi đợc tự động thực hiện (ví dụ nh: việc chuyển đổi 0*x thành 0, x*2 thành 2*x, x+x thành 2*x, ). Sự biến đổi các biểu thức này đợc gọi là sự đơn giản hóa. Sau đây là những nét đặc trng đáng chú ý của sự tự động đơn giản trong Maple: Phép tính số học trên tổng, tích, và luỹ thừa của các số tự nhiên và các số hữu tỷ đợc Maple tự động thực hiện. Ước số chung lớn nhất của tử số và mẫu số trong số hữu tỉ đợc rút gọn. Các thừa số chung trong tử số và mẫu số của một phân thức cũng đợc rút gọn. Tích của các số hạng thì đợc sắp lại sao cho số hạng là hằng số là phần tử đứng trớc trong biểu thức tính tích đó. Các phần tử giống nhau trong tổng hoặc tích thì đợc gộp lại, chẳng hạn x+x đợc gộp lại thành 2*x, x*y+x*z đợc gộp lại thành x*(y+z). 92 Nếu biểu thức là tích của một số với một tổng các đơn thức thì Maple thực hiện phân phối phép nhân với phép cộng. Ví dụ nh 1/2*(x+y) sẽ cho x/2+y/y trong biểu thức kết quả. 3.1.6. Các tính toán số trong Maple Maple tính toán số một cách chính xác. Các số vô tỷ cha có ký hiệu biểu diễn đợc Maple gán tên một cách thích hợp, và Maple có thể cho giá trị xấp xỉ của các số này (cũng nh bất kỳ số vô tỷ nào nh: ,e , ) với độ chính xác "tuỳ thích" (nghĩa là đủ lớn!). Trong tính toán, chúng ta thờng làm việc với các số thập phân với dấu chấm động (là những số có chứa dấu chấm ngăn cách phần nguyên với phần thập phân). Số lợng các chữ số trong phần thập phân càng nhiều thì độ chính xác của số đó càng cao. Các ngôn ngữ truyền thống nh C,Pascal, cũng sử dụng các số có dấu chấm động trong việc biểu diễn và tính toán các số thực. Số lợng các chữ số trong phần thập phân của các số đợc biểu diễn trong các ngôn ngữ quy ớc trên là cố định, do đó độ chính xác của các số này bị giới hạn trong một khoảng nhất định. Dĩ nhiên, chúng chiếm ít bộ nhớ hơn các số chính xá c đợc biểu diễn bằng Maple và đồng thời các phép toán thực hiện trên các số này cũng nhanh hơn. Kết quả tính toán của Maple với các số chính xác thì độc lập với sai số làm tròn, điều mà ta không thể có đợc nếu sử dụng các số thập phân có dấu chấm động cố định. Đôi khi ta nhận thấy việc sử dụng các phép toán cho kết quả gần đúng là cần thiết, chẳng hạn nh khi bạn chỉ muốn ớc lợng nhanh giá trị của một số và biết chắc rằng sai số do việc làm tròn số không làm ảnh hởng xấu đến chất lợng tính toán. Maple cung cấp các hàm dùng để ớc lợng các số theo dấu chấm động. Chúng ta có thể yêu cầu Maple ớc lợng các số với độ chính xác cần thiết, chẳng hạn bạn có thể yêu cầu Maple ớc lợng các số với 10, 20, hay hàng trăm chữ số thập phân sau dấu chấm. Mặc định, Maple thờng thực hiện phép tính các số có dấu chấm động chính xác đến 10 chữ số. Xem thêm về hàm evalf để biết thêm chi tiết. 3.2. Các hàm thờng dùng trong Maple 3.2.1. Ước lợng giá trị Mô tả Hàm evalf(expression,n) cho xấp xỉ của số có trong biểu thức expression dới dạng số thập phân có dấu chấm động với độ chính xác tới n chữ số thập phân ( n là số tự nhiên). Tham số expression có thể nhận bất cứ toán tử, biểu thức hay là các hàm tính toán khác mà những hàm này phải cho giá trị là các số cũng nh các hằng số. Hàm evalf(expression) mặc định sẽ cho kết quả là các số có 10 chữ số thập phân sau dấu chấm động. Nếu muốn thay đổi độ chính xác tính 93 toán, ta có thể dùng lệnh trên, hoặc thay đổi giá trị mặc định này bằng lệnh thay đổi biến Digits . Lệnh Cú pháp: evalf(expression); evalf(expression,[Digits]); Các tham số: expression : Biểu thức cần ớc lợng. [Digits]: Là tham số tuỳ chọn, nhận giá trị là số tự nhiên (số lợng các số sau dấu chấm thập phân). Ví dụ minh hoạ Nhiều biểu thức cho kết quả cha đợc định giá trị số mà để dới dạng là các số chính xá c: [> bt1:=ln(2)+sqrt(3); := bt1 + ()ln 2 3 [> bt2:=1423/23546; := bt2 1423 23546 Hàm evalf(expression) ớc lợng các số với số các chữ số thập phân mặc định trong biến Digits: [> evalf(bt1); 2.425197989 Để biết số chữ số thập phân mặc định là bao nhiêu ta dùng lệnh [> Digits; 10 và để đặt lại chế độ mặc định (với số lợng các chữ số thập phân là 40 chẳng hạn) ta dùng lệnh [> Digits:=40; := D igits 40 . Khi ấy [> evalf(bt1); 94 2.425197988128822602944678462964048935019 Hàm evalf(expression,digits) ớc lợng các số với số các chữ số thập phân xác định bằng tham số digits : [> evalf(bt2,5); .060435 [> evalf(bt2,70); .06043489340015289221099125116792661173872419943939522636541238426909029 3.2.2. Đơn giản biểu thức: lệnh simplify Mô tả Mặc dù Maple tự động thực hiện đơn giản biểu thức nhng không phải lúc nào nó cũng đa một biểu thức về đợc dạng theo ý ta muốn. Chẳng hạn, Maple không tự động phân tích biểu thức thành nhân tử hoặc khai triển một đa thức, cũng nh không rút gọn ớc số chung lớn nhất trong các hàm phân thức (tỉ số giữa hai đa thức). Nhiều phép biến đổi trong Maple chiếm nhiều thời gian cũng nh bộ nhớ cần thiết để lu trữ, và thông thờng thì các tính toán còn phụ thuộc vào mức độ ớc lợng của ngời sử dụng trong những trờng hợp nhất định. Chính vì vậy mà Maple đã để các phép biến đổi này cho ngời dùng tự áp dụng tuỳ theo chọn lựa của riêng mình. Hàm simplify là một hàm đơn giản biểu thức dùng chung cho nhiều dạng ớc lợng khác nhau. Nó thực hiện chính xác trong hầu hết, tuy rằng không phải là tất cả, các trờng hợp. Chẳng hạn nh nó luôn đợc dùng để đơn giản các biểu thức phân thức, cũng nh đợc áp dụng cho tất cả các loại đơn giản biểu thức chuẩn mà ta sẽ liệt kê dới đây. Bằng cách sử dụng simplify, ta có thể biến đổi x^2-y^2-(x-y)*(x+y) thành 0, đơn giản hoá sin(x)^2+cos(x)^2 bằng 1 , hoặc biến đổi log(x^2) thành 2*log(x) . Chúng ta cũng có thể thực hiện việc đơn giản một phần biểu thức bằng cách dùng tham số chọn lựa các phơng thức đơn giản biểu thức dới đây. Các phơng thức đơn giản biểu thức: atsign : toán tử hàm. ví dụ: sin@arcsin cho ta x-> x. GAMMA : theo hàm gamma. ví dụ: GAMMA(n+1)/GAMMA(n) cho ta n. hypergeom : theo các hàm hypergeometric. Ví dụ: hypergeom([1],[1],z) thì cho ta exp(z). power : Đơn giản liên quan đến luỹ thừa, hàm mũ, logarithm. ví dụ: ln(x*y) cho ta ln(x)+ln(y). radical : Biểu thức liên quan đến luỹ thừa hữu tỉ. Ví dụ: (x^2- 4*x+4)^(1/4) cho ta (x-2)^(1/2). [...]... gọi hàm đã đợc xác định giá trị cha: [>assigned(sin(Pi/3)); true [>assigned(sin(x)); 110 false 3.3 Cách tạo lập hàm trong Maple 3.3.1.Thiết lập các hàm kép (hàm hợp, hàm lồng nhau) Mô tả Maple là ngôn ngữ lập trình đồng thời cũng là công cụ dùng cho tính toán, do vậy mà Maple cung cấp rất nhiều hàm (hàm toán học cũng nh hàm đáp ứng cho việc lập trình) để từ đó ngời dùng có thể tự xây dựng các chu trình. .. ứng cho các nhu cầu tính toán của riêng mình Để sử dụng một cách hiệu quả các hàm do Maple cung cấp, ta phải kết hợp chức năng giữa các hàm đó mới có thể phát huy hết sức mạnh của hệ thống các hàm có trong th viện có sẵn của Maple Để làm đợc điều này, ta có nhiều cách thức, trong đó cách đơn giản nhất là lập hàm kép (hàm lồng nhau) Ta có thể gọi các hàm lồng nhau nhờ cơ chế cho giá trị của các hàm, tức... nghĩa hàm đơn giản -> đợc Cấu trúc này là thành phần cơ bản cho lập trình trên Maple Chi tiết về nội dung và cách sử dụng của cấu trúc proc() end sẽ đợc trình bày trong chơng sau Trong phần này, ta chỉ đề cập đến những chu trình đơn giản nhất Ví dụ minh hoạ Để định nghĩa một chu trình bằng cách sử dụng proc() end ta cần gọi dãy các hàm giữa hai từ khoá proc() và end, tham số của chu trình đợc khai trong. .. những tính toán trong đó không thể thực hiện đợc bằng cách gọi các hàm lồng nhau hoặc bằng cách dùng toán tử định nghĩa hàm -> nh ở trên, nhất là khi phép tính cần kết hợp kết quả của nhiều hàm để thực hiện một công việc Khi thực hiện một chu trình của Maple, ta chỉ cần lấy (có thể chỉ là một phần) kết quả của hàm trớc truyền cho hàm tiếp theo, và do đó ta không thể dùng hàm gọi các hàm lồng nhau hay... 5.5, 6.0 ] 115 Các chu trình sẽ mạnh hơn nếu chúng ta kết hợp việc sử dụng các hàm, các toán tử khai báo trong chu trình với lệnh điều kiện và các lệnh lặp nh trong các ngôn ngữ lập trình truyền thống Ví dụ sau đây là một chu trình về việc xây dựng một hàm tính giá trị lớn nhất của ba số thông qua việc sử dụng lệnh điều kiện if then else fi: [>max3:=proc(a,b,c) print(`Gia tri lon nhat trong ba so la:`);... proc() và end, tham số của chu trình đợc khai trong dấu ngoặc, tên chu trình đợc gán nh gán tên các hàm thông thờng Ví dụ sau là một số các chu trình định nghĩa số phức, tính tổng và tính tích hai số phức, lấy phần thực và phần ảo của một số phức Trong các chu trình này ta chỉ kết hợp việc sử dụng các kết quả của các hàm trong Maple để tính toán: [>#tao mot so phuc tu phan thuc va ao comp:=proc(r,i)... làm thay đổi chúng Vì vậy, hàm map làm việc không chỉ trên danh sách, tập hợp, mà còn trên tổng, tích, phơng trình, mảng, bảng, Dạng thứ hai của lệnh map trong khai báo trên đợc sử dụng trong trờng hợp chúng ta muốn áp dụng một hàm gồm nhiều đối số trong đó tham số đầu tiên của hàm f lần lợt đợc tính toán bằng các giá trị là các phần tử của cấu trúc dữ liệu trong expression, các tham số thứ hai trở... hạn các véc tơ Vì Maple không cung cấp hàm tìm hạng của một hệ véc tơ, do đó ta tính hạng của hệ véc tơ bằng cách kết hợp hàm tìm cơ sở của hệ véc tơ đó và hàm đếm số phần tử của một danh sách để thu đợc hạng của chúng Hàm basis(v) cho kết quả là danh sách các véc tơ là cơ sở của hệ véc tơ v Hàm nops(ds) cho kết quả là số phần tử của danh sách ds, kết hợp hai hàm này, ta thu đợc hạng của hệ véc tơ Trong. .. hàm unapply nh sau: unapply(expr,x,y,z, ) trong đó expr là biểu thức chứa các biến x,y,z, còn các đối số x,y,z là các tên biến Kết quả của hàm unapply là một toán tử hàm với các ẩn số là x,y,z, Tuy nhiên vẫn có sự khác biệt giữa khai báo hàm bằng unapply và toán tử mũi tên Hàm unapply định giá luôn biểu thức dùng để định nghĩa hàm, trong khi khai báo bằng toán tử mũi tên chỉ tạo ra một toán tử hàm. .. của Maple đợc sắp xếp có thứ tự và ngăn cách nhau bởi dấu phẩy, chẳng hạn nh a,b,c là một biểu thức dãy Dãy có thể đợc gán làm giá trị cho các biến, ví dụ ta có thể gán dãy a,b,c cho biến x bằng lệnh x:=a,b,c Dãy đợc dùng vào nhiều mục đích khác nhau trong trong Maple: dãy đợc dùng để xây dựng tập hợp và danh sách, dãy cũng đợc dùng trong việc truyền đối số cho các hàm có nhiều tham biến Một số hàm trong . 85 Chơng 3 Các khái niệm và các hàm cơ bản trong lập trình trên Maple 3.1. Các khái niệm cơ bản 85 3.1.1. Tên (name) và xâu kí tự 86 3.1.2. Biến trong Maple 87 3.1.3. Sự định. 109 3.3. Cách tạo lập hàm trong Maple 111 3.3.1.Thiết lập các hàm kép (hàm hợp, hàm lồng nhau) 111 3.3.2. Định nghĩa hàm bằng toán tử mũi tên (->) 112 3.3.3. Định nghĩa hàm bằng toán. đơn giản trong Maple: Phép tính số học trên tổng, tích, và luỹ thừa của các số tự nhiên và các số hữu tỷ đợc Maple tự động thực hiện. Ước số chung lớn nhất của tử số và mẫu số trong số

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan