Tải bản đầy đủ (.pdf) (74 trang)

Sử dụng phần mềm matlab vào việc xây dựng bài giảng về phương trình và hệ phương trình cho học sinh phổ thông

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 (1.04 MB, 74 trang )

LỜI CẢM ƠN
Luận văn này là kết quả sau hai năm học tập và nghiên cứu tại Trường Đại
học Bách Khoa Hà Nội. Bản thân tôi đã được tiếp cận với những kiến thức chuyên
sâu về các môn học trong toán ứng dụng, đặc biệt là những ứng dụng công nghệ
thông tin để giải quyết các bài toán liên quan trong lý thuyết lẫn thực tiễn giảng
dạy.
Với tình cảm chân thành, tác giả xin bày tỏ lòng biết ơn đến quý thầy cô đã
tham gia giảng dạy lớp cao học khóa 2013B Toán tin, cùng các phòng ban liên
quan của Viện đào tạo sau đại học Bách Khoa Hà Nội, các đồng nghiệp, bạn bè và
gia đình đã tận tình giúp đỡ, tạo điều kiện cho tác giả trong qua trình học tập
nghiên cứu.
Đặc biệt, tác giả xin bày tỏ lòng biết ơn sâu sắc tới GS-TSKH Lê Hùng Sơn,
người đã tận tình chỉ dẫn, giúp đỡ tác giả nghiên cứu và hoàn thành luần văn này.
Mặc dù bản thân đã rất cố gắng, nhưng chắc chắn luận văn không thể tránh
khỏi những thiết sót. Tác giả rất mong nhận được những ý kiến đóng góp bổ sung
của quý thầy cô giáo cũng như các đồng nghiệp để luận văn được hoàn thiện hơn
nữa.
Xin chân thành cảm ơn !
Hà Nội, ngày 15 tháng 03 năm 2016
Tác giả luận văn
Thịnh Văn Nghĩa


MỤC LỤC
Trang
LỜI CẢM ƠN .......................................................................................................... 1
MỞ ĐẦU .................................................................................................................. 1
I. Lý do chọn đề tài............................................................................................ 1
II. Mục đích, đối tƣợng, phạm vi nghiên cứu của luận văn ......................... 2
III. Các luận điểm cơ bản và đóng góp mới của tác giả ................................ 2
IV. Phƣơng pháp nghiên cứu ........................................................................... 2


CHƢƠNG I: TỔNG QUAN VỀ MATLAB
1. Tổng quan ..................................................................................................... 3
2. Tổ chức trong Matlab .................................................................................. 3
2.1 Biến ........................................................................................................ 3
2.2 Số và các toán tử ................................................................................... 3
2.3 Biểu thức ................................................................................................ 4
2.4 Hàm ........................................................................................................ 5
2.5 Vectơ ....................................................................................................... 6
2.6 Ma trận ................................................................................................... 8
2.7 Các hàm giải phƣơng trình ................................................................ 11
2.8 Các hàm số học .................................................................................... 13
2.9 Các hàm lƣợng giác ............................................................................. 14
2.10 Các hàm giải tích ............................................................................... 14
2.11 Đồ thị .................................................................................................. 16
CHƢƠNG II : Lập trình trong Matlab
1. Chƣơng trình trong Matlab ....................................................................... 20
2. Các dòng lệnh, các lệnh truy xuất ............................................................. 20
2.1 Các dòng lệnh ...................................................................................... 20
2.2 Câu lệnh chú thích .............................................................................. 20
2.3 Lệnh gán ............................................................................................... 21
2.4 Câu lệnh vào/ra dữ liệu ....................................................................... 21


3. Cấu trúc điều khiển ..................................................................................... 23
3.1 If ... elseif ... else .................................................................................... 23
3.2 Câu lệnh swich-case ............................................................................. 24
3.3 Câu lệnh for .......................................................................................... 25
3.4 Câu lệnh while ...................................................................................... 25
CHƢƠNG III : Các phƣơng trình và hệ phƣơng trình cơ bản
1. Các loại phƣơng trình ................................................................................. 27

