55
MATLAB ÖÙNG DUÏNG THIEÁT KEÁ –ÑIEÀU KHIEÅN Th.S Nguyeãn Taán Phuùc. Email: [email protected] Tel:0126.7102772. Fb: gv dhnl phuctannguyen

MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Embed Size (px)

Citation preview

Page 1: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB ÖÙNG DUÏNG

THIEÁT KEÁ –ÑIEÀU KHIEÅN

Th.S Nguyeãn Taán Phuùc.

Email: [email protected]

Tel:0126.7102772.

Fb: gv dhnl phuctannguyen

Page 2: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

TAØI LIEÄU HOÏC TAÄP

1.SLIDE BAØI GIAÛNG .

2.SAÙCH MATLAB CÔ SÔÛ.

ÑAÙNH GIAÙ HK HEØÙ

1.Thöïc haønh Treân lôùp : 10%.

2. kiểm tra : 10%.

2.Thi cuoái kyø : 80%.

Thôøi gian : 19/7 - 10/8/2016.

Page 3: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

NỘI DUNG

PHẦN I: MATLAB CĂN BẢN.

PHẦN II: LẬP TRÌNH TRONG

MATLAB.

PHẦN III: GUIDE TRONG MATLAB -

ỨNG DỤNG TRONG ĐIỀU KHIỂN.

Page 4: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

PHẦN I- MATLAB

CAÊN BAÛN

Page 5: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB CAÊN BAÛN

I. BIEÅU THÖÙC (EXPRESSION)

Bieán soá ( variables)

Soá (Numbers)

Toaùn töû ( Operaters)

Haøm ( Functions)

- toái ña 19 kyù töï coù nghóa

- phaân bieät giöõa chöõ hoa vaø chöõ thöôøng.

- baét ñaàu baèng moät töø theo sau laø töø hay soá

hoaëc daáu (_).

- bieán toøan cuïc (global) taùc duïng trong

toøan chöông trình.

- bieán cuïc boä (local) taùc duïng trong noäi taïi

haøm (function)

- moät soá bieán ñaëc bieät: pi, ans,…

Bieán (Variables)

Kieåm tra bieán (who vaø whos)

Xoùa bieán (clear vaø clear all)

Page 6: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

DATA TYPES

Int8,uint8,int16,int32…số nguyeân interger.

Single,double: kiểu số thực.

Logical: kieåu true,false.

Char: kieåu kyù töï.

String: kieåu kyù töï.

Array: a(1),a(0),….

Ví duï:

Str=‘hello world’;

Str(2)=‘ e’.

Page 7: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

DATA TYPES CONVERSION

Char(): chuyeån sang kieåu kyù töï.

Int2str(): chuyeån soá sang chuoãi.

Num2str(): chuyeån integer sang chuoãi

Str2num(): chuoåi sang soá.

Num2bin(): soá sang maõ nhò phaân.

Dec2bin(): chuyeån soá sang nhò phaân

Ischar(): kieåm tra phaûi kyù töï.

Isinteger():kiem tra so nguyen

Islogical():kiem tra bien logic.

Page 8: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Matlab command

Clc: xoùa maøn hình.

Clear all: xoùa taát caû caùc bieán.

Global: khai baùo bieán toaøn cuïc.

Quit: thoaùt matlab.

Who: lieät keâ taát caû bieán hieän coù

Whos: lieät keâ bieán , kieåu bieán.

INPUT, OUTPUT COMMAND

Disp: hieån thò ra comand matlab.

Input: nhaän döõ lieäu töø command matlab.

sprintf: dinh dang chuoi xuat ra man hinh.

Format : dinh dang döõ lieäu .

Caùc kieåu döõ lieäu format:

Short,long,short e,long e,rat…

Page 9: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB CAÊN BAÛN

1. Soá (Numbers)

format (ñònh daïng)

Taát caû nhöõng con soá ñeàu ñöôïc löu kieåu ñònh daïng (format)

Duøng haøm format ñeå ñònh daïng kieåu soá:

