1. Trang chủ
  2. » Giáo án - Bài giảng

Tai lieu phương pháp tinh và Matlab đại học bách khoa

158 257 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 158
Dung lượng 2,73 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ài giảng Phương pháp tính và Matlab do giảng viên trường đại học Bách Khoa HN biên soạn. Bài giảng sẽ cung cấp tới cho sinh viên các trường kỹ thuật,, cũng như trường đại học Bách khoa những kiến thức cơ bản, các ví dụ cụ thể dễ hiểuChúc các bạn sinh viên sẽ đạt kết quả tốt môn học này.

Trang 1

MATLAB CƠ BẢN

Gv: Đỗ Đức Tâm.

Trang 2

1 Matlab là gì?

MATLAB (Matrix Laboratory) là phần mềm cung cấp môi trường tínhtoán số và lập trình, do công ty MathWorks thiết kế MATLAB cho phéptính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thựchiện thuật toán, tạo các giao diện người dùng và liên kết với những

chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác

Trang 3

2 Các thành phần cửa sổ làm việc của Matlab

Trang 4

2 Các thành phần cửa sổ làm việc của Matlab

1 Current Folder ( Thư mục hiện thời) Chứa các tập tin mà matlabđang làm việc Khi muốn thực thi một tập tin ".m", người dùng phảichắc chắn rằng tập tin đó được chứa trong thư mục này

2 Command Window ( Cửa sổ dòng lệnh thao tác trực tiếp) Ở chế độnày, sau khi gõ câu lệnh và thực thi ( nhấn enter), kết quả sẽ đượchiện thị ngay trong cửa sổ lệnh Nếu không muốn in kết quả ta thêmdấu ";" vào cuối câu lệnh

3 Editor: Soạn thảo chương trình do người dùng lập ra

4 Workspace: Chứa danh sách các biến đã được khai báo và sử dụngtrong chương trình Tại đây, ta có thể xem được tên, giá trị, kíchthước và có thể sửa giá trị của biến

5 Command History: Chứa tất cả các câu lệnh được thực thi trongCommand Window Kích đúp vào câu lệnh để thực thi lại

Trang 5

3 Biến và các thao tác của biến.

3.1 Biến trong Matlab

Biến có thể dài 31 kí tự và phải bắt đầu bằng chữ

Matlab phân biệt chữ thường và chữ hoa

Sử dụng dấu "=" để định nghĩa biến

Tên biến có thể trùng với hàm có sẵn, khi đó hàm không còn được sửdụng được đến khi biến bị xóa

Ví dụ 1

Trang 6

3.2 Một số hàm liên quan đến biến:

clear: Xóa tất cả các biến

who:Hiển thị các biến trong Workspace

clear name1, name2, : Xóa các biến có tên được khai báo

exist(’item’): Kiểm tra sự tồn tại của đối tượng ’item’

save (’FILENAME’,’VARIABLES’): lưu các biến vào file

load: Tải các biến vào workspace từ file

Trang 7

0: Chuyển vị ma trận, chuyển vị liên hợp phức.

(): xác định ưu tiên của các phép toán

Trang 8

3.4 Một số hàm cài đặt sẵn.

Để hiển thị danh sách các hàm toán học sơ cấp, nhập vào lệnh: "helpelfun", danh sách các hàm toán học nâng cao, nhập vào lệnh :"help

specfun", danh sách các hàm xử lý ma trận, nhập vào lệnh: "help elmat"

Ví dụ một số hàm thường gặp trong matlab

sqrt(x): căn bậc 2 của x

exp(x): hàm mũ cơ số e

abs(x): giá trị tuyệt đối của x

sign(x): hàm dấu (= 1 nếu x > 0; = −1 nếu x < 0; = 0 nếu x = 0).rem(x,y): số dư pháp chia x cho y

sum(v): tổng các phần tử của véc tơ v

prod(v): tích các phần tử của véc tơ v

mean(v): giá trị trung bình các phần tử véc tơ v

sin, cos, tan : các hàm lượng giác sin, cos, tan

Trang 9

4 Một số kiểu dữ liệu cơ bản trong MatLab

Trang 10

4.1 Véc tơ.