1.1 Các loại phƣơng trình giải gần đúng ................................................. 27
1.1.1 Giải phƣơng trình theo phƣơng pháp dây cung ...................... 27
1.1.2 Giải phƣơng trình theo phƣơng pháp chia đôi ........................ 28
1.1.3 Giải phƣơng trình theo phƣơng pháp pháp tuyến .................. 31
1.2 Các loại phƣơng trình giải đúng ........................................................ 33
1.2.1 Phƣơng trình bậc nhất ............................................................... 33
1.2.2 Phƣơng trình bậc hai ................................................................. 34
1.2.3 Phƣơng trình bậc ba .................................................................. 35
2. Các loại hệ phƣơng trình ............................................................................ 37
2.1 Giải hệ phƣơng trình tuyến tính theo phƣơng pháp Cramer ......... 37
2.2 Giải hệ phƣơng trình tuyến tính theo phƣơng pháp Gauss ............ 40
CHƢƠNG IV : Ứng dụng matlab để giải một số bài toán giải phƣơng trình và
hệ phƣơng trình trong Toán THPT
1. Giải phƣơng trình ....................................................................................... 46
2. Giải hệ phƣơng trình .................................................................................. 58
KẾT LUẬN ............................................................................................................ 68
TÀI LIỆU THAM KHẢO .................................................................................... 70


MỞ ĐẦU
I. Lý do chọn đề tài
Hòa chung vào sự phát triển khoa học kỹ thuật và kinh tế xã hội, ngành giáo
dục cũng đang thực hiện chủ trương đổi mới phương pháp dạy và học, nhằm nâng
cao chất lượng dạy học trong các cơ sở giáo dục. Cùng với chủ trương đúng đắn đó,
việc ứng dụng công nghệ thông tin trong công tác giảng dạy cũng đang là nhiệm vụ
bắt buộc hiện nay. Từ đó, các phần mềm hỗ trợ giáo dục và nghiên cứu được phát
triển và khai thác ngày một nhiều. Tuy nhiên, tại một số địa phương, một số cơ sở
giáo dục, cơ sở vật chất còn nghèo nàn, tư duy nhận thức đổi mới còn chưa cao, vì
vậy việc tiếp cận các công nghệ mới, các chương trình mới hỗ trợ giáo dục đang
còn gặp nhiều khó khăn.

Hiện nay, ngoài khai thác các ứng dụng trong soạn thảo văn bản và một số
phần mềm ứng dụng trong quản lý giáo dục, thì việc sử dụng các phần mềm để hỗ
trợ giải quyết các bài toán thường gặp chưa được đầu tư nghiên cứu và sử dụng
đúng mức. Chính vì vậy tôi quyết định chọn nghiên cứu về phần mềm hỗ trợ cho
giảng dạy và học tập. Có rất nhiều các phần mềm được sử dụng hiện nay như lập
trình Pascal, lập trình C,lập trình C#, fortran ... Tuy nhiên có một phần mềm mà nó
có trợ giúp trực quan các bài toán trong nhiều lĩnh vực cũng như trong chương trình
Toán THPT, đó là phần mêm Matlab.
Hiện nay, Matlab là phần mềm được sử dụng và giảng dạy tại nhiều trường
đại học, là công cụ hỗ trợ trong đổi mới phương pháp giảng dạy ở nhiều môn học :
Toán phổ thông, Toán cao cấp, Vật lý phổ thông, Vật lý đại cương, Toán kinh tế,
Xác suất thống kê ...
Một khó khăn đối với nghiên cứu phần mềm này là số đầu sách viết bằng
Tiếng Việt về Matlab còn hạn chế, nên để có một lượng kiến thức phong phú trong
luận văn này, tác giả gặp không ít khó khăn.
II. Mục đích, đối tƣợng, phạm vi nghiên cứu của luận văn

1


Luận văn sẽ tập trung giới thiệu, nghiên cứu các khái niệm cơ bản và ứng
dụng của Matlab để giải quyết những bài toán cơ bản cũng như nâng cao trong
chương trình Toán học THPT.
Những khái niệm trong toán học cơ bản như các phép tính số học đối với
biểu thức và hàm số, giải phương trình, giải hệ phương trình, các bài toán vi phân,
tích phân ... rất quen thuộc nhưng trong thực tế có những trường hợp rất mất thời
gian giải quyết, thậm chí tìm ra kết quả cả là một vấn đề lớn. Tuy nhiên, Matlab cho
ta đáp án nhanh, gọn, chính xác nhất có thể.
Luận văn sẽ trình bày ứng dụng của phần mềm trong xây dựng một bài giảng
môn Toán về giải phương trình, hệ phương trình trong chương trình THPT, đặc biệt

