1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Chương 1: Matlab cơ bản docx

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

Tiêu đề Tài Liệu Chương 1: Matlab Cơ Bản
Trường học Trường Đại Học
Chuyên ngành Kỹ Thuật
Thể loại Tài liệu
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 28
Dung lượng 546,9 KB

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

Nội dung

CÁC FILE VÀ HÀM1... Các bi n persistent ch có th khai báo tronghàm.. Same as short... Khi tađánh l nh hold on thì MATLAB không xoá đ th đang có... Ta có th t o ra các hi u ng khác nhau n

Trang 1

CH NG 1: MATLAB C B N

§1 KH I Đ NG MATLAB

1 Kh i đ ng MATLAB: MATLAB (Matrix laboratory) là ph n m m dùng đ

gi i m t lo t các bài toán kĩ thu t, đ c bi t là các bài toán liên quan đ n ma

tr n MATLAB cung c p các toolboxes, t c các hàm m r ng môi tr ngMATLAB đ gi i quy t các v n đ đ c bi t nh x lí tín hi u s , h th ng đi ukhi n, m ng neuron, fuzzy logic, mô ph ng v.v

Đ kh i đ ng MATLAB ta nh n đúp vào icon c a nó trên màn hình

2.Đánh l nh trong c a s l nh : Khi ta đánh l nh vào c a s l nh, nó s đ c

thi hành ngay và k t qu hi n lên màn hình N u ta không mu n cho k t qu

hi n lên màn hình thì sau l nh ta đ t thêm d u “;” N u l nh quá dài, không

v a m t dòng dòng có th đánh l nh trên nhi u dòng và cu i m i dòng đ tthêm d u r i xu ng dòng Khi so n th o l nh ta có th dùng các phím t t :

del Ctrl D xoá kí t t i ch con nháy đ ng

backspace Ctrl H xoá kí t tr c ch con nháy đ ng

3 Set path: Khi ch y các ch ng trình MATLAB các th m c khác th m c

hi n hi n hành ta ph i đ i th m c b ng l nh File | Set Path

4 Help và Demo: Ph n nay giúp chúng ta hi u bi t các hàm, các l nh c a

MATLAB và ch y th các ch ng trình demo

§2 CÁC MA TR N

1 Các toán t : MATLAB không đòi h i ph i khai báo bi n tr c khi dùng.MATLAB phân bi t ch hoa và ch th ng

Trang 3

sum(A) ans =

34 34 34 34

nghĩa là nó đã l y t ng các c t vì MATLAB đ c vi t đ là vi c v i các c t Khi

ta không ch bi n ch a k t qu thì MATLAB dùng bi n m c đ nh là ans, vi t

t t c a answer

Mu n l y t ng c a các hàng ta c n chuy n v ma tr n b ng cách đánhvào l nh:

b Ch s : Ph n t hàng i c t j c a ma tr n có kí hi u là A(i,j) Tuy nhiên

ta cũng có th tham chi u t i ph n t c a m ng nh m t ch s , ví d A(k).Cách này th ng dùng đ tham chi u vec t hàng hay c t Trong tr ng h p

ma tr n đ y đ thì nó đ c xem là ma tr n m t c t dài t o t các c t c a ma

tr n ban đ u Nh v y vi t A(8) có nghĩa là tham chi u ph n t A(4, 2)

c Toán t “:” : Toán t “:” là m t toán t quan tr ng c a MATLAB Nó

Trang 4

tham chi uđ n k ph n t đ u tiên c a c t j.

Ngoài ra toán t “:” tham chi u t i t t c các ph n t c a m t hàng hay m t

c t

A(:,3) ans = 2 11 7 14

Trang 5

randn t o ra ma tr n mà các ph n t ng u nhiên phân b tr c giao

pascal(n) t o ra ma tr n xác đ nh d ng mà các ph n t l y t tam giácPascal

Trang 6

1 0 0 0

e L nh load: L nh load dùng đ đ c m t file d li u Vì v y ta có th t o

m t file ch a ma tr n và n p vào Ví d có file mtran.dat ch a m t ma tr n thì

f M file: M file là m t file text ch a các mã c a MATLAB. Đ t o m t

ma tr n ta vi t m t m file và cho MATLAB đ c file này Ví d ta t o file

Trang 8

disp(‘Tuoi toi trong khoang 0 30’);

gu = input(‘Xin nhap tuoi cua ban: ‘);

disp( xin chao );

gu = input( Nhap so lan in: );

i = 0;

Trang 9

while i~=gu

disp([ Xin chao i]);

i = i+1

end

4 For: vòng l p for dùng khi bi t tr c s l n l p Cú pháp nh sau :