Để khởi tạo một véc tơ hàng chứa các giá trị liên tiếp hoặc cách nhau 1giá trị nhất định (bước nhảy), Matlab sử dụng toán tử ":", khi đó giá trịđầu và cuối của véc tơ không nhất thiết phải đặt trong dấu ngoặc vuông

Ví dụ:

Trang 11

4.1 Véc tơ.

Để khởi tạo một véc tơ cột, ta chuyển vị véc tơ hàng bằng toán tử " ’ "hoặc dùng dấu ";" để ngăn cách các phần tử

Ví dụ:

Trang 12

4.2 Chỉ số của véc tơ

Giá trị của một phần tử tại một vị trí bất kỳ trong véc tơ được truy xuấtthông qua chỉ số Trong Matlab, chỉ số luôn bắt đầu từ 1 và có thể là mộtgiá trị đơn hoặc một mảng

Một số lệnh làm việc với phần tử của véc tơ

X(k): lấy ra phần tử thứ k của véc tơ X

X([danh sách các vị trí]): lấy ra các phần tử ở các vị trí trong danhsách

X[k]=[]: xóa phần tử thứ k của véc tơ X

Ví dụ:

Trang 13

4.2 Chỉ số của véc tơ

Các thành phần của véc tơ có thể được truy xuất thông qua các biểu thứclogic

Biểu thứ logic thường được sử dụng với các hàm any, all và find

any: Kiểm tra xem có tồn tại một phần tử của véc tơ thoải mãn điềukiện nào đó không Kết quả trả về 1 nếu đúng và 0 nếu sai

all: Kiểm tra xem tất cả các phần tử của véc tơ thoải mãn điều kiệnnào đó không Kết quả trả về 1 nếu đúng và 0 nếu sai

find: Trả về chỉ số của véc tơ thỏa mãn một điều kiện nào đó

Trang 14

4.3 Các phép toán cơ bản trên véc tơ.

Giả sử a, b là hai véc tơ có cùng kích thước Ta có các phép toán cơ bảnsau:

Trang 15

5 Đa thức

5.1 Biểu diễn của đa thức trong Matlab

Một đa thức bao giờ cũng có dạng

f (x ) = anxn+ an−1xn−1+ + a1x + a − 0; (an6= 0)

Trong Matlab một đa thức được biểu diễn bởi một véc tơ hàng có cácthành phần là các hệ sơ theo thứ tự bậc giảm dần, kể cả hệ số 0 Ví dụ:

p = [85] biểu diễn đa thức 8x + 5;

p = [60 − 150] biểu diễn đa thức 6x2− 150;

Trang 16

5.1 Một số phép toán cở bản về đa thức trong Matlab

polyval(p,x): tính giá trị của đa thức p tại điểm x

r=roots(p): tìm nghiệm của đa thức p trả về cho véc tơ cột r

p=poly(r): tìm đa thức khi biết trước nghiệm

p+q: công hai đa thức p và q

c=conv(a,b): nhân hai đa thức a và b

q,r =deconv(u,v): chia đa thức u cho v, kết quả trả về q là đa thứcthương và r là đa thức dư

k=polyder(p): đạo hàm của đa thức p, kết quả trả về cho k

g=polyint(h,k): tính nguyên hàm của đa thức h, trong đó k là hằng

số tích phân, mặc định là 0

Trang 18

6.1 Nhập ma trận

Hàm "load filename.mat" đọc một ma trận từ "m-files"

Dùng lệnh "arr=xlsread(’filename.xlsx’)" để đọc dữ liệu từ excel

Trang 19

6.2 Chỉ số.

Quy tắc truy cập đến các phần tử của ma trận thông qua chỉ số:

Phần tử ở hàng i, cột j của ma trận A là A(i , j)

Ta cũng có thể tham chiếu tới phần tử mảng nhờ một chỉ số Phần

tử A(i , j ) ứng với A(k) với k = i + (j − 1)m

Trong Malab, chỉ số cuối cùng của hàng hay cột của ma trận hoặcvéc tơ có thể thay thế bởi end

Để chuyển từ chỉ số ma trận sang chỉ số mảng một chiều dùng lệnh:

Trang 21

6.2 Thao tác trên ma trận.

Matlab cho phép xóa dòng hoặc cột của ma trận bằng cách gán các giá trịrỗng cho hàng hoặc cột của ma trận Giá trị rỗng được kí hiệu là []

Trang 22