là áp dụng đồ thị để giải phương trình, hệ phương trình. Bên cạnh đó sẽ là các kiến
thức về khảo sát hàm số, cũng như nhóm thừa số chung.
Với ứng dụng này, các giáo viên có thể tự xây dựng bài giảng của mình dễ
dàng, học sinh cũng có thể tìm ra lời giải một cách nhanh chóng.
III. Các luận điểm cơ bản và đóng góp mới của tác giả
Về lý thuyết, luận văn chỉ trình bày các dạng bài toán quen thuộc và ứng
dụng để giải quyết, xây dựng một bài giảng cho giáo viên dạy Toán THPT. Nhưng
bên cạnh đó, tác giả cũng chỉ ra thêm các phương pháp, hướng đi để giải quyết một
số dạng bài toán liên quan, nhất là các bài toán giải bằng phương pháp hàm số, sử
dụng đồ thị.
IV. Phƣơng pháp nghiên cứu
-

Tham khảo và dịch các tài liệu tiếng Anh

-

Tìm hiểu qua giáo trình cơ bản được học

-

Tìm hiểu qua thực tế giảng dạy THPT

-

Tổng hợp và trình bày.

2



CHƢƠNG I : TỔNG QUAN VỀ MATLAB
1. Tổng quan
MatLab (MATrix LABoratory) được thiết kế bởi công ty MathWorks là một
ngôn ngữ lập trình bậc cao chuyên sử dụng cho các tính toán kỹ thuật, đặc biệt là
các bài toán có dạng ma trận hoặc vectơ. MatLab tích hợp các tính toán, đồ họa và
lập trình trong một môi trường thân thiện, cho phép thể hiện các bài toán và nghiệm
dưới dạng các ký hiệu toán học quen thuộc kỹ thuật như
o Toán học và tính toán
o Xây dựng các thuật toán
o Thu thập dữ liệu
o Mô phỏng, đồ họa ...
-

Matlab có thể được mở rộng môi trường để xử lý một số bài toán về
o Xử lý tính hiệu
o Các lệnh điều khiển
o Logic ...

2. Tổ chức trong Matlab
2.1 Biến (Variables)
- Matlab không yêu cầu khai báo biến cũng như số chiều. Trong matlab, một
biến được khai báo và khởi tạo thông qua lệnh gán.
- Quy tắc đặt tên biến
Tên biến là dãy ký tự (31 ký tự), (không chứa dấu cách)
Tên biến gồm chữ cái, chữ số, dấu gạch dưới (bắt đầu bằng chữ cái)
Tên biến phân biệt chữ hoa và chữ thường.
Ví dụ :
>> number = 98
number =
98

2.2 Số (numbers) và các toán tử
2.2.1 Số (Numbers)

3


- MatLab sử dụng ký hiệu thập phân theo qui ước với số chữ số tùy chọn và
các dấu +,- cho các số. Ký hiệu khoa học sử dụng chữ cái e cho lũy thừa của 10. Số
phức sử dụng các chữ i hoặc j cho đơn vị ảo
2.2.2 Các toán tử ( Operators)
Matlab sử dụng các toán tử thông dụng

Phép tính

Ký hiệu

Phép cộng

+

Phép trừ

-

Phép nhân

*

Phép chia phải


/

Phép chia trái

\

Lũy thừa

^

Lớn hơn

>

Nhỏ hơn

<

2.3 Biểu thức
2.3.1 Biểu thức số học
Biểu thức số học là một biến kiểu số hoặc một hằng số hoặc các biến kiểu số và các
hằng liên kết với nhau bởi một số hữu hạn các phép toán , các dấu (, ) tạo thành một
biểu thức dạng tương tự như cách viết trong toán học với một số quy tắc sau:
- Chỉ dùng dấu ngoặc trong để xác định trình tự thực hiện của các phép toán.
- Viết lần lượt từ trái qua phải
- Không được bỏ qua dấu * trong tích
- Thứ tự ưu tiên phép toán :
+ Tính đại lượng trong ngoặc
+ Tính phép toán lũy thừa
+ Tính phép toán *, /, thực hiện từ trái qua phải

+ Tính phép toán +, - , thực hiện từ trái qua phải

