Tải bản đầy đủ (.docx) (60 trang)

Sử dụng Maple trong thống kê

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (371.97 KB, 60 trang )

Khoá luận tốt nghiệp

MỤC LỤC
Lời nói đầu…………………………………………………. 1
Chƣơng 1. PHẦN MỀM MAPLE………………………....5
1.1 Giới thiệu chung về Maple ……………………………………………..5
1.2 Giao diện và môi trƣờng làm việc của Maple………………………... 5
1.2.1 Giao diện và các menu lệnh của Maple……………………………5
1.2.2 Môi trƣờng tính toán và các đối tƣợng trong trang làm việc…… 6
1.3 Thực hiện các phép tính số học ………………………………………...7
1.3.1 Phép tính số nguyên ………………………………………………..7
1.3.2 Tính toán với các số thập phân…………………………………… 8
1.4 Vẽ đồ thị và các vấn đề liên quan ……………………………………...8
1.4.1 Vẽ đồ thị trong mặt phẳng………………………………………... 8
1.4.2 Vận động của đồ thị ……………………………………………….9
1.5 Các khái niệm và các hàm cơ bản trong lập trình Maple………… 10
1.5.1 Các khái niệm cơ bản ……………………………………………10
1.6 Các hàm thƣờng dùng trong Maple
………………………………….13 1.6.1 Ƣớc lƣợng giá trị
………………………………………………….13
1.6.2 Tìm giá trị lớn nhất và bé nhất ………………………………….14
1.6.3 Thay thế trong biểu thức: lệnh subs …………………………….14
1.6.4 Chuyển đổi dạng cấu trúc dữ liệu (lệnh convert) ………………15
1.7 Cách tạo lập hàm trong Maple …………………………………….16
1.8 Lập trình trên Maple …………………………………………………17
1.9 Thiết lập một chu trình (procedure) …………………………………18

Chƣơng 2. CƠ SỞ THỐNG KÊ …………………………
20
2.1 Mẫu ngẫu nhiên ………………………………………………………20
2.2 Hàm phân phối thực nghiệm …………………………………………21


2.3. Đa giác tần suất và tổ chức đồ………………………………………. 21
2.3.1. Đa giác tần suất ………………………………………………….21
2.3.2. Tổ chức đồ………………………………………………………. 22
2.4. Các đặc trƣng của mẫu ……………………………………………..23
2.4.1. Trung bình mẫu …………………………………………………23
2.4.2. Phƣơng sai mẫu …………………………………………………24
2.5 Một số quy luật phân phối xác suất thƣờng dùng trong thống kê .24
2.6. Ƣớc lƣợng các tham số của mẫu ngẫu nhiên ………………………
26
2.6.1
Ƣớc
lƣợng
điểm…………………………………………………. 26 2.6.2 Ƣớc
lƣợng khoảng ……………………………………………….26
2.6.3 Khoảng tin cậy của giá trị trung bình…………………………. 26
2.6.4 Khoảng tin cậy của phƣơng sai khi lấy mẫu từ phân phối
chuẩn có phƣơng sai chƣa biết
………………………………………………28
-1Nguyễn Thị Thu Huyền


Khoá luận tốt nghiệp

2.7 Kiểm định giả thuyết thống kê ……………………………………..28

-2-

Nguyễn Thị Thu Huyền



2.7.1 Kiểm định giả thuyết về giá trị trung bình…………………….. 28
2.8 Hồi quy ……………………………………………………………….32
2.8.1 Mô hình hồi quy với một biến dự báo …………………………..32
2.8.2 Mô hình hồi quy tuyến tính đơn………………………………... 32
2.8.3 Ƣớc lƣợng các tham số hồi quy bằng phƣơng pháp bình
phƣơng bé nhất
…………………………………………………………………..33

Chƣơng 3: SỬ DỤNG MAPLE TRONG THỐNG KÊ 34
3.1. Các đặc trƣng của mẫu……………………………………………. ..34
3.1.1 Tính kỳ vọng ( EX ) và phƣơng sai ( DX ) của biến ngẫu nhiên X
……………………………………………………………………………34
3.1.2 Trung bình mẫu, phƣơng sai mẫu, phƣơng sai mẫu hiệu chỉnh
35
3.2
Ƣớc
lƣợng
khoảng……………………………………………………. 36 3.3 Tổ chức
đồ …………………………………………………………….38 3.4 Kiểm
định giả thuyết …………………………………………………40 3.5 Hồi
quy ……………………………………………………………….42