>> b=3/26;

>> format long; b

b =

0.11538461538462

>> format short e; b

b =

1.1538e-001

>> format bank; b

b =

0.12

>> format short eng; b

b =

115.3846e-003

>> format hex; b

b =

3fbd89d89d89d89e

>> format +; b

b =

+

>> format rat; b

b =

3/26

>> format short; b

b =

0.1154

>> format long eng; b

b =

115.384615384615e-003>>

Page 10: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB CAÊN BAÛN

2. Toaùn töû (operaters) (+, -, *, /, \,^,’)

Caùc bieán khoâng caàn khai baùo tröôùc.

Caùc kyù töï thöôøng vaø in laø phaân bieät.

Keát thuùc caâu leänh vôùi ‚;‛ khoâng hieån thò keát quûa caâu

leänh.

Bieán maëc nhieân ‚ans‛ .

Thứ tự tính toan nhu thong thuong:nhaân chia tröôùc ,

coäng tröø sau..

Page 11: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

To¸n tö quan hÖ ý nghÜa

< Nhá h¬n vd A<B

> Lín h¬n vd A>B

<= Nhá h¬n hoÆc b»ng A<=B

>= Lín h¬n hoÆc b»ng A>=B

== B»ng vd A==B

~= Kh«ng b»ng vd A~=B

2. Toaùn töû (operaters) (+, -, *, /, \,^,’)

Page 12: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

To¸n tö logic ý nghÜa

& Vµ vd A&B

| HoÆc vd A|B

~ §¶o vd ~A

Toaùn töû (operaters)

Page 13: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

operator Miêu tả

+ Phép cộng

- Trừ

* nhân

.* Nhân ma trận

/ chia

./ Chia phải 2 ma trận

^ Lũy thừa

.^ Lũy thừa ma trận

‘ Tranpose

operators

Page 14: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB CAÊN BAÛN

3. Haøm cô baûn (basis functions) abs, sqrt, exp, sin,…

Tên hàm ý nghĩa

Sin Hàm sin

Cos Hàm cos

Tan Hàm tan

Asin acsin

Acos accos

Atan arctg

Exp Hàm e mũ

Log Logarit co so e

log10 Logarit co so 10

sqrt(x) Can bac 2

Page 15: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MA TRAÄN TRONG MATLAB

Cách Khai báo ma trận:

A=[2 3;4 5];

B=[2 3 4;4 5 6;6 7 8].

‚;‛ coù nghóa laø chuyeån sang haøng keá tieáp.

‚,‛ hay ‚ ‚ phaân caùch giöõa caùc phaàn töû.

>> t = 1:5

t =

1 2 3 4 5

>> row = A(1,:)

row =

1 2 3

>> col = A(:,1)

col =

1

4

7

>> 1: 0.3:2

ans =

1 1.3000 1.6000 1.9000

Page 16: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MA TRAÄN TRONG MATLAB

Pheùp tính Chuù thích

+, - Coäng hoaëc tröø hai ma traän cuøng kích thöôùc

A*B Nhaân hai ma traän A vaø B

A/B Chia hai ma traän (chia phaûi) A vaø B

A\B Chia traùi hai ma traän B vaø A

A.*B Nhaân töøng phaàn töû cuûa hai ma traän A vaø B

A./B Chia töøng phaàn töû cuûa hai ma traän A vaø B

A.\B Chia töøng phaàn töû cuûa hai ma traän B vaø A

.^ Muõ cho töøng phaàn töû cuûa maûng

Page 17: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

>> A=[1 2 3;4 5 6;7 8 9]

A =

1 2 3

4 5 6

7 8 9

>> A(2,3)=10

A =

1 2 3

4 5 10

7 8 9

>> B=A(2,1)

B =

4

>> C=[-4 2 3;1 2 1;2 5 6]

C =

-4 2 3

1 2 1

2 5 6

>> D=[A C]

D =

1 2 3 -4 2 3

4 5 10 1 2 1

7 8 9 2 5 6

>> D(5)

