1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

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

74 172 1

Đ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 74
Dung lượng 1,04 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

dưới dạng các ký hiệu toán học quen thuộc kỹ thuật như

- 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

Trang 7

4

- 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

- 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

Trang 8

5

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)

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

Trang 9

6

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

+ 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)

Trang 10

7

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

Trang 11

8

- 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 “;”

Trang 12

9

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

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

Trang 14

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

Trang 15

12

0 -2 -4 9 57 38 45

62 96 59 28 38 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

Trang 19

16

>>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

- 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

Trang 20

17

>>plot(x,y,‟linetype‟) Trong đó : linetype là kiểu phần tử tạo nét, bao gồm 3 thành phần

Trang 21

18

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)

Trang 22

19

Trang 23

20

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

Trang 24

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ự

Trang 25

22

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

Trang 26

23

- Hàm M_file không được nhập vào từ cửa sổ lệnh mà thong qua một trình soạn thảo văn bản từ ngoài

- Khi Matlab thực hiện lần đầu hàm M_file, nó sẽ mở file văn bản tương ứng

và dịch các dòng lệnh của file đó ra một dạng mã lưu trong bộ nhớ nhằm mục đích tăng tốc độ thực hiện các lời gọi tiếp theo Nếu trong hàm có chứa lời gọi M_file khác thì các hàm đó cũng được dịch vào bộ nhớ

- Mỗi hàm có một không gian làm việc riêng tách biệt so với môi trường Matlab, mối quan hệ duy nhất giữa các biến trong hàm với môi trường Matlab là các biến vào và ra của hàm đó

3.Cấu trúc điều khiển

3.1 if elseif else

a Công dụng : Thực hiện khi thỏa mãn điều kiện

b Cú pháp:

if biểu thức điều kiện 1

thực hiện công việc 1 elseif biểu thức điều kiện 2

thực hiện công việc 2 else

thực hiện công việc 3 end

Trang 27

24

Khi biểu thức điều kiện 1 nhận giá trị sai thì kiểm tra biểu thức điều kiện 2 nếu đúng thì thực hiện công việc 2 rồi kết thúc, ngược lại thực hiện công việc 3 rồi kết thúc

3.2 Câu lệnh swich- case

a Công dụng: Khi một chuỗi các lệnh đánh giá dựa trên một biểu thức hoặc

biểu thức điều kiện với nhiều giá trị thử khác nhau

- Biểu thức điều kiện: Phải dạng số hoặc chuỗi

- Giá trị thứ 1,… giá trị thứ n: Phải dạng chuỗi hoặc số

d Nguyên lý hoạt động

Khi gặp câu lệnh swich – case thì lệnh case sẽ so sánh giá trị của biểu thức điều kiện với giá trị thứ I nếu đúng thì thực hiện khối lệnh I rồi kết thúc câu lệnh swich – case Ngược lại lệnh case sẽ so sánh với giá trị thử i+1

Trang 28

25

Nếu trong các giá trị thử sau từ khóa case không có giá trị nào thỏa mãn giá trị của biểu thức điều kiện thì sẽ đi thực hiện khối lệnh n+1( sau otherwise) rồi thoát

for biến điều khiển= giá trị đầu: giá trị cuối

thực hiện công việc;

a Công dụng: Dùng để thực hiện một công việc cần lặp đi lặp lại theo 1 quy

luật nào đó với bước lặp không xác định, phụ thuộc vào biểu thức điều kiện

Trang 29

26

Thực hiện công việc : là các lệnh cần thi hành, có thể có nhiều lệnh, kết thúc lệnh phải có dấu chấm phẩy

d Nguyên lý hoạt động:

Bước 1: Kiểm tra biểu thức điều kiện

Bước 2: Nếu biểu thức điều kiện có giá trị sai thì thoát khỏi while

Bước 3: Thực hiện công việc

Bước 4: Quay lại bước 1

Trang 30

27

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

1.1 Các loại phương trình giải gần đúng

1.1.1 Giải phương trình theo phương pháp dây cung

a Điều kiện hội tụ

1) f và f‟ liên tục trên [a,b]

2) f‟ và f‟‟ không đổi dấu trên [a,b];

err=x2-x1;

iteration=[it_count x1 fx1 err]

Trang 31

28

pause x0=x1; x1=x2; fx0=fx1;

end

if it_count>maxiter

disp(‘ ……… ’) disp(‘ ……… ’) disp(‘ ……… ’) else

format long root=x2;

format short e err

format short it_count end

end

1.1.2 Giải phương trình theo phương pháp chia đôi

a Nội dung phương pháp

Giả sử (a,b) là khoảng cách ly nghiệm của phương trình (3.1) Nội dung của phương pháp chia đôi như sau:

Chia đôi khoảng (a,b)

mà tại hai nút của khoảng hàm số f(x) có khác dấu nhau, làm khoảng cách ly

nghiệm mới Ta gọi khoảng này là (a1,b1), có độ dài là: 1 1 1( )

2

Lại chia đôi khoảng (a1,b1) và tiếp tục làm lại như trên

Trang 32

29

b Sự hội tụ của phương pháp

Nếu thực hiện vô số lần phương pháp chia đôi với khoảng (a,b) thì hoặc tại một lần nào đó, điểm giữa của khoảng là nghiệm đúng của phương trình (3.1) hoặc

ta nhận được một dãy vô hạn các khoảng chồng lên nhau và thu nhỏ dần (a1,b1), (a2,b2), sao cho f(an)f(bn) <0 (3.2)

% tham so root: Nghiem sai so

% tham so ep: sai so cho phep

% tham so max_iterate: la so lan lap cho truoc (toi da)

% tham so index_f: xac dinh motj ham cuj the nao do

ma ham nay duoc dinh nghia trong chuong trinh tao ham ban dau

Trang 34

31

Value=x-exp(-x) Case 3

% tao file ctchiadoi1.m de chay chuong trinh

Clear all,clc

A0=1; b0=2; exp=0.0001; max_iterate=10; index_f=1; Root=chiadoi1(a0,b0,ep,max_iterate,index_f);

1.1.3 Giải phương trình theo phương pháp pháp tuyến

a Điều kiện hội tụ

- f, f‟ liên tục trên [a,b]

- f, f‟ không đổi dấu trên [a,b]

- Chọn xấp xỉ đầu x0[ , ]a b sao cho f(x0).f‟‟>0

b Tính nghiệm gần đúng x n (n là số lần lặp cho trước)

- Chọn xấp xỉ ban đầu x0=a nếu f(a).f‟‟> 0 ngược lại chọn x0=b

1 1

Trang 35

1 1

Trang 36

33

else

format long root=x1;

format sort e err

format short it_count end

- Nếu a   b 0: phương trình có vô số nghiệm

- Nếu a  0; b  0 : phương trình vô nghiệm

- Nếu a  0 : phương trình có nghiệm duy nhất b

x a

if b~=0

disp('ptvn') else

disp('ptvsn')

Trang 37

34

end end

- Nếu   0: phương trình vô nghiệm thực

- Nếu   0: phương trình có nghiệm kép

2

b x

Ngày đăng: 15/07/2017, 23:27

HÌNH ẢNH LIÊN QUAN

Bảng biến thiên : - 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ảng bi ến thiên : (Trang 56)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w