for <ch s > = <giá tr đ u> : <m c tăng> : <giá tr cu i>

disp([ Ban co quyen du doan ,num, lan ]);

disp( So can doan nam trong khoang 0 100 );

gu = input( Nhap so ma ban doan: );

Trang 10

§4 CÁC FILE VÀ HÀM

1 Script file: K ch b n là M file đ n gi n nh t, không có đ i s Nó r t có íchkhi thi hành m t lo t l nh MATLAB theo m t trình t nh t đ nh Ta xét ví dhàm fibno đ t o ra các s Fibonnaci

Ta l u đo n mã l nh này vào m t file tên là ct1_5.m Đây chính là m t

script file Đ th c hi n các mã ch a trong file ct1_5.m t c a s l nh ta nh p

T ví d trên ta th y m t hàm M file g m các ph n c b n sau :

• M t dòng đ nh nghĩa hàm g m: function y = tb(x) g m t khoáfunction, đ i s tr v y, tên hàm tb và đ i s vào x

• M t dòng h1 là dòng tr giúpđ u tiên Vì đây là dòng văn b n nên nó

ph i đ t sau % Nó xu t hi n ta nh p l nh lookfor <tên hàm>

• Ph n văn b n tr giúp đ giúp ng i dùng hi u tác d ng c a hàm

Trang 11

Các bi n khai báo trong m t hàm c a MATLAB là bi n đ a ph ng Cáchàm khác không nhìn th y và s d ng đ c bi n này Mu n các hàm khácdùng đ c bi n nào đó c a hàm ta c n khai báo nó là global Ví d ta c n gi i

h ph ng trình :

2 1 2

2

2 1 1

1

yyy

y

yyy

y

β+

global alpha beta

yp = [y(1) alpha*y(1)*y(2); y(2) + beta*y(1)*y(2)];

Đ ti n d ng ta có th l u đo n l nh trên vào M file ct1_7.m.

M t bi n có th đ nh nghĩa là persistent đ giá tr c a nó không thay đ i

t l n g i này sang l n g i khác Các bi n persistent ch có th khai báo tronghàm Chúng t n t i trong b nh chođ n khi hàm b xoá hay thay đ i

3 Đi u khi n vào và ra: Các l nh sau dùng đ s li u đ a vào và ra

disp(a) hi n th n i dung c a m ng a hay văn b n

a = [1 2 3];

disp(a)

t = Xin chao ; disp(t)

format đi u khi n khuôn d ng s

format Default Same as short

format short 5 digit scaled fixed point 3.1416

format long 15 digit scaled fixed point 3.14159265358979

format short e 5 digit floating point 3.1416e+00

format long e 15 digit floating point 3.141592653589793e+00format short g Best of 5 digit fixed or floating 3.1416

Trang 12

format long g Best of 15 digit fixed or floating 3.14159265358979

format bank Fixed dollars and cents 3.14

format rat Ratio of small integers 355/113

format

compact Suppresses excess line feeds

format loose Adds line feeds

input nh p d li u

x = input( Cho tri cua bien x : )

Cho tri cua bien x :4

Trang 13

acoth(x)

asinh(x)

atanh(x)

5 Các phép toán trên hàm toán h c:

a Bi u di n hàm toán h c: MATLAB bi u di n các hàm toán h c b ng

cách dùng các bi u th c đ t trong M file Ví d đ kh o sát hàm :

604.0)9.0x(

101

.0)3.0x(

1)

Trang 14

d Tìm đi m zero: Hàm fzero dùng đ tìm đi m zero c a hàm m t bi n.

Ví d đ tìm giá tr không c a hàm lân c n giá tr 0.2 ta vi t :

plot đ h a 2 D v i s li u 2 tr c vô h ng và tuy n tính

plot3 đ h a 3 D v i s li u 2 tr c vô h ng và tuy n tính

loglog đ ho v i các tr c logarit

semilogx đ ho v i tr c x logarit và tr c y tuy n tính

semilogy đ ho v i tr c y logarit và tr c x tuy n tính

plotyy đ ho v i tr c y có nhãn bên trái và bên ph i

2 T o hình v : Hàm plot có các d ng khác nhau ph thu c vào các đ i s đ avào Ví d n u y là m t vec t thì plot(y) t o ra m t đ ng th ng quan h gi acác giá tr c a y và ch s c a nó N u ta có 2 vec t x và y thì plot(x,y) t o ra

Trang 15

^ đi m tam giác h ng lên < tam giác sang trái

> tam giác sang ph i h l c giác

p ngũ giác

Trang 16