4


2.3.2 Biểu thức quan hệ
Hai biểu thức cùng kiểu liên kết với nhau bởi phép toán quan hệ cho một
biểu thức quan hệ
- Dạng của biểu thức quan hệ
<Biểu thức 1> <Phép toán quan hệ> <Biểu thức 2>
Ví dụ
X<6
A +2 > = 4+B
- Sự thực hiện của biểu thức quan hệ:
+ Tính giá trị của biểu thức 1, biểu thức 2
+ Thực hiện phép toán quan hệ
- Kết quả của biểu thức quan hệ là Đúng (1) hoặc Sai (0)
2.4 Hàm (Functions)
Matlab cung cấp một số lượng rất phong phú các hàm toán học sơ cấp cũng
như cao cấp
Một số hàm được cài sẵn (built-in functions) sử dụng rất hiệu quả nhưng ta
không biết được các tính toán chi tiết cũng như mã nguồn.
Các hàm khác ta có thể lập trình dưới dạng m-file, nhờ vậy ta có thể xem mã
nguồn hoặc chỉnh sửa cho phù hợp thực tế.
Nhiều hàm đặc biệt cho ta giá trị của các hằng số hữu ích
Một số hàm đặc biệt

Hàm

Giá trị


Pi

  3.1415

Eps

Số nhỏ nhất, dùng để cộng với 1 để được số nhỏ
nhất lớn hơn 1 (sai số 2-52)

Flops

Số phép chia toàn số thực

Inf

Số vô cùng lớn

NaN hoặc nan

Dùng để chỉ số không xác đinh như kết quả 0/0

5


i (và) j

i=j= 1

Realmin


Số nhỏ nhất có thể được của số thực

Realmax

Số lớn nhất có thể được của số thực

2.5 Vectơ
- Vectơ là một ma trận có một hàng hoặc một cột. Để khởi tạo vectơ hàng
chứa các giá trị rời rạc, các phần tử trong vectơ phải nằm trong cặp ngoặc vuông [ ]
và được ngăn cách bởi dấu phẩy "," hoặc khoảng trắng ␣
Ví dụ
>> vecto1=[2 -1 4]
vecto1 =
2

-1

4

>> vecto2=[3 -1 2]
vecto2 =
3

-1

2

>> vecto3=[vecto1 vecto2]
vecto3 =

2
-

-1

4

3

-1

2

Hàm linspace
*Cú pháp : y = linspace(a,b)
Y= linspace(a,b,n)
*Giải thích :
+ Hàm linspace tạo ra một vector với khoảng cách tuyến tính. Nó tương

tự như toán tử hai chấm ":", nhưng xác định trước số điểm chia n
+ hàm y = linspace(a,b) tạo ra một vecto hàng với 100 điểm cách đều
nhau bao gồm cả a và b.
-

Hàm logspace
*Cú pháp : y = logspace(a,b)
y = logspace(a,b,n)

6



y= logspace(a,pi)
*Giải thích
+ Hàm logspace tạo một vectơ vơi khoảng cách logarit
+ Hàm y = logspace(a,b) tạo ra một vectơ hàng gồm 50 điểm trong
khoảng 10a đến 10b .
+ Hàm y = logspace(a,b,n) tạo vectơ hàng với n điểm trong khoảng từ
10a đến 10b. Nếu n <2 thì trả về 10b.
+ Hàm y = logspace(a,pi) tạo các điểm giữa 10a và π, thường dùng trong
xử lý tín hiệu số.
Các thao tác với vectơ

-

+ Trích phần tử thứ i : X(i)
+ Trích nhiều phần tử : X(danh sách các vị trí)
Ví dụ :
>>

vecto = [-5:1:5]

vecto =
-5
4

-4

-3

-2


-1

0

1

2

3

5

>> vecto(4)
ans =
-2
>> vecto([1 6 8])
ans =
-5

0

2

+Xóa một phần tử trong vectơ, ta gán nó với vectơ rỗng
Ví dụ :
>> vecto([2 4])=[]
vecto =
-5


-3

-1

0

1

7

2

3

4

5


- Các phép toán trên vectơ
a.*b

: nhân từng từ

a.^b : trả về vectơ dạng (a_1^{b_1},...,a_n^{b_n})
a.^n : lũy thừa từng từ
a.\b

: chia trái