diag(X,k): Nếu X là một ma trận thì kết quả trả về véc tơ cột mà cácphần tử là đường chéo k của ma trận X.

diag(X): Nếu X là một ma trận thì kết quả trả về véc tơ cột mà cácphần tử là đường chéo chính của ma trận X

diag(diag(X)): Nếu X là một ma trận thì kết quả trả về là một matrận đường chéo, các phần tử là đường chéo chính của X

Trang 23

6.3 Các phép toán với ma trận

Det(A): tính định thức của ma trận vuông A

A+B: tổng của hai ma trận A và B

A-B: hiệu của hai ma trận A và B

A*B: tích của hai ma trận A và B

A.*B: nhân từng phần tử tương ứng của hai ma trận

X=A/B: chia hai ma trận (X*B=A)

inv(A): nghịch đảo của ma trận A

Trang 24

LẬP TRÌNH TRONG MATLAB

Gv: Ts Đỗ Đức Tâm.

Trang 25

Hàm và thủ tục trong Matlab

1 Thủ tục (Script)

Thủ tục là một khối các câu lệnh được thực hiện một cách tuần tự khi ta

gọi tên thủ tục đó Các biến được sử dụng là một phần của không gian

Trang 26

Hàm và thủ tục trong Matlab

1 Thủ tục (Script)

Thủ tục là một khối các câu lệnh được thực hiện một cách tuần tự khi ta

gọi tên thủ tục đó Các biến được sử dụng là một phần của không gian

Trang 27

Hàm và thủ tục trong Matlab

1 Thủ tục (Script)

Thủ tục là một khối các câu lệnh được thực hiện một cách tuần tự khi tagọi tên thủ tục đó Các biến được sử dụng là một phần của không gianlàm việc (Workspace)

Trang 28

Hàm và thủ tục trong Matlab

2 Hàm "m-files" trong Matlab (function)

-Hàm là chương trình sử dụng các tham số đầu vào/đầu ra để kết hợp

chúng với các hàm khác và các lệnh trong Command Window Các biến

được sử dụng trong hàm là các biến địa phương (các biến này không xuất

hiện trong Workspace)

-Tên hàm phải trùng với tên của file có đuôi ".m" Để sử dụng được hàm

"m-file" thì file này phải được đặt trong Current Folder

-Về cú pháp, dòng đầu tiên của hàm "m-files" bao giờ cũng có dạng:function [danh sách biến đầu ra]=tên hàm số ( danh sách biến đầuvào) Ví dụ

% hàm "m-files" khai báo hàm số exp(x )/xfunction z=exex(x)

z=exp(x)/xLưu file trên dưới tên exex.m Để sử dụng hàm m-file tính giá trị hàm số

đã cho tại x = 1 từ cửa sổ Command Window gõ lệnh:

exex(1)Chú ý: Trong Workspace không xuất hiện biến z do nó là biến địa phương

Trang 29

Hàm và thủ tục trong Matlab

2 Hàm "m-files" trong Matlab (function)

-Hàm là chương trình sử dụng các tham số đầu vào/đầu ra để kết hợp

chúng với các hàm khác và các lệnh trong Command Window Các biến

được sử dụng trong hàm là các biến địa phương (các biến này không xuất

hiện trong Workspace)

-Tên hàm phải trùng với tên của file có đuôi ".m" Để sử dụng được hàm

"m-file" thì file này phải được đặt trong Current Folder

-Về cú pháp, dòng đầu tiên của hàm "m-files" bao giờ cũng có dạng:function [danh sách biến đầu ra]=tên hàm số ( danh sách biến đầuvào) Ví dụ

% hàm "m-files" khai báo hàm số exp(x )/xfunction z=exex(x)

z=exp(x)/xLưu file trên dưới tên exex.m Để sử dụng hàm m-file tính giá trị hàm số

đã cho tại x = 1 từ cửa sổ Command Window gõ lệnh:

exex(1)Chú ý: Trong Workspace không xuất hiện biến z do nó là biến địa phương

Trang 30

Hàm và thủ tục trong Matlab

2 Hàm "m-files" trong Matlab (function)

-Hàm là chương trình sử dụng các tham số đầu vào/đầu ra để kết hợp

chúng với các hàm khác và các lệnh trong Command Window Các biến