KẾT LUẬN………………………………………………. 45
TÀI LIỆU THAM KHẢO ……………………………….46


Lời nói đầu
Trong thời đại thông tin hiện nay, việc giảng dạy và học tập toán học nói
chung cũng như thống kê nói riêng thường được gắn với việc thực hành các
phần mềm trên máy tính. Hiện nay, theo thống kê chưa đầy đủ, có trên 300 phần

mềm về xác suất - thống kê và toán học. Việc lựa chọn phần mềm nào để thực
hành là một vấn đề không đơn giản vì nó phụ thuộc vào nhiều nhân tố như khả
năng mua phần mềm đó để học và thực hành, thời gian thực hành.
Dựa vào điều kiện thực tế ở nước ta thì 4 phần mềm thường được sử dụng
trong thống kê là MAPLE, MATLAB, SPPS, S-PLUS. Một đặc điểm chung
của 4 phần mềm trên là chúng có một quá trình phát triển trên 30 năm. Trong đó
MAPLE, MATLAB là phần mềm chuyên về tính toán kí hiệu. Còn SPPS, SPLUS là các phần mền chuyên về xác suất- thống kê trong đó phải xử lí việc
nhập và quản lý các số liệu ở quy mô hàng trăm biến, hàng nghìn quan sát.
Trong trường hợp như thế MAPLE, MATLAB tỏ ra không thích hợp. Tuy
nhiên MAPLE khác SPPS, S-PLUS và với nhiều phần mền khác ở chỗ nó còn
là một ngôn ngữ lập trình.
Với đề tài “ Sử dụng Maple trong thống kê ” luận văn gồm 3 chương:
Chương 1 : Phần mềm Maple
Trong chương này, giới thiệu chung về phần mềm Maple giao diện và
môi trường làm việc, các phép tính số học, vẽ đồ thị, các khái niệm và các hàm
cơ bản trong lập trình Maple , cách tạo lập hàm và những lệnh lập trình cơ bản
trên Maple.
Chương 2 : Cơ sở thống kê
Trong chương này, trình bày về lý thuyết mẫu, về các bài toán ước lượng
tham số, một số bài toán về kiểm định giả thiết và hồi qui.
Chương 3: Ứng dụng phần mềm Maple vào trong thống kê.
Trong chương này, xây dựng các thủ tục để tính các đặc trưng của mẫu,
tìm khoảng tin cậy, kiểm định giả thuyết.


Mặc dù đã cố gắng hết sức, do thời gian và kiến thức về lĩnh vực tìm hiểu
còn nhiều hạn chế nên khoá luận còn nhiều thiếu xót. Vì vậy, tôi rất mong được
sự bổ sung góp ý của các thầy giáo, các bạn để hoàn thiện những thiếu xót của
khoá luận.
Tôi xin chân thành cảm ơn sự quan tâm của ban chủ nhiệm khoa, các thầy

cô trong khoa Toán đã tạo mọi điều kiện cho tôi thực hiện khoá luận này. Đặc
biệt, tôi xin gửi lời cảm ơn chân thành nhất tới thầy Nguyễn Trung Dũng đã
giúp đỡ và tận tình chỉ bảo tôi trong suốt quá trình thực hiện khoá luận này.
Hà Nội, ngày 14 tháng 5 năm 2008.
Nguyễn Thị Thu Huyền.


Chƣơng 1. PHẦN MỀM MAPLE
1.1 Giới thiệu chung về Maple
Maple là một phần mềm của công ty Maplesoft - một bộ phận của công ty
Maple Waterloo có địa chỉ trang Web là: http:// www.maplsoft.com/. Ban đầu,
Maple chỉ là một hệ thống tính toán ký hiệu (Symbolic Computation Sytem) hay
hệ thống đại số máy tính (Computer Algebra System). Phiên bản của Maple
được giới thiệu ở đây là phiên bản lần thứ 9.5, gọi tắt là Maple 9.5. Maple 9.5 là
môi trường toàn diện để nghiên cứu, giảng dạy và ứng dụng toán học.
Maple còn gọi là một ngôn ngữ lập trình, nó được thiết kế đặc biệt để viết
các chương trình mẫu về toán học và ứng dụng một cách nhanh chóng.