5 Thêm đ ng v vào đ th đã có: Đ làm đi u này ta dùng l nh hold Khi ta

đánh l nh hold on thì MATLAB không xoá đ th đang có Nó thêm s li u vào

đ th m i này N u ph m vi giá tr c a đ th m i v t quá các giá tr c a tr c

to đ cũ thì nó s đ nh l i t l xích

6 Ch v các đi m s li u: Đ v các đi m đánh d u mà không n i chúng l i

v i nhau ta dùng đ c t nói r ng không có các đ ng n i gi a các đi m ta g i

hàm plot ch v i đ c t màu và đi m đánh d u

Trang 17

có th dùng plotyy đ cho giá tr trên hai tr c y có ki u khác nhau nh m ti n sosánh.

10 Đ t các thông s cho tr c: Khi ta t o m t hình v , MATLAB t đ ng ch n

các gi i h n trên tr c to đ và kho ng cách đánh d u d a trên s li u dùng

đ v Tuy nhiên ta có th mô t l i ph m vi giá tr trên tr c và kho ng cáchđánh d u theo ý riêng Ta có th dùng các l nh sau:

axis đ t l i các giá tr trên tr c to đ

axes t o m t tr c to đ m i v i các đ c tính đ c mô t

get và set cho phép xác đ nh và đ t các thu c tính c a tr c to đ đangcó

a Gi i h n c a tr c và chia v ch trên tr c: MATLAB ch n các gi i h n

trên tr c to đ và kho ng cách đánh d u d a trên s li u dùng đ v Dùng

Trang 18

axis([0 pi/2 0 5])

(l u trong ct1_14.m)

MATLAB chia v ch trên tr c d a trên ph m vi d li u và chia đ u Ta có th

mô t cách chia nh thông s xtick và ytick b ng m t vec t tăng d n

Ví d :

x = pi:.1:pi;

y = sin(x);

plot(x,y)

set(gca, xtick , pi:pi/2:p);

set(gca, xticklabel ,{ pi , pi/2 , 0 , pi/2 , pi })

(l u trong ct1_15.m)

8 Ghi nhãn lên các tr c to đ : MATLAB cung c p các l nh ghi nhãn lên đ

ho g m :

title thêm nhãn vào đ ho

xlabel thêm nhãn vào tr c x

ylabel thêm nhãn vào tr c y

zlabel thêm nhãn vào tr c z

legend thêm chú gi i vàođ th

text hi n th chu i văn b n v trí nh t đ nh

gtext đ t văn b n lên đ ho nh chu t

\it italics font

\sl oblique font (ch nghiêng)

Các kí t đ c bi t xem trong String properties.

Ta dùng các l nh xlabel , ylabel , zlabel đ thêm nhãn vào các tr c to đ

Ví d :

x = pi:.1:pi;

y = sin(x);

plot(x,y)

xlabel( t = 0 to 2\pi , Fontsize ,16)

ylabel( sin(t) , Fontsize ,16)

title( \it{Gia tri cua sin tu zero đ n 2 pi} , Fontsize ,16)

(l u trong ct1_16.m)

9 Thêm văn b n vào đ ho : Ta có th thêm văn b n vào b t kì ch nào trên

Trang 19

hình v nh hàm text

Ví d :

text(3*pi/4,sin(3*pi/4), \leftarrowsin(t)=0.707 , FontSize ,12)

10 Đ nh v văn b n trên hình v : Ta có th s d ng đ i t ng văn b n đ ghi

chú các tr c v trí b t kì MATLAB đ nh v văn b n theo đ n v d li u trên

Trang 20

b Mô t d li u trên tr c: Ta dùng các hàm xlabel và ylabel đ mô t các

set(gca, YLim ,[15 30], Layer , top )

và trên đ th , ph m vi giá tr c a tr c y đã thay đ i

c X p ch ng đ th : Ta có th x p ch ng s li u trên đ th thanh b ngcách t o ra m t tr c khác trên cùng m t v trí và nh v y ta có m t tr c y đ c

ylabel( Nhiet do (^{o}C) )

Đ x p ch ng m t s li u lên m t đ th thanh trên, có tr c th 2cùng v trí nh tr c th nh t ta vi t :

h1 = gca;

và t o tr c th 2 v trí tr c th nh t tr c nh t v b s li u th 2

h2 = axes( Position ,get(h1, Position ));

plot(days,TCE, LineWidth ,3)

Đ tr c th 2 không gây tr ng i cho tr c th nh t ta vi t :

set(h2, YAxisLocation , right , Color , none , XTickLabel ,[])

set(h2, XLim ,get(h1, XLim ), Layer , top )