ans =

5

>> D(4,5)

??? Index exceeds matrix dimensions.

>> X=D

X =

1 2 3 -4 2 3

4 5 10 1 2 1

7 8 9 2 5 6

>> X(2,6)

ans =

1

>> X(2,:)

ans =

4 5 10 1 2 1

MA TRAÄN TRONG MATLAB

Page 18: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

ÑOÀ HOÏA TRONG MATLAB

Ñoà hoïa trong Matlab

Caây thö muïc quaûn lyù ñoái töôïng trong Matlab:

Uicontrol Uimenu Uicontextmenu

Image Light Line Patch Text Surface Rectangle

Figure

Axes

Page 19: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Böôùc MATLAB code

1. Chuaån bò döõ lieäu X= 0:0.1:2*pi;

Y= sin(X)=f(x).

2. Choïn cöûa soå vaø vò trí cuûa ñoái

töôïng ñoà hoïa trong cöûa soå.

figure(‘Name’,’Hinh sine’);

subplot(2,2,1);

3. Goïi haøm veõ ñoà thò h = plot(X,Y);

4. Xaùc ñònh thuoäc tính cho hình

nhö kieåu ñöôøng, maøu saéc, …

set(h, ‘LineStyle’,’-

‘,’Color’,’r’)

5. Xaùc ñònh caùc thuoäc tính cuûa axis,

axes, löôùi veõ, …

axis([-1 6 -1.2 1.2]);

grid on;

6. Chuù thích cho ñoà thò: labels,

legend, text, …

xlabel(‘X’);

ylabel(‘Y=SIN(X)’);

title(‘Ñoà thò hình sine’);

7. Xuaát keát quaû

ÑOÀ HOÏA TRONG MATLAB

Page 20: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Caùc leänh veõ cô baûn:

Teân haøm Moâ taû haøm

plot Veõ döõ lieäu 2D vôùi tæ leä tuyeán tính cho caùc truïc toïa ñoä

plot3 Veõ döõ lieäu 3D vôùi tæ leä tuyeán tính cho caùc truïc toïa ñoä

line Veõ ñöôøng thaúng ñi qua caùc ñieåm döõ lieäu

loglog Veõ vôùi tæ leä logarithmic cho caùc truïc toïa ñoä

semilogx Veõ vôùi tæ leä logarithmic cho truïc x vaø tæ leä tuyeán tính cho

truïc y

semilogy Veõ vôùi tæ leä logarithmic cho truïc y vaø tæ leä tuyeán tính cho

truïc x

plotyy Veõ ñoà thò vôùi truïc y ôû beân traùi vaø beân phaûi

ÑOÀ HOÏA TRONG MATLAB

Page 21: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Leänh plot

Cuù phaùp Moâ taû

plot(Y)

Veõ ñoà thò vôùi hoaønh ñoä laø chæ soá

cuûa phaàn töû, tung ñoä laø giaù trò cuûa

phaàn töû töông öùng

plot(X1,Y1,...)

Veõ ñoà thò baèng caùch söû duïng caùc

ñöôøng thaúng noái töøng caëp döõ lieäu

X1(i) vaø Y1(i)

plot(X1,Y1,LineSpec,...) Veõ ñoà thò vaø ñònh tính chaát cho taát

caû caùc ñöôøng thaúng

plot(...,'PropertyName',PropertyValue,...) Veõ coù ñònh tính chaát cho caùc ñoái

töôïng

h = plot(...) Traû veà giaù trò quaûn lyù ñoái töôïng veõ

ÑOÀ HOÏA TRONG MATLAB

Page 22: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

t = 0:pi/100:2*pi;

y = sin(t);

y2 = sin(t-0.25);

y3 = sin(t-0.5);

plot(t,y,'-',t,y2,'--',t,y3,':')

Kí hieäu Kieåu ñöôøng Ví duï

- solid line (Maëc

ñònh)

-- dashed line

: dotted line

-. dash-dot line

ÑOÀ HOÏA TRONG MATLAB