1.2 Giao diện và môi trƣờng làm việc của Maple
1.2.1 Giao diện và các menu lệnh của Maple
File: Chứa các lệnh liên quan tới làm việc với một file cụ thể.
New: Tạo một file mới.
Open: Mở một file đã có.
Save: Ghi các file đang soạn thảo.
Save as: Ghi file đang mở sang một file mới và đặt tên cho file mới này.
Close: Đóng file đang làm việc.
Exit: Thoát khỏi Maple.
Edit: Menu này chứa các lệnh liên quan tới copy, cắt dán, xoá bỏ…các đoạn khi
đang làm việc với một file.
View: Menu này chứa một tập hợp lệnh liên quan tới giao diện làm việc của

Maple.
Insert: Đây là menu chứa các lệnh về chèn thêm thông tin vào một file đang
làm việc.
Format: Chứa các lệnh về định dạng các thành phần văn bản của trang làm
việc.


Windows: Chứa các lệnh về xếp tầng các trang làm việc hoặc đóng các trang
làm việc đã được mở .
Chú ý: Các lệnh làm việc của Maple được đưa vào trang làm việc tại dấu
nhắc lệnh thường được biểu thị bằng font chữ màu đỏ. Sau mỗi lệnh phải kết
thúc bằng dấu chấm phảy “ ; ” thì sau khi thực hiện lệnh kết quả sẽ hiện ra màn
hinh, còn nếu thay bằng dấu hai chấm “ : ” thì không hiện kết quả ra màn hình.

