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

Bài giảng tóm tắt Matlab căn bản (dành cho sinh viên khối tự nhiên - công nghệ): Phần 1

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 (577.09 KB, 10 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>TRƯỜNG ĐẠI HỌC ĐÀ LẠT </b>


<b>KHOA CÔNG NGHỆ THÔNG TIN </b>



<b> </b>


<b> </b>


<b> </b>


<b> </b>



<b>ThS. Thái Duy Quý </b>


<b> </b>



<b> </b>



<b>BÀI GI</b>

<b>ẢNG TÓM TẮT </b>



<b>MATLAB CĂN BẢN</b>



<b>Dành cho sinh viên kh</b>

<b>ối tự nhi</b>

<b>ên – công ngh</b>

<b>ệ</b>

<b> </b>


<b>(Lưu hành nội bộ) </b>



<b> </b>


<b> </b>


<b> </b>


<b> </b>


<b> </b>


<b> </b>


<b> </b>



<b> </b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<i>Giáo trình </i>

<i>Matlab căn bả</i>

<i>n </i>

<i>Thái Duy Quý </i>




<i>Trang 2 </i>



<b>LỜI NÓI ĐẦU </b>



Giáo trình “Matlab c

ăn bả

n”

đượ

c biên so

ạn theo chương

trình

đào tạ

o h

th

ng tín ch


c

ủa trường Đạ

i H

ọc Đà Lạ

t. M

ục đích biên soạ

n giáo trình nh

m cung c

p cho sinh viên


kh

i t

nhiên

, đặ

c bi

t là sinh viên ngành V

t lý h

t nhân nh

ng ki

ế

n th

ức cơ bả

n v

các



phương pháp xử

lý trên ngôn ng

Matlab.



Đây là họ

c ph

n l

ần đầu tiên đượ

c tri

n khai, gi

ng d

y, tuy tác gi

c

ũng có

nhi

u c



g

ng trong cơng tác biên so

ạn nhưng chắ

c ch

n giáo trình cịn có nhi

u thi

ế

u sót. Tác gi

xin


trân tr

ng ti

ế

p thu t

t c

nh

ng ý ki

ế

n

đóng góp củ

a các b

ạn sinh viên, các đồ

ng nghi

p


trong l

ĩnh vực này để

hoàn thi

n giáo trình, ph

c v

t

ốt hơn cho việ

c d

y và h

c cho sinh


viên.



<i>Đà Lạ</i>

<i>t, T</i>

<i>háng 08 năm 2013 </i>



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<i>Giáo trình </i>

<i>Matlab căn bả</i>

<i>n </i>

<i>Thái Duy Quý </i>



<i>Trang 3 </i>



<b>MỤC LỤC</b>



CHƯƠNG I. GIỚI THIỆU MATLAB ... 4


1. Giới thiệu... 4



2. Khởi động và chuẩn bịthư mục làm việc trong Matlab ... 4


3. Quản lý không gian làm việc của Matlab ... 5


4. Các thành phần của Mathlab ... 6


5. Các phím tắt cơ bản trong Matlab. ... 7


6. Các toán tửcơ bản của Matlab: ... 8


CHƯƠNG 2. MATLAB CƠ BẢN ... 11


1. Nhập xuất dữ liệu từ dòng lệnh ... 11


2. Nhập xuất dữ liệu từ bàn phím: ... 11


3. Nhập xuất dữ liệu từ file: ... 12


4. Các hàm toán học: ... 13


5. Các phép toán trên ma trận và vector: ... 16


6. Tạo số ngẫu nhiên: ... 18


7. Các lệnh dùng lập trình: ... 19


CHƯƠNG 3. XỬLÝ ĐỒ THỊ TRONG MATLAB ... 22


1. Khái niệm chung ... 22



2. Các lệnh vẽ ... 22


3. Tạo hình vẽ ... 22


4. Đặc tả kiểu đường vẽ ... 23


5. Đặc tảmàu và kích thước đường vẽ ... 23


6. Thêm đường vẽvào đồ thịđã có ... 25


7. Chỉ vẽcác điểm số liệu ... 25


8. Vẽcác điểm và đường ... 26


9. Vẽ với hai trục y ... 26


10. Vẽđường cong với số liệu 3D ... 27


11. Đặt các thông số cho trục ... 27


12. Ghi nhãn lên các trục toạđộ ... 28


13. Định vịvăn bản trên hình vẽ... 29


14. Đồ hoạđặc biệt ... 30


15. Đồ hoạ 3D ... 37


16. Vẽcác vectơ ... 40



CHƯƠNG 4. LẬP TRÌNH GIAO DIỆN NGƯỜI DÙNG (GUI) ... 44


1. Cách thực hiện ... 44


2. Lập trình giao diện với Blank GUI ... 45


3. Kéo thả và thiết lập thuộc tính cho các điều khiển ... 46


4. Viết lệnh cho chương trình ... 47


5. Các tính chất của các điều khiển trong GUIDE Matlab ... 49


6. Tổng quan về hàm Callback trong lập trình GUI ... 50


7. Chương trình Calculator ... 52


CHƯƠNG 5. MỘT SỐPHƯƠNG PHÁP XỬ LÝ TÍNH TỐN TRÊN MATLAB ... 55


1. Tính định thức của ma trận ... 55


2. Nghịch đảo ma trận bằng cách dùng Minor... 59


3. Nghịch đảo ma trận bằng thuật toán gauss-Jordan. ... 60


4. Lập trình giao diện: Giải phương trình bậc 2 ... 61


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<i>Giáo trình </i>

<i>Matlab căn bả</i>

<i>n </i>

<i>Thái Duy Quý </i>



<i>Trang 4 </i>




<b>CHƯƠNG I. GIỚI THIỆU MATLAB </b>



<b>1.</b>

<b>Gi</b>

<b>ới</b>

<b> thi</b>

<b>ệu</b>

<b> </b>



Matlab là t

vi

ế

t t

t c

a Matrix Laboratory, Matlab là m

t ngơn ng

l

p trình c

p cao


d

ng thơng d

ch, nó là mơi

trườ

ng tính tốn s

đượ

c thi

ế

t k

ế

b

i công ty MathWorks.


Matlab cho phép th

c hi

n các phép tính tốn s

, ma tr

n, v

đồ

th

hàm s

hay bi

u di

n


thông tin

(dướ

i d

ng 2D hay 3D), th

c hi

n các thu

t toán và giao ti

ế

p v

i các

chương

trình


c

a các ngơn ng

khác m

t cách d

dàng.



<b>2.</b>

<b>Kh</b>

<b>ởi</b>

<b>động</b>

<b> và chu</b>

<b>ẩn</b>

<b> b</b>

<b>ị</b>

<b>thư</b>

<b> m</b>

<b>ục</b>

<b> làm vi</b>

<b>ệc</b>

<b> trong Matlab </b>



Trướ

c khi kh

i

độ

ng Matlab, thì

ngườ

i dùng nên t

o m

t

thư

m

c làm vi

c

để

ch

a các


file

chương

trình c

a mình (Ví d

: D:\ThucHanh_DSP). Matlab s

thông d

ch các l

nh

đượ

c



lưu

trong file có d

ng *.m



Sau khi

đ

ã cài

đặ

t Matlab thì vi

c kh

i ch

y

chương

trình này ch

đơn

gi

n là nh

p vào


bi

u

tượ

ng c

a nó trên desktop

, ho

c vào Start\All Programs\Matlab 7.0.4\ Matlab.



</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<i>Giáo trình </i>

<i>Matlab căn bả</i>

<i>n </i>

<i>Thái Duy Quý </i>



<i>Trang 5 </i>



<b>3.</b>

<b>Qu</b>

<b>ản</b>

<b> lý không gian làm vi</b>

<b>ệc</b>

<b> c</b>

<b>ủa</b>

<b> Matlab </b>



Không gian làm vi

c c

a Matlab g

m có các ph

n

b

n sau:



<b>*Nút Start: </b>

góc

dướ

i bên trái c

a màn hình, cho phép ch

y các

ng d

ng m

u (demos),


các công c

và c

a s

chưa

hi

n th

khi kh

i

độ

ng Matlab.




<i>Ví d</i>

<i>ụ</i>

: Start/Matlab/Demos và ch

y m

t

ng d

ng m

u.



<b>* Cửa sổ lệnh: Quá trình kh</b>

i

độ

ng

đưa

ngườ

i dùng

đế

n C

a s

l

nh,

nơi

các dòng l

nh



đượ

c bi

u th

b

ng d

u '>>'.

Đây

là d

u hi

u cho th

y Matlab

đang

ch

đánh

m

t (câu) l

nh.


Có th

xóa tr

ng toàn b

c

a s

l

nh b

ng l

nh:

<i>>> clc ho</i>

c vào Edit/ Clear Command


Window. Khi th

c hi

n l

nh này, toàn b

giá tr

c

a các bi

ế

n hi

n có khơng thay

đổ

i hay


m

t

đi.



<b>* Cửa sổ không gian làm việc (workspace): </b>

Nơi

lưu

gi

các bi

ế

n và d

li

u do

ngườ

i


dùng nh

p vàongo

i tr

nh

ng bi

ế

n c

c b

thu

c v

m

t M-file.



Dùng l

nh 'who' ho

c 'whos'

để

li

t kê các bi

ế

n hi

n có trong không gian làm vi

c.

Để



bi

ế

t giá tr

c

a bi

ế

n, ta gõ tên bi

ế

n t

i d

u nh

c l

nh.

Để

xóa m

t hàm ho

c bi

ế

n kh

i khơng


gian làm vi

c, s

d

ng l

nh 'clear':



>> clear tên_bi

ế

n;



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<i>Giáo trình </i>

<i>Matlab căn bả</i>

<i>n </i>

<i>Thái Duy Quý </i>



<i>Trang 6 </i>



* C

a s

đị

a ch

thư

m

c hi

n th

i:

Thư

m

c hi

n th

i là

nơi

chương

trình Matlab s

tìm


các M-file, và các file không gian làm vi

c (.mat files)

đ

ã t

i và

lưu

l

i.



Để

t

o m

t file.m trong

thư

m

c làm vi

c b

n

đọ

c có th

th

c hi

n:


Nh

p vào bi

u

tượ

ng

ho

c vào

<i><b>File\New\M-File</b></i>

:




C

a s

so

n th

o xu

t hi

n, gõ

chương

trình c

n thi

ế

t vào file. Sau khi

đ

ã hoàn t

t


nh

n vào bi

u

tượ

ng

để

lưu

vào

thư

m

c hi

n t

i (D:\ThucHanh_Matlab).



Để

th

c thi t

p l

nh có trong file.m trong

thư

m

c làm vi

c thì

ngườ

i dùng ch

c

n gõ tên


file

đó

và Matlab s

t

độ

ng th

c thi các dịng l

nh có trong file.m này (ví d

để

th

c thi các


l

nh có trong file test.m, ch

c

n gõ l

nh test).



<b>4.</b>

<b>Các thành ph</b>

<b>ần</b>

<b> c</b>

<b>ủa</b>

<b> Mathlab </b>



</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<i>Giáo trình </i>

<i>Matlab căn bả</i>

<i>n </i>

<i>Thái Duy Quý </i>



<i>Trang 7 </i>



- Môi

<i>trườ</i>

<i>ng làm vi</i>

<i>ệ</i>

<i>c Matlab: </i>

Đây

là m

t b

các công c

phương

ti

n mà b

n s

d

ng


v

i

cách là

ngườ

i dùng ho

c

ngườ

i l

p trình Matlab. Nó bao g

m các

phương

ti

n cho


vi

c qu

n lý các bi

ế

n trong không gian làm vi

c Workspace c

ũng

như

xu

t nh

p kh

u d



li

u. Nó c

ũng

bao g

m các cơng c

phát tri

n, qu

n lý, g

r

i và

đị

nh hình M-file,

ng d

ng


c

a Matlab.



<i>- X</i>

<i>ử</i>

<i> lý </i>

<i>đồ</i>

<i> ho</i>

<i>ạ</i>

:

Đây

là h

th

ng

đồ

ho

c

a Matlab. Nó bao g

m các l

nh cao c

p cho tr

c


quan hoá d

li

u hai chi

u và ba chi

u, x

nh,

nh

độ

ng,... Nó c

ũng

cung c

p các l

nh


c

p th

p cho phép b

n tu

bi

ế

n giao di

n

đồ

ho

c

ũng

như

xây d

ng m

t giao di

n

đồ

ho



hồn ch

nh cho

ng d

ng Matlab c

a mình.



-

<i>Thư</i>

<i> vi</i>

<i>ệ</i>

<i>n toán h</i>

<i>ọ</i>

<i>c Matlab: </i>

Đây

là t

p h

p kh

ng l

các thu

t tốn tính tốn t

các hàm



b

n

như

c

ng, sin, cos, s

h

c ph

c... t

i các hàm ph

c t

p

hơn

như

ngh

ch

đả

o ma tr

n,


tìm tr

riêng c

a ma tr

n, phép bi

ế

n

đổ

i Fourier nhanh.




- Giao di

<i>ệ</i>

<i>n </i>

<i>chương</i>

<i> trình </i>

<i>ứ</i>

<i>ng d</i>

<i>ụ</i>

<i>ng Matlab API (Application Program Interface): </i>

Đây


m

t

thư

vi

n cho phép b

n vi

ế

t các

chương

trình C và Fortran

tương

thích v

i Matlab.


<b>Simulink, m</b>

t

chương

trình

đi

kèm v

i Matlab, là m

t h

th

ng

tương

tác v

i vi

c mô


ph

ng các h

th

ng

độ

ng h

c phi tuy

ế

n. Nó là m

t

chương

trình

đồ

ho

s

d

ng chu

t

để



thao tác cho phép mơ hình hố m

t h

th

ng b

ng cách v

m

t

đồ

kh

i trên màn hình. Nó


có th

làm vi

c v

i các h

th

ng tuy

ế

n tính, phi tuy

ế

n, h

th

ng liên t

c theo th

i gian, h



gián

đoạ

n theo th

i gian, h

đa

bi

ế

n...



<b>5.</b>

<b>Các phím t</b>

<b>ắt</b>

<b>cơ</b>

<b> b</b>

<b>ản</b>

<b> trong Matlab. </b>



Trong q trình so

n th

o l

nh, có th

dùng các phím t

t

sau đây

:



<b>Ký hiệu phím </b>

<b>Phím tắt </b>

<b>Chức năng </b>



<i>↑</i>

<i>Ctrl</i>

<i>‐</i>

<i>P </i>

G

i l

i l

ệnh trước đó



<i>↓</i>

<i>Ctrl</i>

<i>‐</i>

<i>N </i>

G

i l

nh sau



<i>←</i>

<i>Ctrl</i>

<i>‐</i>

<i>B </i>

Lùi l

i m

t kí t



<i>→</i>

<i>Ctrl</i>

<i>‐</i>

<i>F </i>

Ti

ế

n lên m

t kí t



</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<i>Giáo trình </i>

<i>Matlab căn bả</i>

<i>n </i>

<i>Thái Duy Quý </i>



<i>Trang 8 </i>



Ctrl

Crtl

L

Sang ph

i m

t t




home

Ctrl

A

V

đầ

u dòng


end

Ctrl

E

V

cu

i dịng



esc

Ctrl

U

Xố dịng



del

Ctrl

D

Xố kí t

t

i ch

con nháy đứ

ng


backspace

Ctrl

H

Xố kí t

trướ

c ch

con nháy đứ

ng



<b>6.</b>

<b>Các toán t</b>

<b>ử cơ</b>

<b> b</b>

<b>ản</b>

<b> c</b>

<b>ủa</b>

<b> Matlab: </b>



Các toán t

cơ bả

n:



+

C

ng

Tr



*

Nhân

/

Chia ph

i



\ Chia trái

^

Lu

th

a



Chuy

n v

ma tr

n hay s

ph

c liên h

p


Các toán t

quan h

:



<

nh

hơn

<=

nh

hơn hay bằ

ng



>

l

ớn hơn

>=

l

ớn hơn hoặ

c b

ng



==

b

ng

~=

khơng b

ng



Các tốn t

logic:




& và

|

or

~

not



Các h

ng:



<i>pi </i>

3.14159265

<i>i </i>

s

o



<i>j </i>

tương tự

i

<i>eps </i>

sai s

2

52



<i>realmin </i>

s

th

c nh

nh

t 2

1022

<i>realmax </i>

s

th

c l

n nh

t 21023



<i>inf </i>

vô cùng l

n

<i>NaN </i>

Not a number



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<i>Giáo trình </i>

<i>Matlab căn bả</i>

<i>n </i>

<i>Thái Duy Quý </i>



<i>Trang 9 </i>



<b>Lệnh </b>

<b>Chức năng </b>



<i>Clear </i>

Xóa t

t c

các bi

ế

n trong b

nh

Matlab


<i>clc </i>

L

nh xóa c

a s

l

nh (command window)



<i>pause </i>

Ch

s

đáp ứ

ng t

phía ngườ

i dùng



<i>= </i>

L

nh gán



<i>% </i>

Câu l

nh sau d

ấu này đượ

c xem là dịng chú thích


<i>input </i>

L

nh l

y vào m

t giá tr

.



Ví d

: x = input(‘Nhap gia tri cho x:’);


<i>help </i>

l

nh yêu c

u s

giúp đở

t

Matlab




<i>Save </i>

Lưu biế

n vào b

nh



Ví d

ụ: Save test A B C (lưu các biế

n A, B, C vào file test)


<i>Load </i>

Load bi

ế

n t

file hay b

nh

. Ví d

: Load test



Các l

ệnh điề

u khi

ển cơ bả

n:



<b>Lệnh </b>

<b>Cú pháp/ Chức năng </b>



If: R

2 nhánh

IF expression


statements



ELSEIF expression


statements



ELSE


statements


END



Switch: L

nh r

nhi

u nhánh

SWITCH switch_expr


CASE case_expr,


statement,..., statement



CASE {case_expr1, case_expr2, case_expr3,...}


statement,..., statement



...



</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

<i>Giáo trình </i>

<i>Matlab căn bả</i>

<i>n </i>

<i>Thái Duy Quý </i>




<i>Trang 10 </i>



statement,..., statement


END



L

nh l

p For

FOR variable = expr, statement,..., statement END


L

nh l

p While

WHILE expression



statements


END



Break

Thốt độ

t ng

t kh

i vịng l

p WHILE hay FOR.



Continue

B

qua các l

nh hi

n t

i, ti

ế

p t

c th

c hi

n vòng l

p



l

n l

p ti

ế

p theo.



Return

l

nh tr

v



M

t s

l

ệnh cơ bản trên đồ

th

:



<b>Lệnh </b>

<b>Chức năng </b>



<i>clf </i>

xóa hình hi

n t

i



<i>plot(signal) </i>

v

d

ng sóng tín hi

u signal



<i>stairs(signal) </i>

v

tín hi

u signal theo d

ng c

u thang.


<i>stem(signal) </i>

v

chu

i d

li

u r

i r

c




<i>bar(signal) </i>

v

d

li

u theo d

ng c

t



<i>mesh(A) </i>

hi

n th

đồ

h

a d

ng 3D các giá tr

ma tr

n


<i>Chi ti</i>

<i>ế</i>

<i>t các l</i>

<i>ệ</i>

<i>nh s</i>

<i>ẽ</i>

<i>đượ</i>

<i>c làm rõ trong </i>

<i>các chương tiế</i>

<i>p theo. </i>



<b>7.</b>

<b>K</b>

<b>ết chương</b>



</div>

<!--links-->

×