Page 23: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

LineWidth: plot(X,Y,’LineWidth’,2)

Giaù trò

LineWidth

1 3 5

Hình

ÑOÀ HOÏA TRONG MATLAB

Page 24: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Color: plot(X,Y,’Color’,[0.1 0.5 0.7]), plot(X,Y,’Color’,’y’)

Caùch khai baùo giaù trò maøu cho ñoái töôïng trong Matlab

o Nhaäp giaù trò maøu RGB laø vector haøng 3 phaàn töû

o Nhaäp teân cuûa maøu

0 2 4 6 8 10 12 14 0

1

2

3

4

5

6

7

8

x = 0:pi/15:4*pi;

y1 = exp(2*cos(x));

y2 = exp(2*sin(x));

plot(x,y1,'-*r',x,y2,'-.og','linewidth',2)

ÑOÀ HOÏA TRONG MATLAB

Page 25: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Marker: plot(X,Y,’o’)

Moät soá loaïi Marker:

Kí hieäu YÙ nghóa

+ Daáu coäng

o Hình troøn

* Daáu hoa thò

. Ñieåm

x Daáu cheùo nhau

s Hình vuoâng

d Hình thoi

^ Tam giaùc treân

v Tam giaùc döôùi

> Tam giaùc beân phaûi

< Tam giaùc beân traùi

p Sao naêm caïnh

h Sao saùu caïnh

Kí hieäu YÙ nghóa

MarkerEdgeColor

Ñònh giaù trò maøu

cho ñöôøng vieàn

cuûa Marker

MarkerFaceColor

Ñònh giaù trò maøu

cho beà maët cuûa

Marker

MarkerSize Ñònh ñoä lôùn cho

Marker

0 2 4 6 8 10 12 14 0

1

2

3

4

5

6

7

8

x = 0:pi/15:4*pi; y = exp(2*cos(x));

plot(x,y,'r+')

ÑOÀ HOÏA TRONG MATLAB

Page 26: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Moät soá leänh phuï trôï trong ñoà hoïa

Leänh Giaù trò Moâ taû

grid on, off Baät hay taét löôùi veõ

hold on, off Giöõ laïi taát caû caùc ñoái

töôïng veõ

axes Taïo heä truïc toïa ñoä

axis [Xmin Xmax Ymin Ymax] Ñònh giaù trò giôùi haïn

cho caùc truïc toïa ñoä

Xlabel, Ylabel Chuoãi kí töï Ghi chuù caùc truïc toïa

ñoä

Legend Chuoãi kí töï Ghi chuù caùc döõ lieäu

Title Chuoãi kí töï Ñònh tieâu ñeà cho hình

veõ

cla Xoaù taát caû ñoái töôïng

treân axes

ÑOÀ HOÏA TRONG MATLAB

Page 27: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Leänh Line

Cuù phaùp Moâ taû

line(X,Y) Veõ ñoaïn thaúng ñi qua caùc

ñieåm döõ lieäu trong maët

phaúng OXY

line(X,Y,Z) Veõ ñoaïn thaúng ñi qua caùc

ñieåm döõ lieäu trong maët

phaúng OXYZ

line(X,Y,Z,'PropertyName',PropertyValue,...) Ñònh giaù trò cho caùc thuoäc

tính cuûa ñoái töôïng

h = line(...) Traû veà giaù trò cuûa bieán quaûn

lyù ñoái töôïng

ÑOÀ HOÏA TRONG MATLAB

Page 28: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Leänh Line

clear all; clc; close all;

t = 0:pi/20:2*pi;

hline1 = plot(t,sin(t),'g','LineWidth',2);

hline2 = line(t+.6,sin(t),'LineWidth',4,'Color',[.5 .2 .2]);

set(gca,'Children',[hline1 hline2])

0 1 2 3 4 5 6 7 -1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

ÑOÀ HOÏA TRONG MATLAB

Page 29: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

PHẦN II- LAÄP

TRÌNH TRONG

MATLAB

Page 30: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

