1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG Tìm hiều về phần mềm toán học Maple

25 967 0

Đ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 25
Dung lượng 740,28 KB

Nội dung

Mục tiêu của bài báo cáo này là sử dụng phần mềm Maple để phân tích bài toán khảo sát hàm số.. + Sử dụng các gói chuyên dụng của Maple để giải quyết các bài toán cụ thể như: vẽ đồthị gói

Trang 1

MỤC LỤC

CHƯƠNG I: TỔNG QUAN VỀ MAPLE 4

I.1 GIỚI THIỆU VỀ MAPLE 4

I.2 CÁC LỆNH CƠ BẢN TRONG MAPLE 4

I.2.1 Tính toán số học thông dụng 4

I.2.2 Tính toán với độ chính xác theo yêu cầu 4

I.2.3 Các thao tác với số nguyên 5

I.2.4 Giải phương trình 8

I.2.5 Khái niệm biến số, hằng số 8

I.2.6 Triển khai biểu thức: 9

I.2.7 Phân tích đa thức thành nhân tử 10

I.2.8 Đơn giản biểu thức đại số 11

I.2.9 Tối giản phân thức 11

I.2.10 Thay giá trị cho biến trong biểu thức 12

I.2.11 Chuyển đổi dạng biểu thức 12

I.3 CẤU TRÚC DỮ LIỆU 15

I.3.1 Dãy biểu thức ( Expression Sequence) 15

I.3.2 Danh sách (List) 15

Ví dụ 1 16

I.3.3 Tập hợp (Set) 16

Ví dụ 1 16

I.3.4 Mảng (Array) 16

Ví dụ 17

I.3.5 Bảng (Table) 17

I.3.6 Các hàm thông dụng trong cấu trúc dữ liệu 17

b Hàm tìm max,min một dãy 18

c Hàm map 18

Ví dụ 18

d Hàm add,mul 18

e Hàm subsop 18

I.4 CÁC VÒNG LẶP TRONG MAPLE 18

I.4.1 Vòng lặp While 18

I.4.2 Vòng lặp for 18

I.4.3 Lệnh điều kiện if 19

Trang 2

I.4.4 Lệnh break 19

I.4.5 Lệnh next 19

I.4.6 Sử dụng các hàm RETURN, ERROR 19

I.4.7 Khai báo chu trình 20

I.4.8 Phạm vi các biến (biến toàn cục, biến cục bộ và tham biến) 21

CHƯƠNG II: ỨNG DỤNG MAPLE 22

II.1 Mô tả chương trình 22

II.2 Cơ sở lý thuyết 22

II.2.1 Khảo sát hàm số: 22

II.2.2 Tìm giá trị tham sô m để đồ thị có cực trị (cực đại và cực tiểu) 22

II.3 Procedure để vẽ đồ thị và biện luận m 23

THAM KHẢO 24

[1] PGS.TS Đỗ Văn Nhơn Bài giảng mông lập trình symbolic ĐH CNTT TPHCM 24

[2] Thư viện của phần mềm maple 24

[3] http://toan.hoctainha.vn/Thu-Vien/The/khao-sat-va-ve-do-thi-ham-so 24

Trang 3

Lời nói đầu

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ẽ

Maple cung cấp nhiều công cụ trực quan, các gói lệnh tự học gắn liền với toán họcphổ thông và đại học

Qua quá trình nghiên cứu Maple, tôi nhận thấy rằng ngoài tính năng tính toán mạnh trong toán học, Maple còn là ngôn ngữ lập trình hướng thủ tục Thủ tục là một dãy các lệnh do người dùng định sẵn để xử lý

Mục tiêu của bài báo cáo này là sử dụng phần mềm Maple để phân tích bài toán khảo sát hàm số

Tôi xin chân thành cảm ơn PGS.TS Đỗ Văn Nhơn đã tận tình truyền đạt những kiến thức quý báo

Chân thành cảm ơn!

Vũ Công TâmTP.HCM 31-01-2013

Trang 4

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Trang 5

CHƯƠNG I: TỔNG QUAN VỀ MAPLE

Maple là một phần mềm tính toán do hãng Maple Soft, một bộ phận chủ yếu của liên hợp công ty Waterloo Maple phát triển

Cho đến nay Maple đã được phát triển qua nhiều phiên bản khác nhau và ngày càng hoàn thiện

Với phần mềm Maple, chúng ta có thể:

+ Thực hiện các tính toán với khối lượng lớn, với thời gian nhanh và độ chính xác cao + Sử dụng các gói chuyên dụng của Maple để giải quyết các bài toán cụ thể như: vẽ đồthị (gói plot), hình học giải tích (gói geometry), đại số tuyến tính (gói linalg),

+ Thiết kế các đối tượng 3 chiều

+ v.v

1.2.1 Tính toán số học thông dụng.

￧Các phép toán số học: +, -, *, /

￧Lũy thừa: ^, giai thừa: x!

￧Logarit: ln(x), log[a](b), exp(x)

￧Các hàm lượng giác: sin(x), cos(x), tan(x), cot(x),

￧Một số hàm khác: abs(x) - |x|, sqrt(x) - căn bậc 2 của x

1.2.2 Tính toán với độ chính xác theo yêu cầu

Trang 6

>

> evalf(Pi);

> evalf(cos(1) + sin(1)*I);

> evalf(3/4*x^2+1/3*x-sqrt(2));

1.2.3 Các thao tác với số nguyên.

Phân tích một số n thành thừa số nguyên tố: lệnh ifactor(n);

Trang 7

Kiểm tra một số n có phải là số nguyên tố không?: lệnh isprime(n);

Trang 8

Tìm bội số chung nhỏ nhất của 2 số nguyên dương a, b: lệnh lcm(a,b);

Trang 9

1.2.5 Khái niệm biến số, hằng số

Trong Maple, biến số được sử dụng thoải mái mà không cần khai báo, định nghĩa trước:

Biến số, hằng số được đặt tên thỏa mãn một số quy tắc sau:

+ Không bắt đầu bằng chữ số

+ Không chứa khoảng trắng và một số ký tự đặc biệt như: %,^,&,*,$,#,

+ Không được trùng với tên một số hàm và lệnh của Maple: sin, cos, ln, min, max,

Một biến số sẽ trở thành hằng số ngay khi nó được gán cho một giá trị nào đó.Nếu muốn biến một hằng số trở lại biến số, ta dùng phép gán: ten_bien:='ten_bien';

1.2.6 Triển khai biểu thức:

expand(expr , expr1 , expr2 , , exprn )

Trang 13

> normal( 1/x+x/(x+1) );

> normal( 1/x+x/(x+1), expanded );

1.2.10 Thay giá trị cho biến trong biểu thức

Cú pháp: subs(bien = gia_tri , bieu_thuc);

Trang 14

binomial boolean_function boolean_operator bytes

Elliptic_related elsymfun equality erf

FormalPowerSeries FromMma FromMmaNoteboo

function_rules GAMMA GAMMA_related global

listlist listlist(deprecated) ln local

bject MeijerG metric metric(deprecated)MobiusR

Trang 15

octal ODE ODEs or

PhysicsVectors piecewise PLOT3Doptions PLOToptions

sincos sqrfree StandardFunctions std

tan temperature to_special_function trig

Trang 16

> convert(s, polynom); # Drop the order term

I.3 CẤU TRÚC DỮ LIỆU.

I.3.1 Dãy biểu thức ( Expression Sequence)

Dãy là một cấu trúc dữ liệu gồm:

Các phần tử ngăn cách nhau bởi dấu ,

Các phần tử của dãy có thể là bất cứ gì

Maple áp dụng sự định giá đầy đủ khi định giá một dãy

I.3.2 Danh sách (List)

Danh sách là dãy được bao trong cặp dấu ngoặc vuông.Các phần tử của danh sách co thể là bất cứ gì

Ví d ụ 1

Trang 17

>

I.3.3 Tập hợp (Set)

Tập hợp là dãy được bao trong cặp dấu ngoặc nhọn

Trong tập hợp thứ tự các phần tử không quan trọng

Cac phép tóan trên tập hợp như union(hợp),intersect(giao),minus(trừ)

Ví d ụ 1

>

I.3.4 Mảng (Array)

Mảng là cấu trúc dữ liệu bao gồm

Một hay nhiều chiều

Miền chỉ mục của các chiều phải là khỏang số nguyên

Các phần tử của mảng có thể là mọi thứ

Cú pháp : > array(indexfcn , bounds ,list);

- indexfcn (tùy chọn) : hàm chỉ số

- bounds (tùy chọn) : dãy của các khỏang