a./b

: chia phải

a & b : không nhầm lẫn với &&
a|b

: không nhầm lẫn với ||

~a

: phủ định

arrayfun(fn,a)

: tính giá trị hàm fn tại từng thành phần của a

isequal(a,b)

: Đúng nếu a, b giống nhau

ismember(a,b)

: Đúng khi mọi phần tử của a đều là phần tử của b

intersect(a,b) : Các phần tử chung của a và b (phép giao 2 tập hợp)
union(a,b)

: Tất cả các phần tử thuộc a hoặc b (phép hợp 2 tập hợp)


setdiff(a,b)

: Các phần tử thuộc a mà không thuộc b (hiệu 2 tập hợp)

setxor(a,b)

: Các phần tử không thuộc phần chung của a và b

2.6 Ma trận
Trong Matlab, ma trận được khởi tạo rất đơn giản. Cũng giống như vectơ,
ma trận tạo bằng cách nhập các phần tử của ma trận trong dấu [], mỗi hàng được
phân cách bởi dấu “;”.
Ví dụ :
>> A=[1 2 3;4 5 6;7 8 9]
A =
1

2

3

4

5

6

7

8


9

* Chú ý : khi nhập ma trận, số phần tử giữa các hàng phải bằng nhau, nếu
không Matlab sẽ báo lỗi.
- Các phép toán với ma trận

8


1. Phép toán giữa ma trận với số đơn
Matlab thực hiện phép toán giữa số đơn với ma trận bằng cách thực hiện
phép toán đó với lần lượt các phần tử của ma trận. Các phép toán đơn giản gồm có
phép cộng, phép trừ, phép nhân, phép chia.
Ví dụ :
>> A+3

%cộng các phần tử của ma trận với 3

ans =
4

5

6

7

8


9

10

11

12

>> 3*A + 2

%nhân 3 vào A rồi cộng thêm 2

ans =
5

8

11

14

17

20

23

26

29


2.Phép toán giữa các ma trận
Thực hiện các phép toán giữa các ma trận không đơn giản như trên, mà còn
bị phụ thuộc vào các điều kiện số hàng của ma trận trước bằng số cột ma trân sau
Với hai ma trận C = [c11 c12 ... c1n; c21 c22 ..c2n; ...; cn1 cn2 ... cnn]
D = [d11 d12 ... d1n; d21 d22 ... d2n; dn1 dn2 ... dnn]
*Phép cộng
- Cú pháp : >>C + D
- Ví dụ
>> C=[1 3 5 7;2 3 -4 7;1 0 -2 4; 2 2 4 9];
>> D=[3 -2 5 -6;1 0 2 3;4 -3 0 2;1 3 0 -2];
>> C+D
ans =
4

1

10

1

3

3

-2

10

9



5

-3

-2

6

3

5

4

7

*Phép nhân
- Cú pháp : >>C.*D
- Ví dụ
>> C=[1 3 5 7;2 3 -4 7;1 0 -2 4; 2 2 4 9];
>> D=[3 -2 5 -6;1 0 2 3;4 -3 0 2;1 3 0 -2];
>> C.*D
ans =
3

-6

25


-42

2

0

-8

21

4

0

0

8

2

6

0

-18

*Chia phải ma trận
- Cú pháp : >>C./D
Ans=

C11/d11 c12/d12 ... c1n/d1n
C21/d21 c22/d22 ... c2n/d2n
...
Cn1/dn1 cn2/dn2 ... cnn/dnn
Ví dụ :
>> C=[1 3 5 7;2 3 -4 7;1 0 -2 4; 2 2 4 9];
>> D=[3 -2 5 -6;1 0 2 3;4 -3 0 2;1 3 0 -2];
>> C./D
ans =
0.3333

-1.5000

2.0000

Inf

0.2500

0

2.0000

0.6667

1.0000
-2.0000
-Inf
Inf


10

-1.1667
2.3333
2.0000
-4.5000


*Chia trái ma trận
- Cú pháp : >>C.\D
Ans=
C11\d11 c12\d12 ... c1n\d1n
C21\d21 c22\d22 ... c2n\d2n
...
Cm1\dm1 cm2\dm2 ... cmn\dmn
Ví dụ :
>> C=[1 3 5 7;2 3 -4 7;1 0 -2 4; 2 2 4 9];
>> D=[3 -2 5 -6;1 0 2 3;4 -3 0 2;1 3 0 -2];
>> C.\D
ans =
3.0000