LẬP TRÌNH VỚI MATLAB

Laäp trình vôùi Matlab

Scripts

Laø hình thöùc ñôn giaûn nhaát cuûa M-file, noù khoâng coù

thoâng soá vaøo vaø ra. Laø taäp hôïp caùc leänh vaø haøm cuûa

Matlab. Taát caû caùc bieán taïo ra trong Scripts ñeàu coù theå

söû duïng sau khi Scripts keát thuùc.

-----------------------------------------------------------------

M-file: vidu.m

x= 0:0.01:2*pi;

y=sin(x);

plot(x,y)

function

Laø Scripts tuy nhieân coù theâm ñoái soá vaøo (input

arguments) vaø ñoái soá ñaàu ra (output argument). Taát caû

caùc bieán hoaït ñoäng trong moät Workspace rieâng. Bieán

trong function chæ laø bieán cuïc boä.

-----------------------------------------------------------------

M-file: doido.m

function rad = doido(do)

rad=do*pi/180;

Matlab cho pheùp laäp trình theo hai hình thöùc: SCRIPTS vaø function

Page 31: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB CAÊN BAÛN

8. Laäp trình vôùi Matlab

Hình thöùc khai baùo haøm

- Töø khoaù function baét buoäc phaûi khai baùo.

- Thoâng soá ñaàu ra: neáu coù nhieàu giaù trò traû veà, caùc thoâng soá naøy ñöôïc ñaët trong

daáu ‚[ ]‛. Neáu khoâng coù giaù trò traû veà ta coù theå ñeå troáng hay ñeå daáu [].

- Teân haøm

-Thoâng soá ñaàu vaøo ñöôïc khai baùo trong daáu ()

- Bieán toaøn cuïc vaø ñòa phöông

Page 32: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Ví duï1 : laäp trình 1 haøm coäng , luu file cong.m de tinh

toång 2 soá.

function tong = cong(x,y)

Tong = x+y;

End.

Vidu 2: Lập hàm tính toán nhiều thông số đầu ra tính

công , tru ,nhan, chia cho 2 so x,y

Function [a,b,c,d]= pheptoan(x,y);

Page 33: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB CAÊN BAÛN

8. Caáu truùc ñieàu kieän

Caáu truùc ñieàu kieän: if

if (bieåu thöùc logic)

nhoùm leänh

end

if (bieåu thöùc logic)

nhoùm leänh 1

else

nhoùm leänh 2

end

Toaùn töû YÙ nghóa

< Nhoû hôn

<= Nhoû hôn hoaëc baèng

> Lôùn hôn

>= Lôùn hôn hoaëc baèng

== Baèng nhau

~= Khoâng baèng

Page 34: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB CAÊN BAÛN

8. Caáu truùc ñieàu kieän

Caáu truùc ñieàu kieän: if…end

if (bieåu thöùc logic)

nhoùm leänh 1

elseif

nhoùm leänh 2

else

nhoùm leänh 3

end

Page 35: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Ví duï:

Tìm nghieäm phöông trình baäc 2 nhaäp vaøo a,b,c.

%tim nghiem phuong trinh bac 2

% lap trinh th.s nguyen tan phuc

a=input('nhap a ');

b=input('nhap b ');

c=input('nhap c ');

delta=b^2-4*a*c;

if delta<0

disp(' vo nghiem ');

elseif delta ==0

disp(' nghiem ');

disp(-b/(2*a));

else

disp(' nghiem 1 ');

disp((-b+sqrt(delta))/2);

disp(' nghiem 2 ');

disp((-b-sqrt(delta))/2);

end

Page 36: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB CAÊN BAÛN

8. Caáu truùc ñieàu kieän

Caáu truùc ñieàu kieän: switch … case

switch (bieåu thöùc ñieàu kieän)

case (giaù trò 1 bieåu thöùc)

nhoùm leänh 1

otherwise

nhoùm leänh 2

end

Ví duï: taïo moät menu löïa choïn

chon = input(‘Nhap vao lua chon cua ban, chon= ’)