1.2.2 Môi trƣờng tính toán và các đối tƣợng trong trang làm
việc Cụm xử lý(Execution Group)
Cụm xử lý là thành phần tính toán cơ bản trong trang làm việc.Có thể dễ
dàng nhận biết một cụm xử lý bằng ngoăc vuông bên trái của dấu nhắc lệnh.
Kí hiệu: [>
Cụm xử lý là nơi dưa lệnh vào để tính toán và nhận lại kết quả do máy
đưa ra.

Lệnh và kết quả tính toán của Maple
Lệnh của Maple (Maple Input) được đưa vào trang làm việc tại dấu nhắc
lệnh. Tuỳ theo tên và cú pháp của các câu lệnh. Lưu ý lệnh phải được kết thúc
bằng dấu chấn phẩy “ ; ”.
Ví dụ 1.1 : Lệnh giải phương trình 3x2 2x 1 được nhập vào như sau:
[> solve(3*x^2-2*x=1,{x});
Muốn cho thực hiện lệnh thì đưa con trỏ về dòng lệnh và nhấn phím
“Enter”.

Kết quả của Maple (Maple Output) là: Sau khi thực hiện lệnh trong một
cụm xử lý (nhấn phím “enter”khi con trỏ đang ở dòng lệnh ) thì kết quả tính
toán sẽ đươc hiện ra.
Ví dụ 1.2 : [> solve(3*x^2-2*x=1,{x});
1
{x 1},{x  }
3


Đồ thị(Graph)
Maple cho phép vẽ đồ thị ngay trong trang làm việc, đặc tính này được
gọi là “đồ hoạ trực tiếp”. Dưới đây là một ví dụ về một bản vẽ trực tiếp đồ thị
của đường cong
2

x 1)

2
y=sin( x x 1) cos( x trên đoạn [-3,3] .

[> with(plots);
[> plot(sin(x^2+x-1)-cos(x^2-x+1),x=-3..3);

1.3 Thực hiện các phép tính số học
1.3.1 Phép tính số nguyên
Khởi động chương trình bằng lệnh [> restart;
Sau dấu nhắc lệnh ta đưa các phép toán cần thực hiện với các số nguyên.
Ví dụ 1.3 : Tìm ước chung lớn nhất
Lệnh tổng quát gcd(a,b,ha,hb)
Các tham số a,b:là các số nguyên, da thức nhièu biến trên một trường số,hàm

đại số.
ha,hb: tuỳ chọn tên của các đại lượng chưa xác định.
Tìm ước chung lớn nhất của hai số 9585 và 426852.
[> gcd(9585,426852);

639

Ví dụ 1.4 : Tìm nghiệm nguyên của phương trình


Lệnh tổng quát

isolve(pt,bien)

Các tham số

pt: phương trình hoặc hệ phương trình cấn giải .
bien: tên các biến sử dụng để biểu diễn nghiệm.

Trong trường hợp phương trình hay hệ phương trình không có nghiệm nguyên
(hoặc máy không giải được) thì máy sẽ báo null hay không trả lời.
Tìm nghiệm nguyên của hệ phương trình

2x+3y-7z=5
x+y=1

[> isolve({2*x+3*y-7*z=5,x+y=1},{t,u,v});

{x = -2 - 7 t, y = 3 + 7 t, z = t}


1.3.2 Tính toán với các số thập phân
Tính giá trị của biểu thức số học
Lệnh tổng quát

evalf(bthuc,k)

Các tham số

bthuc: là biểu thức số học cần tính giá trị .
k: là số chữ số trong kết quả .

Ví dụ 1.5 Tính giá trị biểu thức sau với 5 chữ số thập phân

23 1
25

5

[> evalf((Pi^23/25*sqrt(5),5));
10

2.4324 10

1.4 Vẽ đồ thị và các vấn đề liên quan
1.4.1 Vẽ đồ thị trong mặt phẳng
Các tính toán với đồ hoạ thường yêu cầu bộ nhớ lớn ,cho nên ta nên “làm
sạch bộ nhớ” bằng lệnh: [>restart;
Sau đó ta nạp các gói chức năng chuyên dụng cho vẽ đồ thị , bằng các
lệnh.
[>with(plots);

[>with(plottools);


Vẽ đồ thị hàm thông thường
Ta vẽ đồ thị 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`);
2

sin( x x )
bằng lệnh
Ví dụ 1.6 Vẽ đồ thị hàm f(x)=
x
[> plot(sin(x+x^2)/abs(x),x=-2..2);

1.4.2 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 phải 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. Việc này đòi hỏi bộ 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:
[>restart;
Sau đó 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.
[>with(plots);
[>with(plottools);
Nếu muốn xem sự vận hãy di chuột vào khu vực đồ thị và bấm nút trái
cho hiện ra khung đồ 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ị thì vào chức năng Animation/play.
Ta có thể cho nó chuyển động liên tục bằng cách chọn chức năng
Animation/Continuous.Muốn dừng lại ta sử dụng Animation/Stop.



Ví dụ 1.7 Hãy vẽ đồ thị hàm số y=tsin(tx) khi x nhận giá trị trong khoảng

 ..và quan sát sự thay đổi của đồ thị khi t thay đổi trong khoảng
2..2
[>restart;
[>with(plots);
[>with(plottools);
[> animate(t*sin(x*t),x=-Pi..Pi,t=-2..2);

1.5 Các khái niệm và các hàm cơ bản trong lập trình Maple
1.5.1 Các khái niệm cơ bản
Tên (name) và xâu kí tự : Tên là một sâ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.
Một xâu ký tự bất kỳ (string of letters) có thể không phải là xâu hình tự
và do đó không thể là một tên hợp lệ. Maple cho phép tạo ra 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. Ví 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.


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à biến có thể gán bởi một giá trị nào đó và giá trị đó được

lưu 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ị. 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 tên biến.

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 chưa 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 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 toán:
[>restart;
[>z:=y
y: =t
t: =x^2+5*x-12
z: =y
y: =t
2

t: =x +5x -12
Trên đây các tên x, y, z đề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) .
2


Sau các phép gán, giá trị của z, y, t đều tham chiếu đến biểu thức x +5x -12
chúng được xem như là biến có thể lập trình.
[>z;
2

x +5x -12
[>y;
2

x +5x -12
[>t;
2

x +5x -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 đó
tiếp tục kiểm tra xem liêu 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

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.


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.

1.6 Các hàm thƣờng dùng trong Maple
1.6.1 Ƣớc lƣợng giá trị
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ụ 1.8
Nhiều biểu thức cho kết quả chưa đượ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


1.6.2 Tìm giá trị lớn nhất và bé nhất
Lệnh
Max− xác định phần tử lớn nhất của một dãy các biểu thức.
Min – xác định phần tử nhỏ nhất của một dãy các biểu thức.
Lời gọi
Max (x1, x2, …)
Min (x1, x2, …)
Đối số:
x1, x2, …− các biểu thức.
Ví dụ 1.9
Hàm max cho lại số lớn nhất
[> max(3/2,1.49,-34,1.49999);

3
2
[> min(3,7,5,9,10);

3


1.6.3 Thay thế trong biểu thức: lệnh subs
Lệnh
subs(var=repl,expr);
subs(varl=repll,var2=rep12,expr);
subs(varl=repll,...,varn=repln,expr);

Các đối số:
var,var1,var2,…,varn: các kí hiệu cần được thay thế trong biểu thức
repl,repl1,…,repln: các biểu thức sẽ thay thế chỗ của var, var1, …,varn trong
biểu thức expr .


Ví dụ 1.10
Lệnh thay thế đơn giản:
[> bt1:=a*x^2+b*x+c;

2

bt1 := a x + b x + c
[> bt11:=subs(a=3,b=-1,c=4,bt1);
2

bt11 := 3 x - x + 4

1.6.4 Chuyển đổi dạng cấu trúc dữ liệu (lệnh convert)
Lệnh
convert(expression,resulttype);
expression: biểu thức cần được chuyển đổi.
resulttype: dạng dữ liệu biểu thức của ta cần chuyển sang.

Ví dụ 1.11
Khai báo một danh sách các số nguyên:
[> ds:=[12,23,53,2,11,34,12,2,3,11];

ds := [12, 23, 53, 2, 11, 34, 12, 2, 3, 11]

Chuyển dữ liệu từ kiểu danh sách (list) thành kiểu tổng (sum), từ đó ta thu được
tổng các phần tử của danh sách:
[> convert(ds,`+`);
163

Ta có thể chuyển kiểu danh sách này sang các kiểu mảng hay bảng, chẳng hạn:
[> convert(ds,table);
table([1 = 12, 2 = 23, 3 = 53, 5 = 11, 4 = 2, 7 = 12, 6 = 34, 10 = 11, 8 = 2, 9 = 3])

Hoặc chuyển sang kiểu tập hợp, lưu ý các phần tử trùng nhau thì bị loại bỏ bớt:
[> taphop:=convert(ds,set);

taphop := {2, 3, 11, 12, 23, 34, 53}

Đếm số phần tử của tập hợp
[> nops(taphop);


7

Đếm số phần tử của danh sách
[> nops(ds);

10


1.7

Cách tạo lập hàm trong Maple

Dùng chu trình proc()…end để tạo hàm
Mô tả
Cấu trúc proc()…end được dùng để định nghĩa hàm bao gồm các lệnh
được xử lý theo bó (batch processing), tức là thực hiện một dãy các lệnh liên
tiếp nhau mà không có sự can thiệp trực tiếp của người dùng.
Cấu trúc này được sử dụng tiện lợi khi mà ta cần thực hiện 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ỉ một phần) kết quả của hàm trước
truyền cho hàm tiếp theo, và do đó không thể dùng hàm gọi các hàm lồng nhau
hay định nghĩa bằng toán tử định 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. Trong phần
này, ta chỉ đề cập đến những chu trình đơn giản nhất.
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:`);
if aif belif aend:
[> max3(10,100,-2.34);



Gia tri lon nhat trong ba so la:
100

1.8 Lập trình trên Maple
Lệnh lập trình cơ bản (lệnh điều kiện if)
Cấu trúc cú pháp:
if condition then
Statenment sequence
elif condition then statement sequence
else statement senquence
fi;
Chức năng
Nếu muốn một dãy biểu thức được thực hiện khi điều kiện nào đó được
thoả mãn và một dãy biểu thức khác được thực hiện nếu trái lại thì có thể dùng
câu lệnh if – then – else – fi. Trong câu lệnh trên, nếu điều kiện condition là
đúng thì chuỗi biểu thức đứng sau then được thực hiện, nếu trái lại thì điều kiện
condition sau từ khoá elif sẽ được kiểm tra, nếu nó đúng thì chuỗi lệnh tương
ứng sau then được thực hiện, cứ tiếp tục cho đến khi các điều kiện condition
đều không thoả mãn, thì các biểu thức sau lệnh else sẽ được thực hiện.
Lƣu ý: Cấu trúc lệnh (tuỳ chọn) elif … then…được lập lại với số lần tuỳ ý. Từ
khoá elif là dạng viết tắt của else if.
Các biểu thức điều kiện (condition) được sử dụng trong câu lệnh if phải
được tạo thầnh từ các bất đẳng thức, các đẳng thức (các phép toán quan hệ), các
biến số, các phép toán logic, các hàm có giá trị trả lại là giá trị logic. Nếu trái lại
thì sẽ gây ra lỗi.
Ví dụ 1.12 Chu trình giải phương trình bậc hai x 2 2x 1
[> gpt:=proc(a,b,c)
local delta,x1,x2;
delta:=b^2-4*a*c;



if delta<0 then
print(`phuong trinh vo nghiem`);
elif delta=0 then x1:=-b/(2*a);
print(`pt co nghiem kep`,x1);
x1:=(-b+sqrt(delta))/(2*a);
else
x2:=(-b-sqrt(delta))/(2*a); print(`phuong
trinh co 2 nghiem phan biet
la:`);print(x1,x2);
fi;
end:
[> gpt(1,2,-1); phuong trinh co 2 nghiem phan biet la:
-1 +

2 , -1 -

2

1.9 Thiết lập một chu trình (procedure)
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ấu trúc dữ liệu và các hàm có liên quan (dãy – sequence, tập hợp-set,
danh sách – list, mảng- array).
- Các hàm lập trình cơ bản và các hàm liên quan đến việc xử lí dữ liệu
(eval, evalf, subs, convert,..).
- Các hàm gỡ lỗi và cách bẫy lỗi.
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 chấm
phẩy, chứa tê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 để khai báo cho các biến chỉ sử dụng bên trong một chu trình).
Global_sequence: Dãy các tên biến toàn cục có giá trị sử dụng ngay cả bên
ngoài chu trình.
Option_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.


Chƣơng 2. CƠ SỞ THỐNG KÊ
Thống kê toán là bộ môn toán học nghiên cứu quy luật của các hiện tượng
ngẫu nhiên có tính chất số lớn trên cơ sở thu thập và xử lý các số liệu thống kê
các kết quả quan sát. Như vậy, nội dung chủ yếu của thống kê toán là xây dựng
các phương pháp thu thập và xử lý số liệu thống kê nhằm rút ra các kết luận
khoa học và thực tiễn.
Các phương pháp thống kê toán là công cụ để giải quyết nhiều vấn đề
khoa học và thực tiễn nảy sinh trong các lĩnh vực khác nhau của tự nhiên và
kinh tế xã hội.


2.1 Mẫu ngẫu nhiên
Tập hợp tất cả các phần tử cần nghiên cứu được gọi là một tổng thể. Tập
hợp các phần tử lấy ra từ một tổng thể được gọi là mẫu. Số phần tử của mẫu
được gọi là số lượng của mẫu hay cỡ mẫu.
Mẫu ngẫu nhiên là mẫu mà các phần tử được chọn ra một cách ngẫu
nhiên. Có hai cách lấy mẫu ngẫu nhiên: lấy có lặp và lấy không lặp lại. Với cách
lấy mẫu không lặp lại, phần tử lấy ra sau khi xác định các đặc trưng được trả lại
tập ban đầu. Với cách lấy mẫu không lặp lại, phần tử lấy ra sau khi xácđịnh các
đặc trưng không được trả lại tập ban đầu.
Muốn cho mẫu phản ánh tương đối chính xác tổng thể thì mẫu phải được
chọn một cách khách quan .
Tiến hành n quan sát độc lập về biến ngẫu nhiên X nào đó. Ta gọi X i là
việc quan sát lần thứ i về biến ngẫu nhiên X . Khi đó ( X 1 , X 2 ,..., X được gọi là
n

)

mẫu ngẫu nhiên, n được gọi là cỡ mẫu. Nếu ta gọi x là kết quả quan sát lần thứ
i
i. Khi đó (x , x ,...,x được gọi mẫu số liệu hay là một giá trị cụ thể mà mẫu
1
2
n

)
ngẫu nhiên ( X1 , X 2 ,..., X nhận.
n

)



2.2 Hàm phân phối thực nghiệm
được rút ra từ biến ngẫu nhiên

Giả sử ta có một mẫu số liệu (x1 , x2

,...,xn )
X.

Định nghĩa 2.1 Hàm phân phối thực nghiệm (hay hàm phân phối mẫu ) là hàm
xác định bởi:
F (x) 
nx

với x R

n

n
Trong đó n là số các giá trị x của mẫu nhỏ hơn x .
x
i
Định lý 2.1 (Định lý Glivencô)
Giả sử F
(x)

là hàm phân phối của biến ngẫu nhiên X và Fn

là hàm


(x)

phân phối thực nghiệm nhận được từ mẫu ngẫu nhiên cỡ n. Khi đó ta có
P { sup Fn (x)
F (x)

n

0 khi

} = 1

x 

Như vậy, theo định lý Glivencô hàm phân phối thực nghiệm là một xấp xỉ
của hàm phân phối lý thuyết. Xấp xỉ đó càng tốt khi cỡ mẫu n càng lớn. Hàm
phân phối thực nghiệm cho ta hình ảnh về hàm phân phối lý thuyết.

2.3. Đa giác tần suất và tổ chức đồ
2.3.1. Đa giác tần suất
Cho mẫu số liệu ( x1 , x2 ,...xn ) quan sát về biến ngẫu nhiên X . Khi đó,

x(1)

 ... x(k )

n1

x(2)


nk

n2
trong đó ni

là số giá
trị của

mẫu nhận giá
trị


x(i) , i  1,
k

i1

n

,

n

i

n

được gọi



mẫu thu gọn. Để đơn giản về mặt kí hiệu ta viết x thay cho x .
i
(i)


Bảng sau gọi là bảng phân bố tần số các giá trị của mẫu:

x1

x2

x3



xi



xk

n

n2

n3






nk

n

n

ni
n

1

n
Ta có:

n1
n2 n

n1 n2 n3 ...
nk n



n
n3 ... 
n
n

nk


1

n



Từ bảng phân bố này ta xây dựng biểu đồ tần suất như sau:
-Vẽ hệ trục toạ độ Oxy,trục Ox để biểu diễn các giá trị của

xi . Tại mỗi
ni

điểm x
i trên trục Ox ta dựng đoạn thẳng vuông góc với Ox và có độ dài

.

n
-Tập hợp tất cả các đoạn thẳng dựng trên cho ta biểu đồ tần suất. Nối các

điểm phía trên của đoạn thẳng liên tiếp đó bằng các đoạn thẳng ta được một
đường gấp khúc, được gọi là đường gấp khúc tần suất (hay đa giác tần suất)
Biểu đồ tần suất thường được sử dụng trong trường hợp X là biến rời rạc.

2.3.2. Tổ chức đồ
Giả sử cỡ mẫu là lớn và X là biến ngẫu nhiên liên tục. Khi đó, ta ghép
các số liệu thành lớp, chẳng hạn k lớp, bởi các điểm cách đều nhau:
a0 a1 ...  ... ak . xi  hay xi 
ai1 ai
ai

Nếu
ai1

thì ta xếp ngẫu nhiên

vào một trong 2 lớp ở 2 bên số đó. Nếu có ni số liệu thuộc vào lớp thứ i thì ta
ni
số liệu đó được
nói
( ) là tần số (tần suất) ghép lớp của lớp thứ i và ni
ni
n
ai1 ai
số liệu có giá trị bằng
.
thay thế bởi
2
ni
Biểu đồ tần suất được tạo ra bằng cách vẽ các hình chữ nhật có các đáy
bằng c 
ai



ai
1

ni
và chiều cao


nc

.


Ví dụ 2.1 : Trọng lượng tính bằng kg của 33 học sinh nam lứa tuổi 13 được cho
trong bảng sau:

39 42 45 45 48 42 45 48 45 48 45