- list (tùy chọn) : danh sách các giá trị khởi đầu

Ví d ụ

> v := array(1 4):

Trang 18

for i to 3 do v[i] := i^2 end do:

* L (tùy chọn): dãy hay tập hợp gồm các phần tử của bảng

Nếu L có dạng danh sách hay tập hợp các đẳng thức thì các vế trái sẽ là các chỉ số của mảng ; các phần tử vế phải sẽ là các phần tử của bảng

Trái lại, các chỉ số là các số nguyên 1,2,3

rand(m n)( ): sinh số nguyên ngẫu nhiên trong khỏang m n

rand( ): sinh số nguyên ngẫu nhiên không âm có 12 chữ số

randomize( ): gieo giống lại bộ sinh số

b Hàm tìm max,min một dãy

Cú pháp: > max( day );

> min( day );

Trang 19

c Hàm map

Ví d ụ

> map(f, x + y*z);

d Hàm add,mul

add dùng để cộng dãy các giá trị

mul dùng để nhân dãy các giá trị

Cú pháp: add(f, i = m n) add(f, i = x) add(f,

i in x) mul(f, i = m n) mul(f, i = x) mul(f, i in x)

Hoặc dạng phát biểu khác:

for name in expressiondo

statement sequence

Trang 20

I.4.3 Lệnh điều kiện if

Cấu trúc cú pháp:

if condition thenstatement sequence

| elif condition then statement sequence |

| else statement sequence |fi;

Ghi chú: Các câu lệnh trong cặp dấu ngoặc đứng là các lệnh tuỳ chọn Thí dụ: biểu

thức | statement | cho biết rằng statement là một câu lệnh tuỳ chọn

I.4.6 Sử dụng các hàm RETURN, ERROR

Hàm RETURN được sử dụng để cho giá trị hàm trước khi thoát khỏi chu trình.Nếu không có lệnh RETURN, chu trình tự động cho kết quả của phép tính cuối cùngtrong chu trình

Hàm ERROR được sử dụng để đưa thông điệp lỗi ra màn hình từ bên trong chutrình

Maple là một ngôn ngữ lập trình hướng chu trình (procedure) Chúng ta có thể làmviệc với Maple bằng hai chế độ khác nhau: Chế độ tương tác trực tiếp thông qua việcnhập từng lệnh đơn lẻ ngay tại dấu nhắc lệnh của Maple và nhận được ngay kết quả củalệnh đó Chế độ chu trình được thực hiện bằng cách đóng gói một dãy các lệnh xử lí cùngmột công việc vào trong một chu trình (procedure) duy nhất, sau đó ta chỉ cần gọi chutrình này và Maple tự động thực hiện các lệnh có trong chu trình đó một cách tuần tự vàsau đó trả lại kết quả cuối cùng

Trang 21

Maple chứa một lượng rất lớn các hàm tạo sẵn đáp ứng cho những yêu cầu tínhtoán khác nhau trong nhiều lĩnh vực Các hàm này được lưu trữ trong các gói chu trình(package) và người sử dụng có thể dễ dàng gọi đến mỗi khi cần thiết Tuy nhiên, ngườidùng Maple có thể tự tạo cho riêng mình những gói chu trình cũng như có thể trao đổidùng chung những gói chu trình nào đấy, phục vụ cho công việc mang tính đặc thù riêngcủa mình

Các khái niệm cơ bản cần phải nắm vững để tạo ra một chu trình (procedure) là:Cấu trúc proc() end; cùng với các khai báo trong cấu trúc này (global, local, option, )

Các cấu trúc dữ liệu và các hàm có liên quan (dãy-sequence, tập hợp-set, danhsách-list, mảng-array, bảng-table)

Các hàm lập trình cơ bản (đã nêu ở trên) và các hàm liên quan đến việc xử lí dữliệu (eval, evalf, subs, map, convert, )

I.4.7 Khai báo chu trình

Lời gọi khai báo một chu trình:

procedure_name:=proc(parameter_sequence)[local local_sequence]

[global global_sequence]

[options options_sequence]

statements_sequence;

end;

Giải thích các khai báo:

parameter_name: Là một dãy các kí hiệu, ngăn cách nhau bởi các dấu phẩy, chứatên các tham biến truyền cho chu trình

local_sequence: Là một dãy các tên được khai báo là biến cục bộ trong chu trình,