Đ ghi chú lên đ th ta vi t:

text(11,380, Mat do , Rotation , 55, FontSize ,16)

ylabel( TCE Mat do (PPM) )

title( Xep chong do thi , FontSize ,16)

Trang 21

f Đ th pie :Đ th pie hi n th theo t l ph n trăm c a m t ph n t c a

m t vec t hay m t ma tr n so v i t ng các ph n t pie và pie3 t o ra đ th2D và 3D

v i xi là m t ph n t c a x Giá tr đ c chu n hoá mô t ph n nguyên c a

m i vùng Khi t ng các ph n t trong đ i s th nh t nh h n 1, pie và pie3không chu n hoá các ph n t c a vec t x Chúng v m t ph n pie

Ví d :

Trang 22

set(gca, NextPlot , replacechildren )

h = uicontrol( style , slider , position ,[100 10 500 20], Min ,1, Max ,16)

for j = 1:16

plot(fft(eye(j + 16))) set(h, Value ,j) M(:,j) = getframe(gcf);

tr c Hàm moviein t o ra ma tr n đ l n đ ch a 16 khung hình Phát bi u :

set(gca, NextPlot , replacechildren )

ngăn hàm plot đ a t l các tr c v axis normal m i khi nó đ c g i Hàm

M i khung hình g m các s li u trong m t vec t c t Hàm getframe(gcf) ch p

toàn b ph n trong c a m t c a s hi n hành Sau khi t o ra hình nh ta có th

ch y chúng m t s l n nh tđ nh ví d 30 l n nh hàm movie(M,30)

Trang 23

M t ph ng pháp n a đ t o hình chuy n đ ng là v và xoá, nghĩa là v m t

đ i t ng đ ho r i thay đ i v trí c a nó b ng cách thay đ i to đ x,y và z

m t l ng nh nh m t vòng l p Ta có th t o ra các hi u ng khác nhau nhcác cách xoá hình khác nhau Chúng g m:

• background MATLAB xoá đ i t ng b ng cách v nó có màu

n n

Ví d : Ta t o ra M file có tên là ct1_24.m nh sau :

Ví d : Ta kh o sát hàm sin(r)/r Đ tính hàm trong kho ng 8 và 8 theo x và y

ta ch c n chuy n m t vec t đ i s cho meshgrid :

Trang 25

Các hàm contour(z,n) và contour(z,v) cho phép ta ch rõ s l ng m ccontour hay m t m c contour c n v nào đó v i z là ma tr n s li u, n là s

đ ng contour và v là vec t các m c contour MATLAB không phân bi t gi a

đ i l ng vec t m t ph n t hay đ i l ng vô h ng Nh v y n u v là vec t

m t ph n t mô t m t contour đ n m t m c hàm contour s coi nó là s

l ng đ ng contour ch không ph i là m c contour Nh v y,contour(z,v)

cũng nh contour(z,n) Đ hi n th m t đ ng đ ng m c ta c n cho v là m tvec t có 2 ph n t v i c hai ph n t b ng m c mong mu n.V í d đ t o ra

Hàm ginput cho phép ta dùng chu t hay các phím mũi tên đ ch n các đi m

v Nó tr v to đ c a v trí con tr Ví d sau s minh ho các dùng hàm

Ví d : Ta t o m t M file có tên ct1_29.m nh sau :

disp( Chuot phai tro cac diem tren duong ve )

disp( Chuot trai tro diem cuoi cua duong ve )

Trang 26

quiver v các vec t 2D có các thành ph n (u, v)

quiver3 v các vec t 3D có các thành ph n (u, v, w)

a Hàm compass: Ta xét ví d v h ng và t c đ gió Các vec t xác

b Hàm feather: Hàm feather hi n th các vec t b t đ u t m t đ ng

th ng song song v i tr c x Ví d đ t o ra các vec t có góc t 900 đ n 00 vàcùngđ dài ta có:

theta = 90:–10:0;

r = ones(size(theta));

Trang 27

tr c khi v , chuy n các s li u sang to đ vuông góc và tăng đ l n thành r

d Hàm quiver3: Hàm quiver3 hi n th các vec t có các thành ph n

(u,v,w) t i đi m (x, y, z) Ví d ta bi u di n qu đ o c a m t v t đ c ném đitheo t Ph ng trình c a chuy nđ ng là:

2

attv)

Ngày đăng: 12/12/2013, 23:15

HÌNH ẢNH LIÊN QUAN

* du sa os hình vuông - Tài liệu Chương 1: Matlab cơ bản docx
du sa os hình vuông (Trang 15)

TỪ KHÓA LIÊN QUAN

w