được sử dụng trong hàm là các biến địa phương (các biến này không xuất

hiện trong Workspace)

-Tên hàm phải trùng với tên của file có đuôi ".m" Để sử dụng được hàm

"m-file" thì file này phải được đặt trong Current Folder

-Về cú pháp, dòng đầu tiên của hàm "m-files" bao giờ cũng có dạng:

function [danh sách biến đầu ra]=tên hàm số ( danh sách biến đầu

đã cho tại x = 1 từ cửa sổ Command Window gõ lệnh:

exex(1)Chú ý: Trong Workspace không xuất hiện biến z do nó là biến địa phương

Trang 31

Hàm và thủ tục trong Matlab

2 Hàm "m-files" trong Matlab (function)

-Hàm là chương trình sử dụng các tham số đầu vào/đầu ra để kết hợp

chúng với các hàm khác và các lệnh trong Command Window Các biến

được sử dụng trong hàm là các biến địa phương (các biến này không xuất

hiện trong Workspace)

-Tên hàm phải trùng với tên của file có đuôi ".m" Để sử dụng được hàm

"m-file" thì file này phải được đặt trong Current Folder

-Về cú pháp, dòng đầu tiên của hàm "m-files" bao giờ cũng có dạng:

function [danh sách biến đầu ra]=tên hàm số ( danh sách biến đầu

vào) Ví dụ

% hàm "m-files" khai báo hàm số exp(x )/x

function z=exex(x)

z=exp(x)/x

Lưu file trên dưới tên exex.m Để sử dụng hàm m-file tính giá trị hàm số

đã cho tại x = 1 từ cửa sổ Command Window gõ lệnh:

exex(1)Chú ý: Trong Workspace không xuất hiện biến z do nó là biến địa phương

Trang 32

Hàm và thủ tục trong Matlab

2 Hàm "m-files" trong Matlab (function)

-Hàm là chương trình sử dụng các tham số đầu vào/đầu ra để kết hợp

chúng với các hàm khác và các lệnh trong Command Window Các biến

được sử dụng trong hàm là các biến địa phương (các biến này không xuất

hiện trong Workspace)

-Tên hàm phải trùng với tên của file có đuôi ".m" Để sử dụng được hàm

"m-file" thì file này phải được đặt trong Current Folder

-Về cú pháp, dòng đầu tiên của hàm "m-files" bao giờ cũng có dạng:

function [danh sách biến đầu ra]=tên hàm số ( danh sách biến đầu

vào) Ví dụ

% hàm "m-files" khai báo hàm số exp(x )/x

function z=exex(x)

z=exp(x)/x

Lưu file trên dưới tên exex.m Để sử dụng hàm m-file tính giá trị hàm số

đã cho tại x = 1 từ cửa sổ Command Window gõ lệnh:

Chú ý: Trong Workspace không xuất hiện biến z do nó là biến địa phương

Trang 33

Hàm và thủ tục trong Matlab

2 Hàm "m-files" trong Matlab (function)

-Hàm là chương trình sử dụng các tham số đầu vào/đầu ra để kết hợpchúng với các hàm khác và các lệnh trong Command Window Các biếnđược sử dụng trong hàm là các biến địa phương (các biến này không xuấthiện trong Workspace)

-Tên hàm phải trùng với tên của file có đuôi ".m" Để sử dụng được hàm

"m-file" thì file này phải được đặt trong Current Folder

-Về cú pháp, dòng đầu tiên của hàm "m-files" bao giờ cũng có dạng:function [danh sách biến đầu ra]=tên hàm số ( danh sách biến đầuvào) Ví dụ

% hàm "m-files" khai báo hàm số exp(x )/x

function z=exex(x)

z=exp(x)/x

Lưu file trên dưới tên exex.m Để sử dụng hàm m-file tính giá trị hàm số

đã cho tại x = 1 từ cửa sổ Command Window gõ lệnh:

exex(1)

Chú ý: Trong Workspace không xuất hiện biến z do nó là biến địa phương

Trang 34

Nhập, xuất dữ liệu trong Matlab

Trang 35

Nhập, xuất dữ liệu trong Matlab

3 Nhập dữ liệu

Để nhập dữ liệu từ bàn phím trong Matlab ta dùng hàm input

Ví dụ

x=input(’Nhập vào số tuổi của bạn’) %nhập một số

s=input(’Nhập vào tên của bạn’)%nhập vào một xâu kí tự

-Cách nhập dữ liệu như là tham số đầu vào của một hàm m-file cũngthường xuyên được sử dụng trong Matlab

-Để nhập dữ liệu từ file dữ liệu ( ví dụ như file excel, file ảnh) trongMatlab còn sử dụng một số lệnh xlsread, importdata, fscanf

Trang 36

Nhập, xuất dữ liệu trong Matlab

3 Nhập dữ liệu

Để nhập dữ liệu từ bàn phím trong Matlab ta dùng hàm input

Ví dụ

x=input(’Nhập vào số tuổi của bạn’) %nhập một số

s=input(’Nhập vào tên của bạn’)%nhập vào một xâu kí tự

-Cách nhập dữ liệu như là tham số đầu vào của một hàm m-file cũngthường xuyên được sử dụng trong Matlab

-Để nhập dữ liệu từ file dữ liệu ( ví dụ như file excel, file ảnh) trongMatlab còn sử dụng một số lệnh xlsread, importdata, fscanf

Trang 37

Nhập, xuất dữ liệu trong Matlab

3 Nhập dữ liệu

Để nhập dữ liệu từ bàn phím trong Matlab ta dùng hàm input

Ví dụ

x=input(’Nhập vào số tuổi của bạn’) %nhập một số

s=input(’Nhập vào tên của bạn’)%nhập vào một xâu kí tự

-Cách nhập dữ liệu như là tham số đầu vào của một hàm m-file cũng

thường xuyên được sử dụng trong Matlab

-Để nhập dữ liệu từ file dữ liệu ( ví dụ như file excel, file ảnh) trongMatlab còn sử dụng một số lệnh xlsread, importdata, fscanf

Trang 38

Nhập, xuất dữ liệu trong Matlab

3 Nhập dữ liệu

Để nhập dữ liệu từ bàn phím trong Matlab ta dùng hàm input

Ví dụ

x=input(’Nhập vào số tuổi của bạn’) %nhập một số

s=input(’Nhập vào tên của bạn’)%nhập vào một xâu kí tự

-Cách nhập dữ liệu như là tham số đầu vào của một hàm m-file cũngthường xuyên được sử dụng trong Matlab

-Để nhập dữ liệu từ file dữ liệu ( ví dụ như file excel, file ảnh) trong

Matlab còn sử dụng một số lệnh xlsread, importdata, fscanf

Trang 41

Hàm fprintf sử dụng outFormat để chuyển outVariables thành các xâu kí tự

được in ra Xâu outFormat phải chứa mã chuyển đổi cho mỗi outVariables

Các mã chuyển đổi fprintf

Trang 42

Hàm fprintf sử dụng outFormat để chuyển outVariables thành các xâu kí tự

được in ra Xâu outFormat phải chứa mã chuyển đổi cho mỗi outVariables

Các mã chuyển đổi fprintf

Trang 43

%e dạng dấu chấm động trong kí hiệu khoa học %s dạng chuỗi

Ví dụ » x=3;

» fprintf(’can bac hai cua % d la % 8.6 f \ n’,x,sqrt(x))

can bac hai cua 3 la 1.732051

Trang 44

Cấu trúc điều kiện trong Matlab

5.1 Các toán tử quan hệ và logic

Bảng các toán tử quan hệ và logic:

Trang 45

Cấu trúc điều kiện trong Matlab

5.1 Các toán tử quan hệ và logic

Bảng các toán tử quan hệ và logic:

Trang 46

Cấu trúc điều kiện trong Matlab

5.2 Các cấu trúc điều kiện if, if else, elseif:

1) Cú pháp của if:

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

<khối lệnh>

end2) Cú pháp của if else:

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

if <biểu thức điều kiện1>

sprintf(’Day la sieu bao !’)end

Trang 47

Cấu trúc điều kiện trong Matlab

5.2 Các cấu trúc điều kiện if, if else, elseif:

if <biểu thức điều kiện1>

sprintf(’Day la sieu bao !’)end

Trang 48

Cấu trúc điều kiện trong Matlab

5.2 Các cấu trúc điều kiện if, if else, elseif:

sprintf(’Day la sieu bao !’)end

Ngày đăng: 24/07/2020, 09:52

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