nó chỉ có giá trị sử dụng trong phạm vi chu trình đang xét (local được sử dụng để khaibáo cho các biến chỉ sử dụng bên trong một chu trình)

global_sequen: Dãy các tên biến toàn cục có giá trị sử dụng ngay cả bên ngoài chutrình

options_sequence: Dãy các tuỳ chọn cho một chu trình

statements_sequence: Dãy các câu lệnh do người lập trình đưa vào

Trang 22

Tham biến (parameter) là các biến được đặt giữa hai dấu ngoặc trong biểu thứcproc( ) Tham biến được dùng để nhận dữ liệu truyền cho chu trình khi gọi chu trình đó.

Ví dụ ta có thể khai báo chu trình tính tổng của 2 số [tong:=proc(x,y) x+y; end.] thì khigọi chu trình này để tính tổng của hai số 10 và 5 ta phải truyền các dữ liệu này cho cáctham biến (cho x nhận giá trị là 10, y nhận giá trị là 5), tức là tại dấu nhắc lệnh ta phảiviết tong(10, 5); và sau khi thực hiện chu trình trả lại kết quả là 15

Tham biến có tính cục bộ: chúng chỉ được sử dụng bên trong chu trình đã đượckhai báo, bên ngoài chu trình này chúng không mang ý nghĩa gì

Kiểu của tham biến có thể được khai báo trực tiếp

I.4.8 Phạm vi các biến (biến toàn cục, biến cục bộ và tham biến)

Biến toàn cục

Biến toàn cục được khai báo sau từ khoá global trong khai báo chu trình

Biến toàn cục được khai báo bên trong một chu trình, nhưng có phạm vi giá trịtrong toàn bộ chương trình, tức là bên ngoài phạm vi của chu trình mà nó được khai báotrong đó

Biến cục bộ

Biến cục bộ được khai báo sau từ khoá local trong khai báo chu trình

Biến cục bộ chỉ có giá trị bên trong chu trình mà nó được khai báo Ngoài chutrình này nó không mang ý nghĩa gì

Trang 23

CHƯƠNG II: ỨNG DỤNG MAPLE II.1 Mô tả chương trình

Chương trình giải 1 bài toán về hàm số gồm những bài toán nhỏ sau:

 Khảo sát và vẽ đồ thị hàm số dạng hàm bậc hai chia cho bậc nhất khi biết giá trị tham số m.

 Tìm giá trị tham số m để hàm số đại cực trị (cực đạ và cực tiểu).

II.2 Cơ sở lý thuyết

II.2.1 Khảo sát hàm số:

- Tìm tập xác định

- Nêu tính chất đặc biệt của hàm số (nếu có) như: hàm số chẵn, hàm số lẻ, hàm số tuần hoàn

- Xét sự biến thiên của hàm số:

+ Tìm giới hạn tại vô cực và giới hạn vô cực (nếu có) của hàm số

+ Tìm các đường tiệm cận của đồ thị (nếu có)

+ Lập bảng biến thiên: Gồm: tìm đạo hàm, xét dấu,

- Vẽ đồ thị:

+ Vẽ hệ trục toạ độ Đề các vuông góc

+ Xác định các điểm đặc biệt: cực trị, điểm uốn, giao điểm với Ox, Oy

+ Vẽ các đường tiệm cận, trục đối xứng (nếu có)

+ Dựa vào bảng biến thiên và các điểm, đường đã xác định để vẽ đồ thị

II.2.2 Tìm giá trị tham sô m để đồ thị có cực trị (cực đại và cực tiểu)

Để đồ thị hàm số có cực đại và cực tiểu thì phương trình đạo hàm bậc nhất y’=0 có hai nghiệm phân biệt

1 Điều này suy ra của y’ phải lớn hơn không

2 Giải bất phương trình > 0 theo m

3 Từ đây suy ra giá trị m để Delta > 0, cũng là giá trị m để phương trình y’=0 có 2 nghiệm phân biệt

II.3 Procedure để vẽ đồ thị và biện luận m

Trang 25

THAM KHẢO

[1] PGS.TS Đỗ Văn Nhơn Bài giảng mông lập trình symbolic ĐH CNTT TPHCM

[2] Thư viện của phần mềm maple

[3] http://toan.hoctainha.vn/Thu-Vien/The/khao-sat-va-ve-do-thi-ham-so

Ngày đăng: 10/04/2015, 01:31

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w