-0.6667

0.5000
4.0000
0.5000

0
-Inf

1.5000

1.0000

-0.8571

-0.5000

0.4286

0

0.5000

0

-0.2222

2.7 Các hàm giải phƣơng trình
a/ Hàm conv
Công dụng : Dùng để nhân hai đa thức
Cú pháp :
>>y1=[an an-1 ... a0] %nhập hệ số của đa thức y1
>>y2=[bn bn-1 ... b0] %nhập hệ số của đa thức y2
>>y3=conv(y1,y2)
Ví dụ
>> y1=[1 4 6 -3 5 7];
>> y2=[0 -2 4 5 7 2 4 2];
>> y3=conv(y1,y2)
y3 =


11


0
62

96

-2

59

28

-4

9

38

57

38

45

14

Kết quả :

y3(x) = 0x12 –2x11 –4x10 +9x9 +57x8 +38x7 +45x6 +62x5 +96x4 +59x3 +28x2
+38x1 +14x
b/ Hàm deconv
Công dụng : Chia hai đa thức
Cú pháp :
>>y1=[an an-1 ... a0] %nhập hệ số của đa thức y1
>>y2=[bn bn-1 ... b0] %nhập hệ số của đa thức y2
>>y3=deconv(y1,y2)
Ví dụ
>> y1=[1 4 6 -3 5 7 5];
>> y2=[ -2 5 2 4 2];
>> [q,r]=deconv(y1,y2)
q =
-0.5000

-3.2500

-11.6250

r =
0

0

0

63.6250

42.2500


28.2500
c/ Hàm roots
Công dụng : Tìm nghiệm của phương trình bậc cao
Cú pháp :
>>y=[an an-1 ... a0] %nhập các hệ số theo bậc giảm dần của pt
>>kq=roots(y)
Ví dụ : Giải phương trình x4 – 4x3 + 3x – 2 = 0
>> y=[1 -4 0 3 -2];
>> kq=roots(y)
kq =

12

60.0000


3.8312 + 0.0000i
-1.0000 + 0.0000i
0.5844 + 0.4248i
0.5844 - 0.4248i

2.8 Các hàm Số học
a/ Hàm gdc:
Công dụng: Tìm USCLN của hai số nguyên
Cú pháp: a=gdc(b,c)
b/Hàm lem(x,y)
Công dụng: Tìm BCNN của hai số nguyên
Cú pháp z=lem(x,y)
c/ Hàm ceil
Công dụng: Làm tròn về phía số nguyên lớn hơn

Cú pháp: y=ceil(x)
d/ Hàm rem
Công dụng: Cho phần dư của phép chia
Cú pháp: r=rem(a,b)
e/ Hàm round
Công dụng: Làm tròn số gần số nguyên nhất
Cú pháp: t=round(x)
f/ Hàm floor
Công dụng: Làm tròn về số nguyên nhỏ hơn
Cú pháp: t=floor(x);
g/ Hàm fix
Công dụng: Làm tròn về không
Cú pháp: y=fix(x)
h/ Hàm sign
Công dụng: Xét dấu số thực

13


Cú pháp:d=sign(x)
i/ Hàm abs
Công dụng : Cho giá trị tuyệt đối
Cú pháp : a=abs(x)
j/ Hàm sqrt
Công dụng : Tính căn bậc hai
Cú pháp : a=sqrt(x)
2.9 Các hàm Lƣợng giác
Hàm

Ý nghĩa


cos(x)

Hàm cosine của x

sin(x)

Hàm sine của x

tan(x)

Hàm tang x

acos(x)

Hàm ngược của cosine

asin(x)

Hàm ngược của sine

atan(x)

Hàm ngược của tan

cosh(x)

Hàm nghịch đảo của hyperbolic cosine

coth(x)


Hàm cotang hyperbolic

2.10 Các hàm Giải tích
2.10.1 Các hàm giải tích cơ bản
a. Hàm exp
Công dụng: Tính giá trị ex
Cú pháp: y=exp(x)
b. Hàm log
Công dụng: Tính logarithm cơ số e
Cú pháp: y=log(x)
c. Hàm log2
Công dụng: Tìm logarithm cơ số 2
Cú pháp: y=log2(x)