Switch chon

case 1

disp(‘ menu ve do thi ’);

case 2

disp(‘ menu noi suy da thuc ’);

otherwise

disp(‘thoat khoi chuong trinh ’);

end

Page 37: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB CAÊN BAÛN

8. Caáu truùc laëp coù ñieàu kieän

Caáu truùc laëp coù ñieàu kieän: while

while (bieåu thöùc ñieàu kieän)

nhoùm leänh

end

Ví duï: yeâu caàu nhaäp vaøo giaù trò cho bieán x.

vieäc nhaäp chæ keát thuùc khi x coù giaù döông

a= input(‘Nhap vao gia tri a: ’)

while a<=0

disp(‘a lon hon khong ’);

a= input(‘Nhap vao gia tri a: ’)

end

Page 38: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Tính toång cuûa chuoãi:

% tính tong chuoi tu o den n..

n=input('nhap n ');

i=0;

tong=0;

while (i<=n)

tong=tong+1/(i^2+1);

i=i+1;

end

disp('tong ');

disp(tong);

Page 39: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB CAÊN BAÛN

9. Caáu truùc laëp

Caáu truùc laëp: for

for bieán = bieåu thöùc

nhoùm leänh

end

1.Vieát chöông trình nhaäp soá n vaø tính toång

töø 1 ñeán n.

2. Viết chương trình nhập vào n số, in ra số

lớn nhất, số bé nhất.

Page 40: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

LÖnh break : T¸c dông ®iÒu khiÓn chương tr×nh nh¶y ra khái

vßng lÆp for.. hay while… gÇn nã nhÊt.

Continue: thực thi tiếp cac lệnh sau vong lặp.

Biến toàn cục : global x,y,z..có gi trị trong tất cả chương

trinh.

Lưu ý: các biến khai báo trong hàm chỉ có giá trị cục bộ trong

hàm ..

Page 41: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

PHẦN III- TAÏO GIAO DIEÄN TRONG

MATLAB

---------

GUIDE IN MATLAB

Page 42: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

1.MỞ PHẦN MỀM

Mở phần mềm, gõ lệnh sau vào command>>guide

Page 43: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Blank GUI (Default): Hộp thoại GUI trống không có điều khiển unicontrol

nào cả.

* GUI With Unicontol: Hộp thoại GUI với vài unicontrol như button,…,

chương trình có thể chạy ngay.

* GUI With Axes Menu: Hộp thoại với một unicontrol axse và button,

các menu để hiển thị đồ thị.

* Modal Question Dialog: Hộp thoại đặt câu hỏi Yes, No.

Create New GUI: Tạo một hộp thoại GUI mới:

Open Existing GUI: mở hộp thoại project có sẵn

Page 44: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai
Page 45: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

• Push Button: giống như nút command button trong VB. Là các nút

bấm như nút OK,Cancel,..

Slider: Thanh trược có một con trược chạy trên đó.

Radio Button: Nút nhỏ hình tròn để lựa chọn (Options)

Các nút điều khiển khác:

Check Box, Edit Text, Static Text, Pop-up Menu, List Box, Axes, Panel,

Button Group, AtiveX Control, Toggle Button.

Page 46: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

EDIT BOX

gán giá trị vào edit-box:

Set(handles.editbox,’string’, string )

Page 47: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai
Page 48: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

Pop-up menu

Page 49: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

SLIDER

Page 50: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

AXES-FIGURE

Page 51: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

BASIC GUIDE

Page 52: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB IN SERVO

CONTROLLERS

Page 53: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB IN ROBOT

CONTROLLERS

Page 54: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

MATLAB IN ROBOT

CONTROLLERS

Page 55: MATLAB ÖÙNG DUÏNG THIEÁT KEÁ ÑIEÀU KHIEÅN ïc haønh Treân lôùp : 10%. ... Log Logarit co so e log10 Logarit co so 10 sqrt(x) Can bac 2 . MA TRAÄN TRONG MATLAB Cách Khai

The end….