14


d. hàm log10
Công dụng: Tìm logarithm cơ số 102
Cú pháp: y=log10(x)
2.10.2 Tính đạo hàm
a. hàm polyder
+ Tính đạo hàm của hàm đa thức
Cú pháp : >>y =[an an-1 ... a0]
>>q=polyder(y)
Ví dụ : Tính đạo hàm y = x4 – 4x2 + x – 1
>> y=[1 0 -4 1 -1];
>> q=polyder(y)
q =

4

0

-8

1

+ Tính đạo hàm của hàm phân thức hữu tỷ
Cú pháp : >>y1=[an an-1 … a0];
>>y2=[bn bn-1 ... b0];
>>[q,r]= polyder(y1,y2)
Trong đó: q là tử số; r là mẫu số

x2  x  2
Ví dụ : Tính đạo hàm y 
3x  5
>> y1=[1 -1 2];
>> y2=[3 5];
>> [q,r]=polyder(y1,y2)
q =
3

10

-11

9

30


25

r =

b. Hàm diff
Cú pháp : >>syms f(x)

% tạo biến đặc trưng

15


>>df=diff(f)
>>diff(f,2) %tính đạo hàm cấp 2 của f(x)
Ví dụ : tính đạo hàm của hàm y = sin2x
>> syms x;
>> f=sin(2*x);
>> df=diff(f) %Tính đạo hàm cấp 1
df =
2*cos(2*x)
>> df2=diff(f,2)

% Tính đạo hàm cấp 2

df2 =
-4*sin(2*x)
2.10.3 Tính tích phân
Cú pháp : >>int(f);
- Hàm int(f) sẽ tìm một tích phân theo các biến độc lập mặc định

- Hàm int(f,s) sẽ tìm lấy tích phân theo biến đặc trưng s
- Hàm int(f,a,b) tìm tích phân theo biến độc lập mặc định theo cận từ a đến b
- Hàm int(f,s,a,b) tìm tích phân theo biến đặc trưng s lấy cận từ a đến b
Ví dụ : Tính tích phân
>> syms x k
>> f=exp(-(k*x)^2)
f =
exp(-k^2*x^2)
>> int(f,x,0,1)
ans =
(pi^(1/2)*erf((k^2)^(1/2)))/(2*(k^2)^(1/2))
2.11 : Đồ thị
2.11.1 : Đồ thị 2D
a. Cú pháp : >>plot(x,y)

16


>>plot(x,y,‟linetype‟)
Trong đó : linetype là kiểu phần tử tạo nét, bao gồm 3 thành phần
+ Thành phần 1: Là các ký tự chỉ màu sắc
B: Xanh gia trời

G: Xanh lá cây;

R: Màu đỏ; C: Màu xám

m: đỏ tím

y: Vàng


k: đen

xanh
w: trắng

+ Thành phần 2: Các ký tự chỉ nét vẽ
-: Nét liền;

-. Gạch chấm

: Đường chấm;

-- đường gạch-gạch

+ Thành phần 3:
Biểu tượng

Dấu

Biểu tượng

Dấu

.

Điểm

v


Triangle(down)

0

Tròn

^

Triangle(up)

X

Dấu x

<

Triangle(left)

+

Dấu +

>

Triangle(right)

*

Sao


p

Pentgram

S

Vuông

H

Hexagam

D

Diamond
b. Ví dụ : Vẽ đồ thị hàm số y = cosx với đồ thị màu đỏ, nét liền, đánh

dấu các điểm chọn bởi dấu *, trục thay đổi từ 0 đến 2  , với số phần của x là 30
>> x=linspace(0,2*pi,30);
>> y=cos(x);
>> plot(x,y,'r-*');
Kết quả :

17


c. Để vẽ nhiều đồ thị trong một cửa sổ, sử dụng lệnh
>> subplot(m, n, p)
Lệnh này sẽ tạo ra một ma trận m hàng, n cột chứa m x n đồ thị, p là vị trí
từng đồ thị, thứ tự từ trên xuống dưới.

2.11.2 : Đồ thị 3D
a. Cú pháp : >> plot3(x, y, z)
Trong plot3 ta cần xác định các vecto (x, y, z). Để vẽ mặt z=f(x,y) sử
dụng lệnh >> meshgrid(x,y)
b. Ví dụ :
>> t = 0:0.02*pi:25*pi;
>> x = sin(t); y = cos(t);
>> z = t;
>> plot3(x,y,z);

18


19


Chƣơng II : Lập trình trong Matlab
1. Chƣơng trình trong Matlab
Một chương trình Matlab thường được soạn thảo trong các M-File, script file
(các file có đuôi .m).
Để thực hiện các dòng lệnh trong file abc.m nào đó, ta vào cửa số làm việc
và gõ lệnh abc và gõ Enter
Lưu ý: Lúc này đường dẫn tới thư mục chứa file abc.m (và các file liên quan)
phải được khai báo trong Current Dierctory của Matlab. Khi khởi động thư mục này
mặc định là Work trong phần cài đặt Matlab (thường là C:\Matlab\Work)
2.Các dòng lệnh, các lệnh truy xuất
2.1 Các dòng lệnh
Giống như các ngôn ngữ lâp trình khác, trong Matlab nhiều dòng lệnh có thể
đặt trên cùng một hàng và cách nhau bởi dấu phẩy (,) hoặc dấu chấm phẩy (;).
Trong đó :

- Dấu phẩy (,) yêu cầu Matlab thể hiện kết quả ra màn hình.
- Dấu chấm phẩy (;) không cho phép hiện kết quả ra màn hình.
Ví dụ
>> x=3*sqrt(2)+5 , y=1+sin(x);
x =
9.2426
- Khi các câu lệnh quá dài, ta có thể dùng dấu ba chấm (...) để tiếp tục nhập
câu lệnh xuống dòng dưới. Phép tính thực hiện khi dấu (...) ngăn cách giữa toán tử
và biến.
Ví dụ :
>> S= 1+2+3-4-5-6+...
7-8+10
S =
0
2.2 Câu lệnh chú thích

20


- Câu lệnh chú thích bao gồm tất cả các ký tự trên cùng một hàng và nằm sau
dấu %.
- Câu lệnh chú thích không thực hiện mà chỉ để giải thích cho người lập trình
hiểu hơn về các dòng lệnh.
Ví dụ :
>> sqrt(4) %căn bậc hai của 4
ans =
2
2.3 Lệnh gán
Lệnh gán có dạng giống như nhiều ngôn ngữ lập trình khác: tên_biến:=giá trị
biểu thức. Đặc biệt, tên biến không cần phải khai báo trước mà cũng không cần

cùng kiểu dữ liệu với kiểu dữ liệu biểu thức.
Ví dụ
>> x=3;y=-10;
>> z=x*y;t=x+y;
>> u=z*t
u =
210
2.4 Câu lệnh vào/ra dữ liệu
2.4.1 Lệnh đƣa dữ liệu vào
Để đưa dữ liệu vào ta sử dụng lệnh input
a. Công dụng: Dùng để nhập vào một giá trị
b. Cú pháp:
tên_biến=input(„promt‟)
tên_biến=input(„promt‟,‟s‟)
c. Giải thích
tên_biến: là nơi chứa dữ liệu nhập vào
„promt‟ : Chuỗi ký tự muốn nhập vào
„s‟: Cho biết giá trị nhập vào bao nhiêu ký tự.

21


Ví dụ :
>> a=input('nhap gia tri cua a : ')
nhap gia tri cua a : 2016
a =
2016
2.4.2 Lệnh đƣa dữ liệu ra màn hình
Để đưa dữ liệu ra màn hình ta sử dụng lệnh Disp
a. Công dụng: trình bày nội dung của biến x ra màn hình

b. Cú pháp: >>disp(x)
c. Giải thích: x là tên một ma trận hoặc tên của một biến chứa chuỗi ký tự
Ví dụ :
>> hoten=('Thinh Van Nghia');
>> disp(hoten)
Thinh Van Nghia
>> ngaysinh=('20/07/1988');
>> disp(ngaysinh)
20/07/1988

2.4.3 Lệnh function
a. Công dụng: Tạo thêm hàm mới
b. Cú pháp: function s=n(x)
c. Giải thích:
s: tên biến chứa giá trị trả về sau khi thi hành hàm
n: tên gợi nhớ
x: các dữ liệu vào
Chú ý :
- Tên hàm và tên file là một. Ví dụ hàm chuyển phải được lưu trong file vơi
tên chuyen.m

22


×