Você está na página 1de 138

Pikachu Vietdown.

org
Chng 1
C s Matlab

1.1 Tng quan v Matlab


1.1.1 Khi nim v Matlab
Matlab l mt ngn ng lp trnh thc hnh bc cao c s dng gii cc bi
ton v k thut.Matlab tch hp c vic tnh ton, th hin kt qu, cho php lp trnh,
giao din lm vic rt d dng cho ngi s dng. D liu cng vi th vin c lp
trnh sn cho php ngi s dng c th c c nhng ng dng sau y.

S dng cc hm c sn trong th vin, cc php tnh ton hc thng thng

Cho php lp trnh to ra nhng ng dng mi.

Cho php m phng cc m hnh thc t.

Phn tch, kho st v hin th d liu.

Vi phn mm ho cc mnh

Cho php pht trin,giao tip vi mt s phn mm khc nh C++, Fortran.


1.1.2 Tng quan v cu trc d liu ca MATLAB, cc ng dng
Matlab l mt h thng tng giao,cc phn t d liu l mt mng( mng ny
khng i hi v kch thc ). Chng cho php gii quyt cc vn lin quan n lp
trnh bng my tnh,c bit s dng cc php tnh v ma trn hay vc tor v c th s
dng ngn ng C hc Fortran lp trnh ri thc hin ng dng lp trnh bng cc cu
lnh go t MATLAB .MATLAB c vit tt t ch matrix laboratory tc l
th vin v ma trn, t phn mm MATLAB c vit nhm cung cp cho vic truy
cp vo phn mm ma trn mt ch d dng, phn mm ma trn ny c pht trin bi
cc cng trnh Linpack v Eispack . Ngy nay MATLAB c pht trin bi
Lapack v Artpack to nn mt ngh thut phn mm cho ma trn.
a.D liu
D liu ca MATLAB th hin di dng ma trn( hoc mng tng qut), v c cc kiu
d liu c lit k sau y

Kiu n single , kiu ny c li v b nh d liu v n i hi t byte nh hn,


kiu d liu ny khng c s dng trong cc php tnh ton hc, chnh xc
km hn

Kiu double kiu ny l kiu thng dng nht ca cc bin trong MATLAB

Kiu Sparse.

Kiu int8, uint8, int16 . . .

Trang 1

Kiu char v d Hello

Kiu cell.

Kiu Structure.
Trong MATLAB kiu d liu double l kiu mc nh s dng trong cc php tnh s
hc. Cc bn c th tham kho cc kiu d liu khc trong a CD Help MATLAB 6.0
b. ng dng
MATLAB to iu kin thun li cho:

Cc kho hc v ton hc

Cc k s, cc nh nghin cu khoa hc

Dng MATLAB tnh ton ,nghin cu to ra cc sn phm tt nht trong sn


xut.
c.Toolbox l mt cng c quan trng trong Matlab
Cng c ny c MATLAB cung cp cho php bn ng dng cc k thut phn tch,
thit k , m phng cc m hnh .
Ta c th tm thy toolbox trong m trng lm vic ca .

Mng nron

Logic m

Simulink
1.1.3 H thng MATLAB
H thng giao din ca MATLAB c chia thnh 5 phn
Mi trng pht trin.
y l ni t cc thanh cng c, cc phng tin gip chng ta s dng cc lnh v cc
file, ta c th lit k mt s nh sau.
+ Desktop
+ Command Window
+ Command History
+ Browsers for viewinghelp

Th vin, cc hm ton hc
Bao gm cc cu trc nh tnh tng, sin cosin atan, atan2 etc.., cc php tnh
n gin n cc php tnh phc tp nh tnh ma trn nghich o, tr ring, chuyn
i furier ,laplace , symbolic library

Ngn ng MATLAB
l cc ngn ng cao v ma trn v mng, vi cc dng lnh, cc hm, cu
trc d liu vo , c th lp trnh hng i tng.

ho trong MATLAB

Trang 2

Bao gm cc cu lnh th hin ho trong mi trng 2D v 3D, to cc hnh


nh chuyn ng, cung cp cc giao din tng tc gia ngi s dng v my tnh .

Giao tip vi cc ngn ng khc.


MATLAB cho php tng tc vi cc ngn ng khc nh C , Fortran

1.1.4 Lm quen vi matlab


Trc tin khi ng MATLAB bn kch p (hoc n) v biu tng
file MATLAB.exe ,trn mn hnh xut hin ca s sau.( Xem hnh v 1.1 )
Ca s cha cc thanh cng c( giao din ngi v my) cn thit cho
vic qun l cc files, cc bin ,ca s lnh, c th coi desktop l cc panel
gm cc , vng, qun l v tc dng ca tng ca s nh c qun l bi
desktop

Hnh v 1.1

Trang 3

Trn hnh v ta thy ca s desktop(ca s ln nht), v cc ca s ph ca


n
1.1.5 Lm vic vi cc ca s ca MATLAB c qun l bi desktop

a. Ca s Command window :
L ca s giao tip chnh ca Matlab bi y l ni nhp gi tr cc bin,
hin th gi tr,tnh ton gi tr ca biu thc, thc thi cc hm c sn trong
th vin (dng lnh), hoc cc hm(dng function) do ngi dng lp trnh ra
trong M-files.
Cc lnh c c nhp sau du nhc >> , v nu c sai st trong qu
trnh g(nhp) lnh th hy nhn phm Enter cho n khi nhn c du nhc
>>. Thc thi lnh bng nhn phm Enter.
G cc lnh sau:
>> A= pi/2 ;
>> B= sin(A)
B=
1
Hoc chng trnh son tho trong M-file di y:
% Chuong trinh trong M-file
x= 0:pi/6:2*pi;
y=sin(x);
plot(x,y);
% chuong trinh c lu vi tn file l
ve_sin.m

thc thi chng trnh trn trong ca s Command window bng dng lnh
sau
>> ve_sin
Chng ta thy r hn trong mc S dng lnh trc tip phn sau.
b. Ca s command History
Cc dng m bn nhp vo trong ca s Command window ( cc dng ny c th l
dng nhp bin ,hoc c th l dng lnh thc hin hm no ) c gi li trong ca s
Command History ,v ca s ny cho php ta s dng li nhng lnh bng cch kch
Trang 4

i chut ln cc lnh hoc cc bin, nu nh bn mun s dng li bin . Xem

hnh 1.2

Kch i
chut ln
lnh hoc
bin s
dng li

Hnh 1.2
c. Ca s Workspace:
L ca s th hin tn cc bin bn s dng cng vi kch thc vng nh(s bytes),
kiu d liu(lp) ,cc bin c gii phng sau mi ln tt chng trnh.(xem hnh 1.3)

Kch i
chut ln
bin
xem d
Yu
liu(hoc
thay i
gi tr)

Hnh 1.3
Ngoi ra n cho php thay i gi tri , cng nh kch thc ca bin bng cch kch i
chut ln cc bin. Hoc kch vo nt bn tri ngay cnh nt save
V d khi chn bin(gi th l bin b) ri kch p(hoc kch chut vo nt cnh nt save)
ta c ca s sau gi l Array Editor: xem hnh 1.4

Trang 5

Tiu l tn bin b , nh dng d liu c tn l: Numeric format, mc nh l dng


short, Kch thc size l 1 by 3 (tc l mt hng v 3 ct) ta c th thay i kch thc
ny bng cch thay i s c trong kch thc size.
+ Dng ca s ny lu cc bin

di l d liu ca bin b, ta c th thay i chng bng cch thay i gi


tr trong cc

Hnh 1.4
V d
Nhp bin >>b=[1 2 3 ];
>>x=pi;
Tt c cc bin u c lu trong Workspace trong th hin c kch thc (Size), s
Bytes v kiu d liu(class) (8 bytes cho mi phn t d liu kiu double c th l 24
bytes dnh cho b v 8 bytes dnh cho a)
d. Ca s M-file
L mt ca s dng son tho chng trnh ng dng, thc thi chng trnh vit
trong M-file bng cch g tn ca file cha chng trnh trong ca s
Commandwindow.
Khi mt chng trnh vit trong M-file, th tu theo ng dng c th, tu theo ngi
lp trnh m chng trnh c th vit di dng sau
+Dng Script file :Tc l chng trnh gm tp hp cc cu lnh vit di dng lit k
,khng c bin d liu vo v bin ly gi tr ra
+Dng hm function c bin d liu vo v bin ra.
e. ng dn th mc: Ni lu gi cc file chng trnh

1.2 Nhp bin,lnh trc tip t ca s Command Window:


Sau khi xut hin du nhc >> trong ca s command window iu ng ngha cho
php bn nhp bin hoc thc hin cc cu lnh mong mun.

Trang 6

Do d liu ca MATLAB c th hin di dng matrn cho nn cc bin dng trong


MATLAB d liu ca n cng th hin di dng ma trn, vic t tn bin khng c
t mt ch tu tin m phi t theo mt quy nh

Tn ma trn(bin) phi bt u bng mt ch ci, v c th cha n 19 k t l s


hoc ch.

Bn phi du bng l cc gi tr ca ma trn

Du chm phy(; )l phn cch cc hng, cn cc gi tr trong hng c phn


cch nhau bi du phy(,) hoc du cch( phm space).

Kt thc nhp ma trn thng c du chm phy hoc khng tu theo bn mun
th hin kt qu ca n hay khng.
a. Nhp cc bin, matrn, cc lnh lit k trc tip
Thng thng Matlab s dng 4 v tr sau du phy cho cc s thp phn c du phy
chm ng, v s dng bin ans cho kt qu ca php tnh. Ta c th ng k bin th
hin kt qu ny ca ring mnh . Xt tp cc lnh sau:
V d trng hp khng s dng bin lu kt qu, bin ans t ng c gn
>> 8+9
ans =
17
Nhp bin r = 8/10 trong ca s CommandWindow nh sau:
>> r = 8/10
r=0.8000
Bn c th s dng cc bin ny cho cc php tnh tip theo v d nh:
>> s=10*r
s=
8
V d nhp trc tip cc s liu nh sau
>> a=[1 2;3 4]
a =
1
2
3
4
Matlab c hng trm hm c nh ngha sn v d nh hm tnh sin .. .
>> x=pi;
%nhp bin x
>> sin(x) % nhp lnh sin(x), n enter thc hin lnh tnh sin(x)
ans =
1.2246e-016

+ Cc php tnh s dng trong Matlab :

Trang 7

Trong MATLAB cng s dng cc php ton thng thng c lit k trong bngsau
K t
Lnh Matlab
ngha
+
*
/

Cng a + b
Tr a - b
Nhn ab
Chia phi
a
a/b=
b
Chia tri
a
b\a =
b
M a^b

a+b
a-b
a*b
a/b

b/a

a^2

Th t u tin cc php ton:


Tt c cc biu thc ton hc u c thc hin t tri qua phi, ta c bng th t u tin
nh sau:
Th t u tin
Cc php
1
Du ngoc trong biu thc
2
Ton t m ^ , thc thi t tri qua phi
3
Ton t nhn, chia c cng mc u
tin,thc hin t tri sang phi .
4
Cng , tr
V d1 :
>> a=[1 2;3 4];
>> b=[5 6;7 8];
>> a+b^2
ans =
68
80
94
110
V d2 Gii phng trnh bc hai, cc lnh nhp trong ca s CommandWindow
>>a= 1;
>>b=-2;
>>c=1;
>>delta= b^2- 4*a*c;
>>x1=(-b+ sqrt(delta) )/(4*a);
>>x2=(-b- sqrt(delta) )/(4*a);

Trang 8

Ch : + Cc lnh c kt thc bng du chm phy, Matlab s khng th hin kt qu


trn mn hnh, ngc li khng c du chm phy Matlab s th hin kt qu.
+ Trong qu trnh nhp ma trn nu cc phn t trn mt hng di qu ta c th
xung dng bng ton t ba chm( . . . )
V d
>>Number_apples=10;Number_Oranges=25,Number_bananas=34;
>>Fruit_Purchased= Number_apples+ Number_Oranges+ ...
Number_bananas
1.3 S dng cc lnh gin tip t cc file d liu
Nh trnh by trong phn ca s M-file, tp hp cc lnh ca MATLAB c
son tho trong ca s M-file di dng Script file hoc dng hm function(c bin u
vo v ra), v c ghi (lu)vo file d liu c phn m rng l .m (Thng thng cc
chng trnh son tho trong M-file thng c lu theo ng dn C:\matlab\
work\Tn_file ), mun thc thi chng trnh son tho ta gi lnh trong ca s
Commandwindow, tu theo chng trnh vit dng Script file hay function m trong ca
s ta c 2 cch gi nh sau:
i vi chng trnh vit dng Script file
>> tn_file ;
a=1;
b=-2;
c=1;
delta=b^2-4*a*c;
x1=(-b+sqrt(delta))/(2*a)
x2=(-b-sqrt(delta))/(2*a)

% lu vo file GPTB2.m
V d gii phng trnh bc hai tm nghim x1 v x2 vit trong M-file dng Scriptfile:
Thc thi chng trnh trn trong ca s CommandWindow bng lnh
>>GPTB2

i vi chng trnh vit dng function ,c tham s u vo v ra,ta phi truyn


cc tham s cn thit.
V d : Gii phng trnh bc hai vi ba tham s u vo l cc h s a , b, c v hai
bin u ra l nghim ca phng trnh x1 v x2
(Xem cch vit hm function mc sau)

function [x1, x2]


=GPTB2(a,b,c)
x1=(-b+sqrt(delta))/(2*a);
%Tinh nghiem x1

x2=(-bsqrt(delta))/(2*a);

Trang 9

Thc hin bi ton trn trong Command window nh sau:


>>a= 1;
>>b=-2;
>>c=1;
>>[x1,x2]=GPTB2 (a,b,c) % cu trc chung l [x1,x2]=Tn_file (a,b,c)
( hoc [x1,x2]=GPTB2(1,-2,1)

Lu rng khi vit chng trnh trong M-file, bn mun ghi ch thch ta dng k
t % t trc dng ch thch nh sau
%----------dng ch thch -------------V d 2
%Vit trong M-file(dng Script file)
x=0:0.1:10 ; %To vector x
y=cos(x);
plot(x,y); % V th hm cosin
%lu vo file c tn l dai1.m
Thc thi hm trn ca s commandwindow bng lnh
>> dai1
Vit chng trnh trong M-file c dng l ch yu ,c bit i vi nhng chng trnh
di , phc tp th bn nn vit trong M-file.
1.4 Dng nhc gn gi tr bin
i vi bn hc lp trnh Pascal, bn mun nhp gi tr khi thc thi chng
trnh bn dng cp lnh:

writeln( 'Nhp gi tr ca a=');


readln(a);
Nhng i vi MATLAB th bn s thy rt n gin ch dng mt lnh duy nht l :
a=input(Nhap gia tri cua a=);
V d: Trong ca s Commandwindow ta g lnh
>> a =input(nhap a=);

Trang 10

Nhn Enter cho kt qu di dng


nhap a= 3; ng ngha vi vic gn a=3.

S dng dng nhc gn gi tr bin trong trng hp ta mun thay i gi tr cc bin lc


thc thi chng trnh.
M-file,
c th
vittrnh
trong
V%dChng
: s dngtrnh
dngvit
nhctrong
gn gi
tr binbn
gii
phng
bc hai

CommandWindow
a=input(nhap he so a=);
b=input(nhap he so b=);
c=input(nhap he so c-=);
Delta=b^2-4*a*c;
x1=(-b+ sqrt(Delta))/(2*a)
x2=(-b+ sqrt(Delta))/(2*a)

1.5 Cch to mt hm function


Trc ht ta thng nht rng, to mt hm function ta phi son tho n trong Mfile. Cu trc hm nh sau:
%Khai bo hm c t kho function
function[danh sch tn kt qu]= Tn_hm(danh sch cc bin u vo)
% Thn chng trnh
cu lnh 1;
cu lnh 2;
cu lnh 3;
....
cu lnh n;
%kt thc chng trnh khi kt thc cu lnh
Ch :
Danh sch tn kt qu, v tham s u vo c cch nhau bng du phy.
V d : function[x1,x2,x3]=dai2(a,b,c,d)

Thn chng trnh khng bt u bng t kho Begin v khng kt thc bng t
kho End nh Ngn ng lp trnh Pascal.

Ta nn lu vo file c tn trng vi tn hm
V d: Cho s khi ca h thng iu khin t ng nh hnh di y

u
(-

num 2
den 2

num1
den1

Trang 11

Nhim v: Tnh hm truyn kn ca h thng


Chng trnh c th c vit nh sau:
function[numk, denk]=ham_truyen(num1, den1, num2, den2)
numh=conv(num1, num2);% conv l hm nhn, hm ny c nh ngha sn
denh=conv(den1,den2);
numk=numh;
m=length(denh)- length(numh);
numh1=[zeros(:,m), numh];
denk= numh1+denh;
%kt thc chng trnh ti y bn nn lu vo file c tn l ham_truyen.
Thc thi hm:
>> num1=[1 1];
>>den1=[1 2 1];
>>num2=[1 2];
>>den2=[1 2 1 4];
>>[numk,denk]=ham_truyen(num1,den1,num2,den2);
1.6 S dng hm c sn
C rt nhiu hm c sn, l cc hm c lp trnh sn,v c a vo th vin,
xem mt hm cng nh cu trc, cch s dng ta dng lnh >>help tn_hm
V d Ta mun xem cu trc hm ode23
>>help ode23
1.7 V cc hm
Dng lnh fplot v cc hm, hm ny c th c sn(v d nh sin, cos . . .), hoc cc
hm to bi ngi dng vit trong M-file dng function
Cu trc:

fplot(Tn_hm,[Xmin ,Xmax]
,tol,N,LineSpec);hoc
fplot( @Tn_hm,[Xmin ,Xmax]
,tol,N,LineSpec);
Lu :i vi cc hm ton hc c sn(khng phi nh ngha) v d nh sin, cos ,... th
c th thc hin nh sau:
+ fplot(sin(x),2*pi*[-1 1] ) %v y=sin(x) vi x=[-2*pi 2*pi];
+ fplot([sin(x),tan(x),cos(x)], 2*pi*[-1 1] );

Trang 12

%v ba th trn cng mt ca s vi x=[-2*pi 2*pi] ;

Dng hm inline v d : f=inline(x+2); fplot(f,[0 2] );

i vi cc hm trong M-file c th s dng cc cch sau


V d: Tnh f1, f2, f3
function [f1,f2,f3]= FUNC(x)
f1= x+3;
f2=x;
f3=x.^2;
%lu vo file FUNC.m

Hm FUNC s tr v mt vector hng ng vi mi gi tr ca x, v d x=[x1;x2] th hm


FUNC s tr v ma trn sau y.
f1(x1) ,f2(x1), f3(x1)
f1(x2) ,f2(x2), f3(x2)

Li dng c im ny ta c th v nhiu th trn cng mt ca s thng qua v


d sau:
%To hm Y
function Y=myfun(x)
Y(:,1)=200*sin(x(:))./(x(:);
Y(:,2)=x(:).^2;

%lu vo file c tn l
myfun.m

Thc thi chng trnh trn trong Commandwindow


>>fplot( myfun,[-20 20] );
(hoc dng >>fplot(@myfun ,[-20 20] )
Cc thng s tol, N , LineSpec ln lot l sai s lin quan(tng i), s im t nht, biu

din thuc tnh ca ng.


Ch :Khi bn mun hn ch khong biu din c trc x v y th dng
Xmax Ymin Ymax] .

[Xmin

1.8 Lu v ly d liu
Vi Matlab khi thot khi chng trnh(tt),cc bin d liu(trongWorkspace) s b
mt,do vy khi thc hin li chng trnh bn phi khai bo li cc bin cn thit trn,

Trang 13

iu ny gy mt thi gian, v bin php tt l bn lu tt c cc bin cn thit cho


chng trnh ca bn vo file ring, v khi cn chng ta gi chng ra bng mt lnh

Lu d liu c th l :

Lu tt c cc bin trong vng lm vic( Workspace) hoc

Mt s bin nht nh tu theo nhu cu .


Sau y l cc cch lu cc bin d liu:
1.8.1 Lu v ly d liu di file nhi phn(binary)

Lu d liu:
>>save('C:\matlabR12\work\ten_file') %lu ton b bin trong Workspace
>>save('C:\matlabR12\work\ten_file', 'x','y')% ch lu bin x v y
Ch : C:\matlabR12\work\ten_file l ng dn ti file, thng thng khi ci t chng
trnh th mc nh l ci vo C (nu bn ci vo D, khi s dng lnh save, bn ch cn
thay i thnh :D:\matlabR12\work\ten_file)
V d:

%Vit trong Command Window


>>a=1;
>>b=1;
>>c=-2;
>>save('C:\matlabR12\work\Bien', 'x','y')
Khi phc li d liu dng lnh sau:
load ('C:\matlabR12\work\ten_file') % ly d liu
V d: By gi ta xo hai bin a v b ra khi chng trnh v thc hin lnh load ly li
d liu:

>>clear a ; %xo bin a


>>clear b ; %xo bin b
>> load ('C:\matlabR12\work\ten_file')
>>a %kim tra xem a khi phc li
cha
a=1
>>b%kim tra xem b khi phc li
cha
b=1
1.8.2 Lu v ly d liu di file ASCII
>>save('C:\matlabR12\work\ten_file','-ASCII').
Lu ton b bin trong workspace vo file
Trang 14

>>save('C:\matlabR12\work\ten_file','x','y','-ASCII').
Lu hai bin x v y vo file
>>load ('C:\matlabR12\work\ten_file', '-ASCII ').
khi thc hin lnh ny th trong Workspace s xut hin bin c tn l tn ca file , kch
p chut ln bin ny s xut hin d liu ca ton b bin c lu gi, vic truy nhp
n bin lu gi thng qua vic truy nhp kiu Matrn
V d Command window
>>a=2;
>>b=3;
>>c=4;
>>save('C:\matlabR12\work\ save')%lu 3 bin trong file tn save
>> load('C:\matlabR12\work\ save')%khi phc d liu
hoc
>> save('C:\matlabR12\work\ save', 'a','b')%lu hai bin a v b
trong file %tn save
Tng t:
>>a=3;
>>b=4;
>>save('C:\matlabR12\work\save','a','b','-ASCII')
>>load('C:\matlabR12\work\save','-ASCII') %khi phc d liu
Trong workspace s c bin save nh sau:
Kch p vo save s xut hin d liu ca hai bin a v b

Hoc n gin lu bin bn c th chn bin ri kch vo nt save trong ca s


Workspace
1.9 Cc ton t logic v cc lnh iu kin
Trang 15

1.9.1 Cc ton t quan h


Mt biu thc logic trong MATLAB c c t s so snh cc i lng khc
nhau(v d hai i lng A v B). Nhng k hiu th hin s so snh c gi l cc ton
t quan h , sau y l lit k cc ton t
Bng lit k cc ton t quan h
Ton t quan h
ngha
<
Nh hn vd A<B
>
Ln hn vd A>B
<=
Nh hn hoc bng A<=B
>=
Ln hn hoc bng A>=B
==
Bng vd A==B
~=
Khng bng vd A~=B
Cc ton t quan h thc hin vic s snh tng phn t ca mng, chng tr li mt
mng c cng kch thc vi hai mng trn( hai mng ban u phi c cng kch thc
nu khng s gy ra li),vi cc phn t trong mng l 0 hoc 1 tng ng vi cc quan
h so snh l sai hay ng

Trng hp c bit so snh hai s phc:


+ Khi dng cc ton t quan h l < hoc > th ch so snh phn thc ca n m thi .
+ Khi dng cc ton t quan h <= hoc >= th so snh c phn thc ln phn o

Khi so snh hai chui .


Dng ton t strcmp
Cu trc:
strcmp( chui1, chui2)
V d :
>>Chuoi1= Pham Duc Dai;
>>Chuoi2=Vu van van;
>>ss=strcmp(Chuoi1,
Chuoi2);
ss=0
Ch : Khi so snh mt s v hng vi mt ma trn th s c nhn vi mt m trn
ones(size(ma trn so snh)) sao cho n c kch thc ging vi ma trn cn so snh ri
mi so snh .
V d:
X=5; X>=[1 2 3 ; 4 5 6; 7 8 9] X=5*ones(3,3); X>[1 2 3 ; 4 5 6; 7 8 9]
Kt qu tr v :
ans=

Trang 16

1 1 1
1 1 0
>>X=5;
0 0 0

>>X >=[1 2 3 ; 4 5 6; 7 8
9]
ans
1
1
0

1
1
0

1
0
0

1.9.2 Cc ton t logic


(Logical Operator & | ~)
Cu trc:
Ton t logic

ngha

&

V vd A&B

Hoc vd A|B

o vd ~A

Cc k hiu & , | ,~ l cc ton t logic v hoc o. Chng thc hin trn tng phn t
ca ca cc mng so snh( ton t logic cho php thc hin trn nhiu mng vi yu cu
l cc mng phi c cng kch thc), kt qu tr v l mt ma trn c cng kch thc
vi cc ma trn so snh trn. Cc ton t logic thng dng lin kt cc biu thc quan
h.

Bng chn l:
u vo
And
Or
Xor
Not
A
B
A&B
A|B
xor(A,B)
~A
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
Mc u tin cao nht i vi ton t logic o( not ,~) , hai ton t and v | c cng mc
u tin , trong mt biu thc ton hc th chng c thc hin theo th t t tri sang
phi.
Ta c th s dng cc ton t and , or ,not & , | , ~ nh bng sau:
A&B
A|B
~A

and(A,B)
or(A,B)
not(A)

Trang 17

Ch trong cc biu thc s dng cc ton t locgic th ta nn dng du ngoc xc


nh r rng ,v m bo tnh tng thch trong cc phin bn mi ca Matlab
Tng kt:

Cc php tnh s hc s c thc hin trc khi thc hin cc biu thc logic.

Khi tnh ton ta nn thm du ngoc n lm biu thc tr nn sng sa hn.

Gp nhng biu thc phc tp s s l cc tnh ton s hc trc, sau cc ton


t logic c xem xt t tri qua phi .
1.10 Cc cu lnh iu kin, r nhnh

1.10.1 Cu lnh iu kin if.


Cu trc
% y l cu trc n gin nht.
if expression
Statements;
end;
% Cu trc s dng lnh elseif ,else v if c vit lin
if expression1
Statements;
elseif expression2
Statement;
else
Statements;
end
Biu thc expression bao gm cc ton t quan h v d nh (count<limit) hoc (heightoffset)>0 ), Ngoi ra n cn kt hp vi cc ton t logic lin kt cc biu thc quan
h.
V d 1: if (count<limit)&((height-offset)>0)
V d 2: Cho khong [a b], vit chng trnh chia khong ny thnh n khong bng nhau
vi n
function v= lnearspace(a,b,n)
cho
if n<2
trc.

error(Ban nhap sai, it nhat n phai lon


hon 1);
end;
h=(b-a)/(n-1);
v=a:h:b;
-------------------------------------------------------------------------Thc thi chng trnh trn trong Command window nh sau:
>> v=Soan1(5,1,5)
v =
5

Trang 18

V d 3: Chng trnh xc nh du ca s nhp vo :

function s= sign(x)
if x>0
s=1;
% so duong
elseif x<0
s=-1;
% so am
else
s=0;
% so =0
end;
Nguyn tc lm vic ca lnh if nh sau :Khi biu thc expression ng th cu lnh ngay
sau lnh if c thc hin nu sai cu lnh s c b qua n lnh elseif

Mt biu thc s snh l ng nu tt c cc phn t so snh ca hai mng (hoc hai ma


trn) tr v ga tr 1
V d:
A=[ 1 0; 2 3]; B=[1 1; 3 4];
Th : + A<B l sai v A(1,1) khng nh hn B(1,1);
+ A<(B+1) l ng bi v khng phn t no trong A ln hn phn t trong B tng
ng
% Cu trc khi s dng lnh else if
if expression1
statements1;
else
if expression2
statements2;
end
end
Ta thy trong cu trc trn th c hai lnh if ring bit cho nn phi c hai t kt thc l
end.
Bi tp v d: Nhp vo bn phm im ca mt hc sinh ri in ra nh gi :
Diem= input(nhap diem vao=);
if ( Diem< 5)
Trang
19
fprintf(Hoc luc
yeu);
elseif( Diem>=5)&(Diem<7)
fprintf(Hoc luc trung binh);

1.10.2 Vng lp for


Cu trc:
for i= imin :i: imax
statements;
end
i : L bc nhy ca vng lp for, gi tr mc nh l =1;
V d: Tnh tng s= 1+2^p +3^p+ ... n^p ; ( p l s m )
function s= Sump(n , p)
s=0;
for i=1:n ; s=s+i^p ;end;

Hai chng trnh sau y l ging nhau

for i=1:100;
y(i)=sin(i);
end;

x=1:100;
y=sin(x);

1.10.3 Vng lp while


Cu trc:
while( bieu_thuc_logic)
statements;
end;
Trc ht vng lp kim tra xem nu biu thc logic ng th thc hin cc cu lnh
statements.
n=input(Nhap n=);
V d:
s=0; i=0;
while( i<n)
s=s+i;

end;
1.10.4 Lnh ngt break , error, return

Trang 20

Lnh break :Tc dng iu khin chng trnh nhy ra khi vng lp for hay while
gn n nht.
V d:Nhp mt s dng nu m th nhp li

while 1
n= input(nhap n=);
while(n<0)
%Vong lap while2
break;
%Thoat khoi vong lap while2
end
if n>0
break;
%Thoat khoi vongwhile chinh
end

end
1.10.5 Lnh error v lnh return
- Lnh error: Dng thng bo li , hin th cho ngi lp trnh bit l li g ?
V d: error(error message); hin th thng ip li khi thc hin cu lnh ny.

a=input(Nhap a=);
b=input(Nhap b=);
% Thuc hien a: b
if b==0
error(divide by zeros);
end;
Khi thc thi chng trnh trn ( nhp b=0) th xut hin dng ch
Nh sau:
??? Error using ==> soan1
divide by zeros
Ch rng soan1 l tn file lu chng trnh trn
- Lnh return: Thng c s dng trong cc hm ca MATLAB. Lnh return s cho
php quay tr v thc thi nhng lnh nm trong tc dng ca lnh return.
1.10.6 Bin ton cc
Bin ton cc c dng trong phm vi ton b cc chng trnh, nu cc chng trnh
khai bo bin ton cc .

Cu trc:
global x y z % khai bo ba bin ton cc x y z

Trang 21

V d n gin sau:
function[ u,v]=Main(x,y)
global a b;
Tinhham(x,y,z);

u=a;v=b;
%Chng trnh con tnh hm
function Tinhham(x,y,z)
global a b;
a=x^2 +y^2+ z^2;

b=x^3 +y^3+
z^3;
Thc thi chng trnh:
>> x=2,y=3,z=4;
>> [u,v]=Main(x,y,z);
1.10.6 nh dng d liu ra
Cc php tnh trong MATLAB c thc hin vi chnh xc cao, ta c th nh dng
cho cc s xut ra mn hnh tu tng yu cu c th:
V d s a= 4/3 vi

format short (y l ch mc nh gm 4 s sau du phy)


a=1.3333

format short e
a= 1.3333e+00

format long
a=1.3333333333333

format lang e
a=1.3333333333333e+000
Ngoi cch ny ra ta nh dng d liu bng thanh tool cng c trn mn hnh
V d: G cc lnh sau trong ca s CommandWindow
>>format long
>>a=4/3
a=
1.3333333333333

1.10.7 Mt s hm ton hc thng thng hay s dng

Trang 22

Tn hm

ngha

Sin
Cos
Tan
Asin
Acos
Atan
Angle
Fix
Floor

Hm sin
Hm cos
Hm tan
Hm acsin
Hm accos
Hm tnh arctg
Ly gc pha
Lm trn hng 0

Exp
Ceil

Hm e m
Lm trn hng -

Log
log10
sqrt(x)

Logarit c s e
Logarit c s 10
Cn bc hai

Lm trn hng -

1.11 Cc hng s c s dng trong Matlab

K t inf thay th cho trong ton hc

Inf : l s v cng ln m Matlab khng th hin c


v d:
>> 5/0
ans =
inf

K t

NaN thay th cho mt s khng xc nh

v d:
>> 0/0
ans=
NaN

K t

pi

K t

eps

th hin l s =3.14159..

1.12 S phc trong Matlab


S dng i v j th hin phn o vi i= j= sqrt(-1)
V d:
>> 5+6i
ans =
Trang 23

5.0000 + 6.0000i
>> 5+6j
ans =
5.0000 + 6.0000i

Ch khi lm vi s phc cn phn bit : y= 7/2*i v x= 7/2i cho hai kt qu khc nhau
>> y= 7/2*i
y =
3.5*i
>> x=7/2i
x=
-3.5i
V d cc php tnh v s phc:
>> s=3+7i
>>w=5-9i
>>w+s
>>w-s
>>w*s
>>w/s

1.13 Cc lnh thot khi chng trnh,lit k cc bin, xo bin .

Lnh exit : Tc dng thot khi chng trnh .

Lnh clc (clear command) xo tt c cc lnh trong ca s CommandWindow

Lnh clear xo ton b cc bin trong b nh hin thi .

Lnh clear <danh sch bin> Xo danh sch bin c lit k ra.

Lnh whos

Lnh quit cng ging nh lnh exit

cho bit tt c cc bin hin thi, kch thc nh bin .

Cc phm mi tn ln xung (trn bn phm) c dng gi li cc lnh thc


hin trc .

Cu hi& Bi tp cui chng


Nu c im ca cc ca s ( CommandWindow, history .)
1. S dng Lnh trc tip t ca s command window v gin tip t cc file
2. Cc cu lnh iu kin , vng lp
3. Lu v ly d liu cho mt hoc nhiu bin.
Bi tp1 : Gii h phng trnh bc nht dng dng nhc gn gi tr bin nhp cc h s
a,b,c,d,m,n
h cho nh sau:
ax +by=m

Trang 24

cx+dy=n
Bi tp 2: Sinh vin v cc hm sau
a. V c tnh iode vi quan h dng in v in p trn iode nh sau
i=I0*(exp(40*v)-1)(A); I0=1.E-6; vector v=[-10:0.005:0.8] .
Sinh vin thc hin theo hai cch vit trc tip trong CommadWindow v vit hm trong
M-file.
b. V cc hm c bn sin(x) ,cos(x) ,tan(x)... dng lnh fplot .
c. V hm y= sin(x)/x , y=x, y=sin(x) trn cng mt th .
Bi tp3 : Lu tt c cc bin bn dng trong qu trnh thc hnh vo file ring ca
mnh, ln sau ly ra dng li.
Bi 4:Lp chng trnh dng hm function gii phng trnh bc hai
Bi 5:Lp hm tnh hm truyn kn cc s h thng iu khin trong sch l thuyt
iu khin t ng
Bi 5:Lp hm function [Q, R]=divide (a,b) tm thng v s chia hai s a v b

Trang 25

Chng 2

Th vin ton hc kiu k t


(symbolic matlab)
2.1 Gii thiu v th vin ton hc kiu k t
Symbolic matlab l th vin cc php ton kiu k t c a vo mi trng
tnh s hc ca matlab , th vin ny lm phong ph v tin ch thm vi nhiu kiu tnh
ton v ton hc khc cho phn tnh s hc v ho c trc y trong th vin
Matlab.
2.2 Cc lnh c bn khai bo bin symbolic
2.2.1 Lnh syms v lnh sym
+ Nhim v to i tng (bao gm c bin) symbolic
Cu trc:
syms arg1 arg2 ...
syms arg1 arg2 ... real
syms arg1 arg2 ... unreal
M t
Khai bo cc bin arg1 , arg2 l cc bin symbolic c hai cch khai bo dng lnh syms
hoc lnh sym nh sau:
syms arg1 arg2 ...
Khai bo cc thng s arg1, arg2 l cc bin symbolic , ta c th khai bo nh sau
arg1 = sym('arg1');
arg2 = sym('arg2'); ...
Tng t :
syms arg1 arg2 ... real l k hiu ngn gn cho
arg1 = sym('arg1','real');
arg2 = sym('arg2','real'); ...
Cc bin khai bo nh trn l cc bin thc kiu symbolic .Vy th cc bin ny khc g
cc bin khai bo khng c c tnh real?
Ta phn bit nh sau: i vi mt bin thc symbolic th n c cc tnh cht ca s thc
v d nh (arg)2>0 (khi khai bo l syms arg real) cn khi bn khai bo l syms arg th
cc bin ny ch n thun l bin symbolic khng c cc tnh cht ca s thc tc l
(arg)2 s khng c du ,m ch coi l cc k t symbolic m thi
Tip tc

Trang 1

syms arg1 arg2 ... unreal l k hiu ngn gn cho


arg1 = sym('arg1','unreal');
arg2 = sym('arg2','unreal'); ...
V d:
syms x beta real ging nh vic khai bo
x = sym('x','real');
beta = sym('beta','real');
xo i tng symbolic x v beta khi (trng thi) 'real'
ta lm nh sau
syms x beta unreal
Ch : clear x s khng xo i tng symbolic x khi trng thi 'real'. Bn c th thc hin
c iu trn(tc l xo x khi trng thi s thc) bng
cch s dng cc lnh syms x unreal or clear mex or clear all.
2.2.2.Lnh sym
To mt s, mt bin v mt i tng symbolic
Cu trc nh sau
S = sym(A)
x = sym('x')
x = sym('x','real')
x = sym('x','unreal')
S = sym(A,flag) where flag is one of 'r', 'd', 'e', or 'f'.
M t:
S = sym(A) To mt i tng S ca lp 'sym' t A.Nu thng s u vo l mt chui ,
kt qu l mt s ,mt bin symbolic.Nu thng s u vo l mt s v hng hay mt
matrn, kt qu l mt th hin ca cc s cho di dng symbolic
x = sym('x') To bin symbolic vi tn l x cha kt qu trong x
x = sym('x','real') cho rng x l thc cho nn conj(x) bng vi x(c th coi y l phng
php kim tra s thc )
V d: x = sym('x','unreal') lm cho bin x(trong sch) v khng c c tnh no
thm(m bo rng x khng phi l bin thc)

V d
+ pi= sym('pi') kt qu cho li gi tr s pi (u vo l mt chui)
+ Lnh pi = sym('pi') v delta = sym('1/10')
Kt qu delta= 1/10 ;
Cu trc sau cho php chuyn i s symbolic sang cc dng s thc v cc dng s khc
tu thuc vo flag l ' r ' , ' d ' ,' e ' hoc ' f '

Trang 2

S = sym(A,flag) flag l mt trong 'r', 'd', 'e', or 'f'.


V d : To ma trn symbolic A
A=[ 1 2 3 ; 4 5 6];
>>A=[ 1 2 3; 4 5 6];
>>A=sym(A)
Kt qu tr v ma trn A= [ 1 2 3]
[ 4 4 6]
V d: To bin symbolic x ,y, z
>> syms x y z ;% hoc sym('x' ) hoc sym('y') . . .
>> f= x^2 + y^2 +z^2;

V d To s symbolic a= 5
>> a= sym('5')
a=
5
Thng thng hiu qu ca vic s dng lnh sym l chuyn i mt ma trn t s
sang dng phom symbolic .Lnh
A = hilb(3)
To ma trn Hilbert
A=
1.0000 0.5000 0.3333
0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
p dng sym cho A
A = sym(A)
Bn c th t c matrn symbolic Hilbert c kch thc 3-by-3
A=
[ 1, 1/2, 1/3]
[ 1/2, 1/3, 1/4]
[ 1/3, 1/4, 1/5]
Ta thy rng khi p dng lnh symbolic cho s hoc ma trn th kt qu thu li s chnh
xc hn
2.2.3 Php Tnh vi cc bin v s symbolic
Cc php tnh c bn v ma trn u c dng i vi cc s v bin symbolic.
V d v php cng hai Ma trn symbolic(hoc vi mt ma trn khng phi l symbolic)
>> syms a b c;
>> a=[a b c ; b c a];
>> d=[1 2 3 ;4 5 6];
Trang 3

>> a+d
ans =
[ a+1, b+2, c+3]
[ b+4, c+5, a+6]
>> A=sym([1 2 3 ; 4 5 6]);
>> B=sym([2 3 4 ;5 6 7]);
>> A+B
ans =
[ 3, 5, 7]
[ 9, 11, 13]
Tng t cho php nhn v php chia ( * / \ ./ .\)
2.3 To hm symbolic
Thng thng c hai cch to hm Symbolic

To hm bng biu thc symbolic f= f(x,y,z...) trong x, y z c khai bo l cc


bin symbolic

To trong M-file

To trc tip cc hm .
2.3.1 To hm t cc biu thc symbolic
Hm to ra cha cc bin phi l bin symbolic
V d to hm f= 3*x^2 + 2*x + 1 ta lm nh sau
>> syms x % khai bo x l bin symbolic
>> f= 3* x^2 + 2*x +1 % f l hm symbolic
v d:
syms x y z
r = sqrt(x^2 + y^2 + z^2)
t = atan(y/x)
f = sin(x*y)/(x*y)
To biu thc symbolic r v t v f .
Ch Ch khi to mt hm symbolic th Bn mi c php s dng lnh limit ,diff, int,
subs, v cc hm ton hc symbolic khc
2.3.2 To Hm Symbolic t M-file
To mt hm bng cu trc function , trong u vo l cc bin cn thit lp hm ,
u ra l bin cha hm nh vy cch to hm ging vi to hm thng thng ,V th

Trang 4

Matlab hiu rng y l hm symbolic th ta pah lu vo file c ng dn nh sau


C:\matlabR12\toolbox\symbolic\@sym\ten_ham
V d to hm symbolic z= sin(x)/x
function z = sinc(x)
%SINC The symbolic sinc function
% sin(x)/x. This function
% accepts a sym as the input argument.
if isequal(x,sym(0))
z = 1;
else
z = sin(x)/x;
end
V d : Mun to hm symbolic f= 3*x^2 + 2*x + 1
function f= tao_ham( x)
f= 3*x^2 + 2*x + 1
%Lu vo ng dn C:\matlabR12\toolbox\symbolic\@sym\tao_ham
%------------gi hm trong command window-------->> syms x
>>f= tao_ham(x)
f= 3*x^2 + 2*x + 1
2.3.3 To hm trc tip
Ta c th to hm trc tip nh sau f= 3*x^2+ 2*x+1
>> f=sym('3*x^2 + 2*x +1')
Tuy nhin to hm nh trn th f l hm symbolic, nhng bn thn bin x li khng phi
l bin symbolic
Khi khai bo hm kiu ny ,mun s dng bin x ta thm hai du ' x '
>> f= sym('3*x^2+ 2*x +1');
>> g=subs(f,'x','x+h')
g=
3*(x+h)^2+ 2*(x+h) +1
>> df=(subs(f,'x','x+h')-f)/'h'
df =
(3*(x+h)^2+2*h-3*x^2)/h
>> diff(f,'x')
ans = 6*x+2
V d : Tnh 6!
Ta to hm tnh trc tip nh sau
>> f=sym('x!');

Trang 5

>> subs(f,'x',6)
ans =
720
V d to hm 1/ x!
>> f=1/sym('x!');
>> subs(f,'x',n)
>> subs(f,'x','n')
ans =
1/(n)!
2.4 To bin thc v bin phc
To bin phc v d z= x+ i* y th ta phi khai bo x v y l cc bin symbolic thc tc l:
syms x y real
z = x + i*y
I.
Gii thch
To bin symbolic x v y ,cc bin ny c c s cng thm cc tnh cht ton hc ca
mt bin thc .C th n c ngha rng biu thc
f = x^2 + y^2
f >=0. Cho nn, z l mt bin phc
conj(x)= x;conj(z)=x-i*y;expand(z*conj(z))=x^2+y^2
xo x khi l mt bin thc ,bn phi dng lnh nh sau
syms x unreal
hoc
x = sym('x','unreal')
Lnh sau
clear x
khng lm cho x khi l mt s thc
2.5 Lnh findsym
Tm cc bin trong biu thc symbolic hoc matrn
Syntax
r = findsym(S)
r = findsym(S,n)
M t
findsym(S) Tr v tt c cc bin symbolic trong S c cch nhau bi du phy(trong in
alphabetical order).Nu S khng cha bt k mt bin no findsym tr v mt chui rng
findsym(S,n) tr v n bin alphabetically gn x nht
V d
syms a x y z t
findsym(sin(pi*t)) returns pi, t.
Trang 6

findsym(x+i*y-j*z) returns x, y, z.
findsym(a+y,1) returns y.
2.6 Tnh ton
Cng c ton dc symbolic cung cp cc hm thc hin cc ton t c bn ca php
ton
o hm , gii hn , tch phn, tng v m rng chui Taylor.
2.5.1 Lnh symsum
Symbolic summation.
Syntax
r = symsum(s)
r = symsum(s,v)
r = symsum(s,a,b)
r = symsum(s,v,a,b)
M t
*symsum(s) l tng ca biu thc symbolic s theo bin symbolic ca n l k c xc
nh bi lnh findsym t 0 n k-1
*symsum(s,v) l tng ca biu thc symbolic theo bin symbolic v c xc nh t 0
n v-1
*symsum(s,a,b) and symsum(s,v,a,b) nh ngha tng ca biu thc symbolic theo bin v
t v=a n v=b
V d
Cc lnh sau:
syms k n x
symsum(k^2)
tr v kt qu
1/3*k^3-1/2*k^2+1/6*k
symsum(k) tr v
1/2*k^2-1/2*k
symsum(sin(k*pi)/k,0,n) tr v
-1/2*sin(k*(n+1))/k+1/2*sin(k)/k/(cos(k)-1)*cos(k*(n+1))1/2*sin(k)/k/(cos(k)-1)
symsum(k^2,0,10) tr v kt qu sau
385
V d:
>> syms x k;
>> symsum(x^k/sym('k!'), k, 0,inf)%inf la +vo cung
ans =

Trang 7

exp(x)
>> symsum(x^k/sym('k!'), k, 0,5)
ans =
1+x+1/2*x^2+1/6*x^3+1/24*x^4+1/120*x^5
Ch : Cc v d trc s dng sym to biu thc symbolic .k!
2.5.2 Tnh o hm
By gi chng ta to cc bin v hm
syms a x
f = sin(a*x)
sau
diff(f)
Lnh ny s tnh o hm ca f vi bin symbolic ca n (trong trng hp ny l x),
nh c nh ngha bi lnh findsym
ans =
cos(a*x)*a
tnh o hm vi bin a ta lm nh sau
diff(f,a)
N tr v df/da.
ans =
cos(a*x)*x
tnh o hm bc hao vi bin x v a ta lm nh sau
diff(f,2)
hoc
diff(f,x,2)
Tr v
ans =
-sin(a*x)*a^2
v
diff(f,a,2)
N tr v
ans =
-sin(a*x)*x^2
nh ngha a,b,x,n,t v theta trong Matlab workspace, s dng lnh sym. Bng sau cho
thy tc dng ca lnh diff
f

diff(f)

Trang 8

X^n

x^n*n/x

Sin(a*t+b)

cos(a*t+b)*a

Exp(i*theta)

i*exp(i*theta)

Example:
syms a x
A = [cos(a*x),sin(a*x);-sin(a*x),cos(a*x)]
N tr li
A=
[ cos(a*x), sin(a*x)]
[ -sin(a*x), cos(a*x)]
Lnh
diff(A)
Tr v
ans =
[ -sin(a*x)*a, cos(a*x)*a]
[ -cos(a*x)*a, -sin(a*x)*a]
2.5.3 sym2poly
Bin i a thc symbolic sang vec t h s a thc ca

Cu trc
c = sym2poly(s)
M t
sym2poly tr v mt vector hng, vc t ny cha h s ca a thc symbolic. Cc h s
ny c xp theo th t tng ng vi s m ca bin c lp ca a thc
V D
Cc lnh sau y:
syms x u v;
sym2poly(x^3 - 2*x - 5)
Tr v
1 0 -2 -5
trong khi
sym2poly(u^4 - 3 + 5*u^2) Tr v
1 0 5 0 -3
v sym2poly(sin(pi/6)*v + exp(1)*v^2) tr v
Trang 9

2.7183 0.5000
0
2.5.4 Tnh gii hn Limit
Cng c ton hc symbolic cho php bn tnh gii hn ca hm theo cch thng thng
.Cc lnh sau
syms h n x
limit( (cos(x+h) - cos(x))/h,h,0 )
Tr v kt qu
ans =
-sin(x)
v
limit( (1 + x/n)^n,n,inf ) % n tin ti v cng
N tr v kt qu
ans =
exp(x)
Th hin hai trong tt c gii hn quan trong nht trong ton hc,o hm (trong trng
hp ny l cos(x)) v hm e m x
gii hntn ti khi cho bin tin ti hai pha ( l, kt qu l ging nhau bt k tin bn
phi hay bn tri ).Nu kt qu khc nhau hai pha th o hm khng tn ti
Cho nn o hm sau kt qul khng xc nh v Cng c ton hc symbolic tr v gi
tr l NaN
Lnh
limit(1/x,x,0)
hoc
limit(1/x)
returns
ans =NaN
Lnh
limit(1/x,x,0,'left')
Tr v
ans =
-inf
Trong khi lnh.
limit(1/x,x,0,'right')
Tr v:
ans =
inf
Quan st thy rng trng hp mc nh, limit(f) ging vi limit(f,x,0).

Trang 10

La chn cho lnh limit trong bng trn, chng ta gi s rng f l mt hm symbolic vi
i tng x
II.
2.5.5 Tnh Tch phn
Nu f l mt biu thc symbolic th tch phn ca hm f l
int(f)
Tm mt biu thc symbolic F tho mn diff(F)=f, th F l gi tr tr v ca int(f)
Tng t hm int(f,v)
int(f,v) S dng i tng symbolic v nh l bin ca tch phn,
V d To cc bin symbolic sau
syms a b theta x y n x1 u
F

Int(f)

x^n

x^(n+1)/(n+1)

y^(-1)

Log(y)

n^x

1/log(n)*n^x

Sin(a*theta+b)

-cos(a*theta+b)/a

Exp(-x1^2)

1/2*pi^(1/2)*erf(x1)

1/(1+u^2)

Atan(u)

Bng th hin kt qu tch phn ca mt s hm


nh ngha tch phn cn c th hin nh sau
int(f,a,b)
hoc int(f,v,a,b) % Tnh tch phn f theo bin v t a n b
2.6 Gii phng trnh - H phng trnh i s
Gii phng trnh-h phng trnh dng lnh solve
Mc ch: Gii mt hoc nhiu phng trnh i s tuyn tnh symbolic
Cu trc
g = solve(eq)
g = solve(eq,var)
g = solve(eq1,eq2,...,eqn)
g = solve(eq1,eq2,...,eqn,var1,var2,...,varn)
Trang 11

M t
Eq l biu thc n hoc mt phng trnh.u vo gii(tm nghim) c th l biu
thc hoc chui symbolic.Nu eq lmt biu thc symbolic (x^2-2*x+1) hoc mt chui,
chui ny khng cha mt phng trnh, nh ('x^2-2*x+1'), th solve(eq) l gii phng
trnh eq=0 Vi bin mc nh ca n c xc nh bi hm findsym.solve(eq,var) tng
ng vi vic gii phng trnh eq (hoc eq=0 trong hai trng hp trn) i vi bin
var(gii phung trnh vi bin l var)
V d : >> solve(' x^2 + 2*x +1 ' , 'x' ) tc l gii phng trnh x^2+2*x+1=0 vi bin
l x
>> solve(' y*x^2 + x *y+1 ' ,'y')
H phng trnh. u vo l cc biu thc symbolic hoc cc chui xc nh phng
trnh.
solve(eq1,eq2,...,eqn) gii h cc phng trnh to bi eq1,eq2,...,eqn trong n bin c
xc nh bng cch p dng lnh findsym cho ton h (in the n variables determined by
applying findsym to the system)
Ba loi khc nhau ca u ra c th.
+ i vi mt phng trnh v mt u ra, kt qu (sau khi gii ) c tr v vi nhiu
kt qu cho phng trnh tuyn tnh (with multiple solutions for a nonlinear equation)
+ i vi h thng phng trnh c s u ra cn bng, kt qu c cha trong
alphabetically v c k hiu nh l u ra.(cha trong alphabetically tc l cha theo
th t ch ci)
+ i vi h thng phong trnh c s u ra l n,kt qu tr v l mt cu trc
V d
solve('a*x^2 + b*x + c') tr v
[ 1/2/a*(-b+(b^2-4*a*c)^(1/2)),
1/2/a*(-b-(b^2-4*a*c)^(1/2))]
solve('a*x^2 + b*x + c','b') tr v
-(a*x^2+c)/x
>> n=solve('x + y = 1','x - 11*y = 5')
n=
x: [1x1 sym]
y: [1x1 sym]
>> n.y
ans =.
-1/3
>> n.x
ans =

Trang 12

4/3
>> [x, y]=solve('x + y = 1','x - 11*y = 5')
kt qu:
x= 4/3
y=-1/3
>>A = solve('a*u^2 + v^2', 'u - v = 1', 'a^2 - 5*a + 6')
Tr v dng cu trc
A=
a: [1x4 sym]
u: [1x4 sym]
v: [1x4 sym]

A.a =
[ 2, 2, 3, 3]
A.u =
[ 1/3+1/3*i*2^(1/2), 1/3-1/3*i*2^(1/2),
1/4+1/4*i*3^(1/2), 1/4-1/4*i*3^(1/2)]
A.v =
[ -2/3+1/3*i*2^(1/2), -2/3-1/3*i*2^(1/2),
-3/4+1/4*i*3^(1/2), -3/4-1/4*i*3^(1/2)]
2.7 Bin i laplace
2.7.1 Bin i thun Laplace
Cu trc
laplace(F)
laplace(F,t)
M t
L = laplace(F) l bin i laplace ca F vi bin c lp mc nh l t. kt qu mc nh
tr li l hm ca s. Bin i laplace c p dng cho mt hm ca bin t v tr li mt
hm ca bin s
Nu F = F(s), laplace tr li mt hm ca t
Bng cch nh ngha
t l bin kiu symbolic trong F c xc nh bi hm findsym.
L = laplace(F,t) to ra L,mt hmca t thay mc nh l hm ca s.
L = laplace(F,w,z) to ra L,mt hm ca z trong F,mt hm ca w thay th bin mc
nh l s v t tng ng
2.7.2 Bin i ngc laplace
Mc ch: Bin i ngc laplace
Trang 13

Cu trc
F = ilaplace(L)
F = ilaplace(L,y)
F = ilaplace(L,y,x)
M t
F=ilaplace(L) l php bin i ngc Laplace ca i tng v hng symbolic Lvi bin
c lp l s. tr li mc nh l mt hm ca t.Bin i ngc laplace c p dng cho
mt hm ca s v tr v mt hm ca t .Nu L = L(t), ilaplace tr v mt hm ca x.
Bng cch nh ngha
c l mt s thc c chn cho nn tt c all singularities of L(s) are to the left of the
line s = c, i.
F = ilaplace(L,y) to ra F l mt hm ca y thay v mc nh t.
y l mt i tng symbolic v hng.
F = ilaplace(L,y,x) F l mt hm ca x v L l mt hm of y thay v mc nh l s v t.
2.8 Vn tch phn vi hng s thc
Mt trong nhng tinh t lin quan ti o hm cc hm symbolic l
du ca cc bin(coi l hng s) khi bn bnh phng bin . y ta hiu rng khi bn
coi mt bin no trong biu thc l bin(v d bin ly tch phn) th cc bin cn li
c coi l hng s v Matlab s khng hiu c l n dng hay m(coi ch l k t ).
V d, biu thc
L dng, th c hnh chung cong tin ti 0 khi x tin ti inf vi mi s thc k.
Mt v d v ng cong c cho thy di y vi

c to ra, s dng nhng lnh sau


syms x
k = sym(1/sqrt(2));
f = exp(-(k*x)^2);
ezplot(f)
The Maple kernel, khng coi k2 hoc x2 l cc s dng.Maple cho rng bin symbolic x
v k l khng xc nh. C ngha rng,chng l bin v khng c thm c tnh ton hc
no.
Thng thng tnh tch phn hm trn ta lm nh sau

Trang 14

Trong cng c ton hc symbolic , s dng hm


syms x k;
f = exp(-(k*x)^2);
int(f,x,-inf,inf)
v kt qu l

Definite integration: Can't determine if the integral is


convergent.
Need to know the sign of --> k^2
Will now try indefinite integration and then take limits.
Warning: Explicit integral could not be found.
ans =
int(exp(-k^2*x^2),x= -inf..inf)
Trong li cnh bo trn bn ch thy dng lnh Need to know the sign of----> k2
tm dch l khng hiu du ca k2. M hp l ton hc l k2 phi dng do vy bn phi
khai bo sao cho k2 >0 bng cch

---> To bin Real s dng lnh sym


Ch rng Maple khng th nh ngha du ca biu thc k^2. Bng cch no c th vt
qua tr ngi ny? Cu tr li l to bin k bin thc. S dng lnh sym.
syms k real
int(f,x,-inf,inf)
tr v
ans =
signum(k)/k*pi^(1/2)
2.9 V th Dng hm ezplot cho cc bin, s symbolic
Cu trc: ezplot( y ,[ xo xm]): V y theo bin x thuc khong [ xo xm]
V d:
>> syms x y;
>> y= x.^2;

Trang 15

>> ezplot(y,[1 10]), grid on

Cc bn ch rng lnh ezplot trn dng v trong khng gian 2D ( khng gian 2 chiu
) , cn v trong khng gian 3D khng c g kh khn ta dng lnh ezplot3 ,cc bn t
tham kho thm sch .
Cu hi n tp
1. Nhng tin ch khi s dng th vin ton hc symbolic l g ?.
2. lnh findsym c tc dng g ?.
3. Th t u tin cc bin khi s dng bin mc nh ? .
4. C my cch to hm symbolic? Em hy so snh cc cch .
5. Du ca cc bin symbolic nh th no ?
6. V th hm symbolic, bng hm v thng thng plot c c khng ?
Bi tp
1. To hm symbolic sau
Y= x2 + x + y+ z + 1;
Bn hy nu th t u tin cc bin .
2. To hm symbolic sau dng cc cch to hm khc nhau ri tch o hm , tch
phn ca n Y= 1/( 5+ 4* cos(x) )
3. V th hm trn, theo hai cch thng thng v s dng symbolic

Trang 16

Chng 3

Ma trn v mng trong Matlab


3.1 Nhp ma trn trong Matlab
3.1.1 Cc Cch nhp matrn trong Matlab
Matlab cung cp mt vi phng tin cho ngi s dng to ra mt matrn, mi
phng tin c nhng u im ca n v c s dng tu theo tng yu cu bi ton.Ni
chung Matlab cung cp ba phng tin.

Nhp Matrn trc tip t ca s command Window.

Nhp Matrn t mt file( s dng M-file hoc load)

Nhp matrn t nhng hm c sn trong Matlab.


a. Nhp Matrn trc tip t ca s command Window
Trong mn hc ton cao cp chng ta bit nhp mt matrn nh sau
A=

1 2
4 5
7 8

3
6
9

y l mt ma trn c s hng m = 3 v s ct n= 3
nhp matrn trn trong Matlab ta nhp trc tip nh sau
T dng nhc lnh trong ca s command Window >> ta nhp
>> A=[ 1,2,3 ; 4 5 ,6;7 8 9]; hoc >>A=[ 1 2 3
456
7 8 9];
Cc hng c cch nhau bng mt du chm phy (;) nh trn,cc phn t trong mt
hng c cch nhau bng du cch(thanh space) hoc du phy(,) . Kt thc dng lnh
c hoc khng c du ;
Nu khng c du chm phy cui dng th Matlab s in ra kt qu matrn va nhp
Nh v d trn:
>> A=[ 1,2,3 ; 4 5 ,6;7 8 9] nhn Enter s cho kt qu l
A=
123
456
Trong trng hp s phn t trn mt hng qu di ta c th xung dng bng du ba
chm ...
V d
>> b=[1,2,3,4,...
5 6 7 8 9] % y matrn 9 hng v mt ct

Trang 1

Lu rng trong mt s trng hp matrn hoc mng d liu di th vic khng thm
du chm phy sau cu lnh nhp, Matlab s in ra s liu di trong ca s command
Window, gy kh nhn cho ngi dng
b. Nhp Matrn t M-file
Ta c th nhp mt matrn bng ca s son tho M-file, m ca s ny bng cch vo
File- New- M-file. Mt ca s son tho s c hin ra cho php bn son tho di
dng text, do l ca s son tho dng text cho nn bn c th son tho t file word sau
copy vo ca s M-file. nhp matrn ta son tho tng t nh trong ca s
command window sau lu vo file nh sau:
V d:
A=[1 2 3 ; 4 5 6 ; 7, 8,9];% khng c du chm phy s in ra kt qu
Cng tng t nh trn nu s phn t trn mt hng qu nhiu th ta c th xung dng
A=[1 2 3 4 ...
5 6 7 8 9 10];
Sau khi kt thc son tho ta lu vo tn_file .
thc thi cc lnh nhp trong M-file ta dng lnh sau trong command window nh
sau: >> ten_file ;
c. Nhp matrn t cc hm c sn
Matlab c mt th vin cc hm cho php to ma trn.Sau y l mt s hm

ones(m,n) to ma trn m hng v n ct ,vi cc phn t u bng 1, ones(m) to ma


trn vung cp m, vi cc phn t u l 1.

zeros(m,n) to ma trn kch thc m x n, vi cc phn t u bng 0, zeros(m) to ma


trn vung cp m.

eyes(m,n) to ma trn kch thc m xn vi cc phn t u bng 1, eyes(m) to ma


trn vung cp m .
v d:
ones(2,3)
ans=
1 1 1
1 1 1
eyes(2,3)
ans=
1 0 0
0 1 0
zeros(2,3)
ans=
0 0 0

Trang 2

0 0 0
3.2 Ma trn s phc
S phc trong matlab c vit nh sau:
V d s phc 3+4*i dng i ch s o
>> a=3+ 4*i
a=
3+ 4*i
Nu mun ii ch s o
Ta nh ngha ii= sqrt(-1)
Sau bn vit:
>> a=3+ 4*ii
a=
3+ 4*i
>>A=[ 1+2*i , 3+4*i ; 5+6*i, 4+5*i ]
A=[ 1+2*i 3+ 4*i
5+6*i 4+5*i ]
3.3 To vec t
Khi ta cn kho st c tnh ca th no trong mt khong xc nh, khong xc
nh ny c biu din di dng vect
V d kho st c tnh th trong khong x=1 n 100
>> x= 1:100; % x ly gi tr t 1 n100, bc tng ca x l 1
>>t=0: 0.1 : 10;% bc nhy l ca t l 0.1
Cng thc chung to vec t l X=Xmin : bc_tng: Xmax
3.4 Truy nhp cc phn t ca ma trn
truy nhp cc phn t ca ma trn ta lm nh sau:
Gi s ma trn
A=

1 2
4 5
7 8

3
6
9

Th >> A(i,j) ; s truy nhp n phn t hng th i v ct th j


V d truy nhp n phn t th nht ta :
>> A(1,1)
ans=
1
c bit gi ton b s hng hoc ton b s ct dng ton t (:)
>> A(:,1) % gi ton b s hng tng ng vi ct 1
ans=

Trang 3

1
4
7
>>A(1,:) % gi ton b s ct tng ng hng 1
ans=
2 3
>> A(1:2,1) % gi hng 1 n hng 2 tng ng vi ct th nht
ans=
1
4
>>A(1:2,:) % gi hng 1 n hng 2 tng ng vi tt c cc ct
ans=
123
456
3.5 Php tnh ma trn v mng
a. Php tnh ma trn

Php tnh cng , php tnh tr :iu kin hai ma trn A v B phi c cng kch thc
hoc mt trong hai l s v hng
v d:
>>a=[1 2 3 ;4 5 6; 7 8 9];
>>b=[2 3 4; 5 6 7; 8 9 10];
>>a+b;
ans=
5 7
9 11 13
15 17 19
Nhn hai ma trn
A*B lu rng s ct ca ma trn A phi bng s ct ca ma trn B, ngoi tr mt trong
hai l s v hng
Chia tri ma trn (\)
X=A\B tng ng vi vic gii h phng trnh tuyn tnh A*X=B, gn tng ng
vi X=inv(A)*B
Chia phi ma trn(/)
X=B/A tng ng vi vic gii phng trnh tuyn tnh
X*A=B gn tng ng vi X= B*inv(A)
b. Php tnh dy

Trang 4

Cho hai mng sau:


>>x=[1 2 3];
>>y=[2 3 4];
Php tnh cng , tr ging nh php tnh i vi ma trn
>>x+y
ans=
5 7
Php tnh nhn(.*)
>>x.*y
ans=
2 6 12
Php tnh chia(./ hoc .\)
>> x./y
ans=
0.5 0.66 0.75
>>x .\y
ans= 2 1.5 0.75
3.6 Gii h phng trnh tuyn tnh
3.6.1 H phng trnh tuyn tnh :
Xt h phng trnh sau:
a11*x1 + a12*x2+ . . . +a1n*xn=b1
a21*x2 + a22*x2+ . . . +a2n*xn=b2
.
.
am1*x1 + am2*x2+ . . . +amn*xn=bm
Bi ton t ra l tm vc tor x=[x1;x2;x3....;xn] sao cho tho mn bi ton trn
3.6.2 H Phng trnh tuyn tnh khng ng nht
Phng trnh nh sau gi l phng trnh tuyn tnh KN
a1*x1 + a2*x2 + . . . + an*xn = b
b ng c lp (n khng nhn vi bin no c)
Xt h thng sau:
a11*x1 + a12*x2+ . . . +a1n*xn=b1
a21*x2 + a22*x2+ . . . +a2n*xn=b2
.
.
am1*x1 + am2*x2+ . . . +amn*xn=bm
Vit theo ma trn A= [a11 a12...a1n; a21 a22...a2n,....am1 am2...amn]

Trang 5

X=[x1 x2.... xn]; B=[b1 b2 ... bn];


Trong A c gi l ma trn h s, X l vector kt qu
3.6.2.1 Gii h phng trnh bng hm nghch o inv
Nu m=n th A l ma trn vung, v nu det(A) l khc 0 th tn ti A-1 v vector kt qu
X c cho bi :
A-1*A*X=X=A-1*B
V d Gii h sau:
2*x1 - x2 = 2
x1 + x2 = 5
Matlab command
>> A=[ 2 -1 ; 1 1 ];
>> B=[ 2 ; 5];
>> X= inv(A)*B
>> X=
2.3333
2.667
>> X= rats(X)
X=
7/3
8/3
Tuy nhin chng ta khng th p dng phng php trn cho
2*x1 - x2 = 2
2*x1 - x2 = 0
Ma trn h s A=[ 2 -1 ; 2 -1];
V det(A)=0 => khng p dng c hm nghch o cho ma trn A
3.6.3 H phng trnh tuyn tnh ng nht
Biu din di dng ma trn nh sau
A*x=0
Nu det(A)#0 h c nghim duy nht l X=0
V d xt h phng trnh tuyn tnh sau
2*x1 - x2=0
x1+ x2=0
y det(A)= 3 cho nghim x1=0 , x2=0

i vi h phng trnh thun nht c det(A)=0 th h ny c v s nghim


V d Xt h phng trnh tuyn tnh sau
-6* x1 + 3*x2 = 0
2* x1 - x2 = 0

Trang 6

Ma trn h s A= [ -6 3 ; 2 -1] , det(A)= 0 biu din trn th thy rng hai ng


ny trng nhau do vy h trn c v s nghim
Trng hp s bin n< s phng trnh m
V d nh sau:
3*x1 + 4*x2 - 2*x3= 0
-2*x1 + 3*x2 - 4*x3= 0
5*x1 +
x2 + 2*x3= 0
-9*x1 + 5*x2 - 10*x3= 0
Ma trn h s l ma trn 4 x 3 ,nh thc ln nht c th c xy dng t ma trn A l
nh thc ma trn 3 x 3, nhng nh thc ca ma trn kch thc 3 by 3 =0 ( A1=[ 3 4 - 2;
-2 3 - 4 ; 5 1 2]=> det(A1)=0 )
Do ta xc nh tip ma trn 2 x 2
V d nh sau
A2=[ 3 4; -2 3] v det(A) # 0 ta ni rng hng ca ma trn A(ma trn h s) l bng 2
ng ngha vi vic ta ch gii hai phng trnh bt k trong s tt c cc phng trnh
trn, v s bin chng ta gn gi tr tu l = n- r ( trong n l s bin cn r l hng ca
ma trn A)
Gii hai phng trnh :
3*x1 + 4*x2 - 2*x3= 0
-2*x1 + 3*x2 - 4*x3= 0
Kt qu : x1= (-10/17)*x3 v x2=(16/17)*x3 , vi x3 ly gi tr tu
3.6.4 Gii h phng trnh tuyn tnh bng Matlab(Dng ton t \)
2*x1 - x2 = 2
x1 + x2 = 5
>> A=[ 2 -1 ; 1 1];
>> B=[2 ; 5];
>>X=A\B
Phng php gii ny gi l phng php Gaussian elimination
Ton t (\) thng thng cung cp mt kt qu trong Matlab , trong mt s trng hp n
l phng php gii ring
3.7 iu kin c nghim
Theo Kronecker-Capelli th
Mt h phng trnh c mt li gii khi v ch khi ma trn h s A v ma trn [A B] c
cng hng.
Gi s hng ca hai ma trn u l r th xy ra cc trng hp sau y

r=n H phng trnh c nghim duy nht,

Trang 7

r< n H phng trnh c v s nghim, chng ta c th gii cho r bin nh l hm


ca n-r bin khc ,cc bin khc ny c th ly gi tr tu
V d trn
rank(a)= rank([a b]) = n cho nn h nghim duy nht
>> rank(A), rank([A B])
ans=
2
ans=
2
Chng ta xem xt v d sau:
2* x1 + 3* x2 + 4*x3 = 4
x1 + x2 + x3 = 5
>> A=[ 2 3 4 ; 1 1 1];
>>B=[ 4 ; 5];
>>rank(A), rank([A B])
ans=
2
ans=
2
>> X= A\B
X=
8
0
3
Hng ca hai ma trn A v [A B] bng nhau v bng 2 cho nn h c mt li gii , nhng
do rank(A) < n cho nn ta ch gii cho hai bin nh l hm ca bin cn li. Kt qu
Matlab cho trn ch l mt trng hp ring (n-r bin c gn =0)
Xt h sau
x1 + 2 *x2 + 3 *x3 = 12
3* x1 + 2 *x2 + x3 = 15
3*x1 + 4 *x2 + 7 *x3 = 13
10*x1 + 9 *x2 + 8 *x3 = 17
Tnh ton bng Matlab nh sau
>> A=[1 2 3 ; 3 2 1 ; 3 4 7; 10 9 8];
>>B= [12 ; 15; 13 ; 17 ];
>>rank(A), rank([A B])
ans=

Trang 8

3
ans=
4
>> X= A\B
ans=
1.0887
-0.2527
1.5349
Khi th li nh sau
>> A* ans
ans= 5.1882
4.2957
13.0000
20.8925
Kt qu khng bng B
H phng trnh trn v nghim ,tuy nhin Matlab vn cho nghim ,nghim ny khng
phi nghim ng m l nghim xp x gii theo tiu chun bnh phng ti thiu( ta
khng cp ti)
3.8 H iu kin yu
Chng ta ni rng mt vn c coi l iu kin yu nu mt s thay i nh trong d
liu s dn n thay i ln trong kt qu. iu ny l rt nguy him i vi cc k s
lm vic vi cc thit b , sai s cc thit b , sai s do lm trn (iu ny chc chn xy
ra) Nu d liu ny l u vo i vi vn trn th kt qu thu c s khng khip
Vn chng ta bn ti l iu kin yu ca h phng trnh tuyn tnh
Ma trn yu in hnh l ma trn Hibert c dng nh sau:
A=[ 1 1/2 1/3.....1/n;1/2 1/3 ...1/(n+1)
1/3 1/4 1/5....
1/(n+2)
1/n ..
1/(2n)]
V d sau y: Gii h phng trnh tuyn tnh c ma trn h s sau
A=[1 1; 1 1.01] B=[2 ; 2.01];
>> X= A\B
X=
1.0000
1.0000
Mt sai s nh c th hin trong long format
>> format long; X= A\B
X=

Trang 9

1.000000000002
0.999999999998
Nu ta thay i mt phn t ca A v d A(1, 2)=1.005
>> A(1,2)=1.005 ; X= A\B
X=
-0.0000000099991
1.9999999999991
Thay i A(1,2) =1.005 so vi gi tr c l 1 tc l tng 0.5% tng ng vi gi tr x(1)
gim 101%, v tng x(2) tng 100%
Cch gii h phng trnh iu kin yu A*X=B
Nu A l ma trn Hillbert s dng hm tnh nghch o invhilb(n) trong n l kch
thc ca ma trn
V d >>A= [ 1/1 1/2 ; 1/2 1/3];
>> B=[1 ;1/2]
>>X= invhilb(2)* b
Nu A khng phi l ma trn hilbert th s dng hm symbolic
V d A= [ 1 1.01; 0.5 1.02];
A=sym( [1 1.01 ; 0.5 1.02] );
B=[ 1.1; 1.2];
X= A\b
3 .9 Lnh cond Tnh iu kin ca ma trn
Cu trc:
>> cond(A) % A l ma trn
kt qu tr li dng nh sau: a* 10k ; 0 < a < 9
k l s digits khng tin cy trong kt qu gii h phng trnh tuyn tnh v trong vic
nghch o ma trn. Nu k xp x 1 th l ma trn c well -condition
V d >>A=[1/2 1/3 1/4 ; 1/3 1/4 1/5; 1/4 1/5 1/6];
>> cond(A)
ans=
1.3533e+003
Ta thy rng k= 3 tc l c 3 s khng ng tin cy
Tng kt
nh ngha :Hng ma trn
Ar l mt ma trn r hng r ct c xy dng t A , khng nht thit theo th t trong ma
trn A v det(Ar)#0 .Nu bt k ma trn Ar+1 no c xy dng t r+1 hng v r+1 ct
ca A, det(Ar+1)=0 th chng ta ni rng Matrn A c hng bng r
Mt h thng m phng trnh tuyn tnh trong n bin (cha bit)
a11*x1 + a12*x2+ . . . +a1n*xn=b1
Trang 10

a21*x1 + a22*x2+ . . . +a2n*xn=b2


.
.
am1*x1 + am2*x2+ . . . +amn*xn=bm
C th vit di dng form ma trn AX=B
Trong A l ma trn h s v X l vector kt qu
iu kin c nghim Matrn [A B] c gi l ma trn m rng ca h. Theo KroneckerCapelli th h phng trnh tuyn tnh c nghim khi v ch khi hng ca ma trn A bng
hng ca ma trn b xung

Nu r= n th nghim trn l duy nht

Nu r<n th h trn khng xc nh v r bin c th c biu din di dng hm ca


n-r bin khc ,cc bin khc ny c th cho gi tr bt k( ni cch khc h v s
nghim)
Nghim ca h phng trnh tuyn tnh c tnh trong Matlab bng ton t ( \ )
.Nu h c nghim duy nht Matlab s cung cp cho n , nu h l khng xc nh(r<n)
th ton t ( \ ) s cung cp cho chng ta mt nghim ring trong n-r bin s c t
=0.
Mt nghim , nghim ny lm tho mn tng bnh phng ca cc nghim b nht
Dng lnh X= pinv(A)*B
Nu hng ca A # hng matrn m rng th ton t ( \ ) cung cp mt kt qu nhng kt
qu ny khng phi l nghim ca h
H thun nht khi vector B=0. Mt h thun nht c mt nghim tm thng khi
det(A) # 0.Nu det(A)=0 h c nhiu hn mt nghim trong trng hp ny Matlab s
cnh bo ngi dng :

Cu hi n tp
1. Cc cch nhp mt ma trn ?
2. iu kin c nghim ca h phng trnh i s tuyn tnh , cch tnh
3. Lp chng trnh m u vo l hai ma trn A v b, u ra l kt qu thng bo h
c nghim hay khng.
4. H phng trnh iu kin yu l gi?, nhng nh hng ca n.
Bi tp
Thc hin cc php ton sau
1.Nhp hai ma trn a=[ 1 2 3; 4 5 6], b=[5 6 7 ;8 9 10] .
-Tnh Addab= a+b .
-Tnh Subsab= a-b;
-Tnh Multab= a*b

Trang 11

-Tnh Mulba=b*a;
-Tnh Divab= a/b; v b/a
2. Cho mch in sau

R1

e1

R2

R3

e2

Cho thng s: R1= 10(omh) , R2= 20(omh) , R3= 10(omh)


e1= 20(v) , e2= 30(v)
Tnh dng in I1 v I2 v I3 bng cch lp theo dng h phng trnh i s tuyn tnh
ba n s
Bi tp gii h phng trnh tuyn tnh sau:
A*X= B
Trong : A=[1/2 1/3 1/4 ; 1/3 1/4 1/5; 1/4 1/5 1/6]; B=[0.95 0.67 0.52]
1. Gii h cho
2. Thay i B(3)=0.53 ri gii h phng trnh, so snh vi trng hp trn
3. Tnh iu kin ca ma trn ny v a ra nhn xt
Ch khi gii h phng trnh tuyn tnh vi ma trn h s l ma trn Hilbert (ma trn
iu kin yu) th ta dng hm tnh nghch o ca n l hm invhilb(n)
nh ngha Ma trn Hilbert l: A=[ 1 1/2 1/3.....1/n;1/2 1/3 ...1/(n+1);

Trang 12

Chng 4
ho Trong Matlab
4 .1 im v ng trong ho matlab
Dng hm Plot v im -ng thng trong mt phng
v cc ng trong mt phng,cc hm s ph thuc vo bin v d nh y=f(x) th
trong matlab cung cp cho ta hm plot(x,y) v ,trong khng gian ba chiu th dng
hm plot3(x,y,z) .
trc ht ta ni qua v cch dng hm plot v cc v d minh ho c th hiu r hn v
vn ny:
4.1.1 Lnh plot
Syntax
plot(Y)
plot(X1,Y1,...)
plot(X1,Y1,LineSpec,...)
plot(...,'PropertyName',PropertyValue,...)
h = plot(...)
M t:
Hm plot c nhiu cch dng nh bn thy trn
plot(y): Hm ny biu din cc ct ca y theo cc ch s tng ng ca chng nu y l
ma trn cc s thc, nu y l s phc th plot(y) tng ng vi plot(real(y),image(y)).
Ta c th ly v d sau:
A=[1 2 3
45 6
78 9]
plot(A) s c kt qu nh sau(giao im k hiu l du o trn )

Trang 1

Cc du trn trn hnh v th hin cc giao im gia cc phn t ca cc ct v cc ch


s tng ng ca chng trong tng ct .
C th cc giao im (1,1) v (2,1);(3,1) tng ng l phn t th nht ca cc ct,do l
phn t th nht cho nn c ch s l 1
plot(x,y...): V cc ng thng tng ng vi cc cp im (x,y )ca vc t x v vec t
y.Nu ch mt trong x hoc y l ma trn th n s v theo vector ct hoc hng tng ng
vi vector cn li ph hp vi kch thc hng hay ct ca matrn .
C th :
Gi th x: l vector cot
x=[1 2 3]; v
y l martrn y=[1 2 3;4 5 6];
r rng l x c kch thc bng vi kch thc hng ca matrn do vy m n s biu din
cc hng ca y theo x .Kt qu plot(x,y) nh sau:

plot(x,y,linespec...) cng c th vit nh sau plot(x,y,linespec,x1,y1,linespec1,....);


Hm ny ging nh hm trn ,nhng cc thuc tnh v ng c th hin trong
linespec .Sau y ta c th lit k cc thuc tnh v ng
Matlab cho php bn s dng mt s k t sau y xc nh thuc tnh ca ng

Line style

Line width

Color

Marker type

Marker size

Marker face and edge coloring (for filled markers)


Trang 2

Matlab nh ngha cc chui xc nh cho kiu ng, Marker types v colors


1. Line Style Specifiers
Specifier

Line Style

ng lin(default)

--

ng nt t

dotted line

-.

dash-dot line

2. Marker Specifiers
Specifier

Marker Type

plus sign

Circle

Asterisk

Point

Cross

Square

Diamond

upward pointing triangle

downward pointing triangle

>

right pointing triangle

Trang 3

<

left pointing triangle

five-pointed star (pentagram)

six-pointed star (hexagram)

3. Color Specifiers
Specifier

Color

Red

Green

Blue

Cyan

Magenta

Yellow

Black

White

Cc lnh plot chp nhn mt thng s Linespec ,thng s ny nh ngha ba phn t ,cc
phn t ny xc nh ng

Line style (kiu ng)

Marker symbol (Kiu nh du)

Color (kiu mu)


Ch rng khi kt hp chng ta c th theo mt th t bt k
For example
plot(x,y,'-.or')

Trang 4

V y theo x s dng kiu ng l dash-dot t vng trn(o) ti cc giao im (x,y) ,v


mu ca ng v mu ca vng trn nh du l mu
Nu bn xc nh mt im nh du, khng phi l kiu ng, Matlab ch v cc im
nh du
I.
V d
plot(x,y,'d')
4.1.2 Hm plot(x,y, protypename,protypevalue....)
Hm ny xc nh r cc thuc tnh ca ng thng v d nh Chiu rng ca ng
thng
LineStyle {-} | -- | : | -. | none
rng ca ng(Linewith) mc nh l o.5 points( 1point=1/72 inch)
V d v Linepropertype:
plot(t,sin(2*t),'-mo',...
'LineWidth',2,...
'MarkerEdgeColor','b',...
'MarkerFaceColor',r,...
'MarkerSize',12)
Gii thch nh sau:
Hm trn v th f=sin(2*t) theo bin t, c tnh ca ng l mu (magne) ,giao
hai im l hnh trn(s), ng l lin tc(solid line)
Line width l 2(point) ( 1point=1/72 inches) default l 0.5 points
MarkerEdgeColor l mu en( blue)
Mu trong (mt) ca cc im nt giao l mu :
Chng ta thy rng th c xy dng t vic ni cc im c to (x,y) bng cc
on thng
*t l cc trc s c matlab t ng to ra sao cho ph hp
4.1.3 v nhiu th trn cng mt hnh v th chng ta c hai cch
+V th th nht
+ Dng lnh Hold on
+V tip th th hai + hold off
hoc Dng hm plot(x1,y1,x2,y2)
V d ta v hai hm y=sin(x) v y1=cos(x)
Ta dng lnh plot nh sau:
plot(x,y,x,y1);

Trang 5

4.1.4 Title , xlabel, ylabel, gtext, legend, grid


Title dng vit tiu cho th
V d Title(.............................)
Xlabel( string) t tn nhn cho trc x
Ylabel(string) t tn nhn cho trc y
Gtext(string) vit text vo th
Legend(string,-1) ghi ch thch cho th, s -1 ghi ch thch bn ngoi cc trc
ca hnh v
Grid on hoc Grid off m hoc tt Grid
t=0:pi/6:pi;
plot(t,sin(2*t),'-mo',...
'LineWidth',2,...
'MarkerEdgeColor','b',...
'MarkerFaceColor','r',...
'MarkerSize',14)
legend('y=sin(2*t)','y=cos(2*t)',-1);( ch vit ng th t)
grid on;
xlabel('truc thoi gian');
ylabel('truc Sin va cos');
title('Do thi ham sin(2*t)');
hold on;
j=cos(2*t);
plot(t,j,'-b+');
hold off;
4.2 Hm plot3(x,y,z) v cc im v ng trong khng gian
Ngoi vic thm trc z cc hm ny s dng ging nh hm plot(x,y)
Cu trc
plot3(X1,Y1,Z1,...)
plot3(X1,Y1,Z1,LineSpec,...)
plot3(...,'PropertyName',PropertyValue,...)
h = plot3(...)
Vic s dng cc hm ny ging vi hm Plot trong 2D do vy ta khng cp ti na
Ch ti hm View(a,b) quan st gc nhn ca th trong a l gc tnh theo chiu
ngc chiu kim ng h t pha m ca trc y cn b l gc nhn tnh bng xung mt
phng x,y
Gi tr mc nh ca a v b l -37.5 0 v 30 0
%V d

Trang 6

%Plot a three-dimensional helix.


% V mt phng x= sin(t) ,y=cos(t) , z=t
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
grid on;
axis square
view(-80,30);
xt hai trng hp
view(-80,30);
view(-40,30);
Khi cho a=0 v b=90 th hnh v
tr v hnh v trong mt phng
to hai chiu
4.3 Hm semilogx, semilogy
Semi-logarithmic plots
Cu trc
semilogx(Y)
semilogx(X1,Y1,...)
semilogx(X1,Y1,LineSpec,...)
semilogx(...,'PropertyName',PropertyValue,...)
h = semilogx(...)
semilogy(...)
h = semilogy(...)
M t
Semilogx(y) v ging nh plot(y) nhng ch khc rng t l trn trc x l logarit c s 10,
tng t nh vy i vi Semilogy(y) th t l trn trc y theo logarit c s 10 ng vi
truc x.
X=0:10:1000;
subplot(2,2,2);
subplot(2,2,3);
subplot(2,2,4
Y=100*x;
);
semilogy(x,y,'.');
loglog(x,y,'.');
Subplot(2,2,1);
xlabel('tuyen
xlabel('log');
plot(x,y,'.');
Semilogx(x,y,'.');
tinh');
ylabel('log');
xlabel('tuyen
Xlabel('log');
tinh');
ylabel('log');
title('
loglog(x,y)');
title('
ylabel('tuyen
Ylabel('tuyen tinh');
tinh');
grid on;
Title(' semilogx(x,y)');
title('
Grid on;

Trang 7

Trong khng gian 3 chiu th ta khng dng cc hm trn v ,m ta s dng hm plot3


v dng hm set t trc to
t=1:1:100;
x=sin(20*pi*t);
y=cos(20*pi*t);
z=t;
subplot(1,2,1);
plot3(x,y,z);
set(gca,'Zscale','log');grid on;view(125,7);
4.4 V trong h to cc
Cu trc
polar(theta,rho)
polar(theta,rho,LineSpec)
M t
The polar function accepts polar coordinates, plots them in a Cartesian plane, and draws
the polar grid on the plane.
polar(theta,rho) creates a polar coordinate plot of the angle theta versus the radius rho.
theta is the angle from the x-axis to the radius vector specified in radians; rho is the
length of the radius vector specified in dataspace units.
polar(theta,rho,LineSpec) LineSpec specifies the line type, plot symbol, and color for the
lines drawn in the polar plot.

Examples
Create a simple polar plot using a dashed, red line:
t = 0:.01:2*pi;
polar(t,sin(2*t).*cos(2*t),'--r')
this is a figure for plotting Polar(phi, r);
Khi chuyn t h to cc sang h to cart ta lm nh sau [x,y]=pol2cart(phi,
r) sau dng lnh Plot(x,y)
t = 0:.01:2*pi;
h=sin(2*t).*cos(2*t);
[x,y]=pol2cart(t,h); axis(equal)
plot(x,y);grid on;
notice : command Axis(equal) set unit which is divided in X and Y axis
i vi h to cu Trong Matlab khng c hm v .tuy nhin ta c th chuyn
i t h to cu thnh h to Cart trong khng gian
[x,y,z]=sph2cart(theta,phi,r) sau dng hm v trong khng gian l plot3(x,y,z)

Trang 8

4.5 th ct
bar, barh
Cu trc
bar(Y)
bar(x,Y)
bar(...,width)
bar(...,'style')
bar(...,LineSpec)
II.
M t
V biu cc gi tr trong vc tor hoc trong Matrn nh l thanh ngang hoc thanh
thng ng
bar(Y) v mt th ct cho mi phn t trong Y. Nu Y l mt ma trn ,bar nhm cc
thanh c to ra bi mi phn t trong mi hng.
T l trc x t 1 to length(Y) khi Y l mt vector, v 1 n size(Y,1), chnh l s hng
, khi Y l mt ma trn .
bar(x,Y) v mt th ct cho mi phn t trong Y ti cc v tr xc nh trong x, x
l vector tng nh ngha cc khong cho cc ct thng ng. Nu Y l mt ma trn, bar
gp cc ct tng ng trong cng mt hng trong Y ti v tr tng ng vi mt phn t
trong x.
bar(...,width) hm ny ging cc hm trn nhng c thm c tnh t rng ca
ct.Gi tr mc nh ca width l 0.8,. Nu width is 1, cc ct trong mt nhm chm vo
bar(...,'style') Xc nh kiu ca ct
'style' l 'group' hoc 'stack'. 'group' l ch mc nh

'group' biu din n nhm ca m ct thng ng , n l s hng v m l s ct


trong Y.

'stack' Biu din th ct cho mi hng ca Y. Chiu cao ca ct l tng cc


phn t trong mt hng

bar(...,LineSpec) displays all bars using the color specified by LineSpec.


V d
Plot a bell shaped curve:
x = -2.9:0.2:2.9;
bar(x,exp(-x.*x))
colormap hsv

Trang 9

Tng t th ct trong khng gian lnh vn gi nguyn nhng thay v bar ta thay
lnh bar3(x,y,z)
4.6 th bnh (Pie)
Cu trc:
pie( x ) :Hm ny v th bnh vi cc 'khoanh' c xc nh bi phn trm cc gi tr
trong vector x v d x=[ 1 2 3 4] phn thnh 4 khoanh trn ton b vng trn ,mi
khoanh tng ng phn trm cc
phn t trong x
>>x=[ 1 2 3 4];
>>pie(x)
cho th nh sau:
nh cao nht ng vi phn t u
tin ca vc tor ,cc phn t tip
theo c b tr theo chiu ngc
chiu kim ng h .
Nu tng cc phn t trong vec tor x
<1 th trn th bnh biu din
phn trm chnh l cc phn t .
V d
>> x=[ 0.1 0.2 0.3 ] % tng ng vi 10% 20% 30%
>>pie(x);

Trang 10

Trang 11

chng 4
Ma trn - cc php ton v ma trn.

4.1 Khi nim:


-

Trong MATLAB d liu a vo x l di dng ma trn.

Ma trn A c n hng, m ct c gi l ma trn c n m. c k hiu An m

Phn t aij ca ma trn An m l phn t nm hng th i, ct j .

Ma trn n ( s n l ) l ma trn 1 hng 1 ct.

Ma trn hng ( 1 m ) s liu c b tr trn mt hng.


a11 a12 a13 ... a1m

Ma trn ct ( n 1) s liu c b tr trn 1 ct.


a11
a21
a31
.
.

an1
4.1.1 Cc qui nh nh ngha mt ma trn:
-

Tn ma trn c th gm 31 k t. Bt u phi bng ch ci sau c th l


s, ch ci, cc k t c bit ... Tn t bn tri du bng , bn phi du bng
l cc phn t ca ma trn.

Bao quanh cc phn t ca ma trn bng du ngoc vung.

Cc phn t trong ma trn c cch nhau bi k t trng hoc du phy ( , ).

Kt thc mt hng trong ma trn bi du ( ; ).

4.1.2 Cc cch nhp mt ma trn:

- Lit k trc tip:VD >> A =[1 2 3; 4 5 6 ; 7 8 9]


>> B =[1 2 3;
456;
7 8 9]
-

Nhp thng qua lnh. Dng lnh input


Trang 1

>> input('Nhap gia tri cho ma tran C = ')


Nhap gia tri cho ma tran C = [1 3 4;4 5 7;7 5 8]
ans =
1

Ch khi kt thc mt cu lnh c th dng du (; ) hoc khng dng du (


;).
- Nu dng du (;) cu lnh c thc hin nhng kt qu khng hin ra
mn hnh.
- Nu khng dng du ( ; ) cu lnh c thc hin v kt qu c hin ra
mn hnh.
- Trong c 2 trng hp trn sau khi cu lnh c thc hin kt qu u
c lu vo trong b nh v c th s dng cho cc cu lnh tip theo.
Vd
>>a = [1 2 3;3 2 4;4 5 1];
>> b = [1 2 3;4 5 6;7 8 9]
b=
1

C 2 ma trn A, B u c lu vo trong b nh v c th c s dng cho nhng cu


lnh tip theo.
>> c = a*b
c=
30

36

42

39

48

57

31

41

51

4.1.3 Hin th li ma trn:

Trang 2

hin th li ma trn ta g tn ma trn sau enter.

VD >> c
c=

30

36

42

39

48

57

31

41

51

hin th ni dung ca ma trn hoc li thng bo (trong du nhy n) ta dng


lnh: disp
VD >> disp (c)
c=
30

36

42

39

48

57

31

41

51

>> disp('hin th li thng bo ny')


hin th li thng bo ny
Ch :
-

Cc phn t trong ma trn c th l cc s phc:


VD >> a=[1+3i 2+2i;3+i 1+i]
a=
1.0000 + 3.0000i 2.0000 + 2.0000i
3.0000 + 1.0000i 1.0000 + 1.0000i

Cc phn t trong ma trn c th l cc k t. Nhng trc tin ta phi khai bo cc


phn t bng lnh syms
VD >> syms sinx cosx a
>> b = [ sinx cosx; a cosx]
b=
[ sinx, cosx]
[ a, cosx]
>> c=[a sinx; a a]

Trang 3

c=
[

a, sinx]

a,

a]

4.2. X l trong ma trn:


4.2.1 To vct t ma trn:
Cng thc tng qut: Bin = gii hn u : bc chy : gi hn cui
Gii hn u, gii hn cui, bc chy: l cc s thc
Bc chy c th dng hoc m.
VD To 1 vect t chy t 0 n 0.6 vi bc chy tin l 0.1
>> t=0: 0.1:0.6
t=
0

0.1000

0.2000

0.3000

0.4000

0.5000

0.6000

VD: To 1 vect t chy t 0.6 n 0 vi bc chy li l 0.1


>>t=0.6:-0.1:0
t=
0.6000

0.5000

0.4000

0.3000

0.2000

0.1000

Ch : Trong trng hp gii hn trn, gi hn di l cc s nguyn v bc chy bng


1 th ta khng cn a bc chy vo trong biu thc.
VD >> C = 1:5
C=
1

4.2.2 Gi cc phn t trong ma trn.


MATLAB cho php ta x l n tng phn t ca ma trn. truy cp n tng
phn t ca ma trn ta phi gi c chng thng qua ch s ca tng phn t.
Tn ca ma trn( Ch s hng, ch s ct)
VD:
>> A = [1:3; 4:6; 7:9]
A=
1

>> B = A(1,1)

Trang 4

B=
1
>> A(3,3) = A(2,2) + B
A=
1

Ch : Trong trng hp ta mun gi tt c cc hng hoc tt c cc ct ta c th dng


ton t hai chm ( : )
VD:
>> A = [1:3; 4:6; 7:9]
A=
1

>> B = A(2,:)
B=
>>C = A(:,2)
C=
2
5
8
4.2.3 Gi 1 ma trn con t mt ma trn ln.
VD
>> A = [1:3; 4:6; 7:9]
A=
1

>> B = A ( 2:3,1:2 )
B=

Trang 5

5
7

>> c =[a(1,1) a(3,3); a(2,3) a(3,1)]


c=
1

4.3 Cc ma trn c bit:


4.3.1 Ma trn zeros. Tt c cc phn t trong ma trn u bng 0.
VD
>> C = zeros (2,3)
C=
0

>> d = zeros(3)
d=

4.3.2 Ma trn ones. Tt c cc phn t trong ma trn u bng 1


VD
>> C = ones (2,3)
C=
1

>> d = ones(3)

d=

4.3.3 Ma trn ma phng Magic: Tng tt c gi tr cc phn t trn hng = Tng tt c


gi tr cc phn t trn ct = Tng tt c gi tr cc phn t trn ng cho ca ma trn
Vd

Trang 6

>> A = Magic (3)


A=
8

4.3.4 Ma trn eye. Tt c cc phn t trn ng cho c gi tr 1, cc phn t khc c gi


tr 0.
VD
>> B = eye (3)
B=
1

4.4 Cc php ton vector:

Php ton

Cng thc

Matlab

Cng, tr

A+B, A-B

A+B, A-B

Nhn mng

A.B = C

A.*B

Chia tri mng

B\A

B.\A

Chia phi mng

A/B

A./B

Lu tha mng

AB

A.^B

4.4.1 Cc phn t l cc s thc:


>>a=[1 1 2;2 1 1]
a=
1

>> b=[1 2 2; 1 1 1]
b=
1

Trang 7

>> c=a.*b
c=
1

>> d=a./b
d=
1.0000

0.5000

1.0000

2.0000

1.0000

1.0000

1.0000

2.0000

1.0000

0.5000

1.0000

1.0000

>> e=a.\b
e=

>> f=a.^b
f=
1

4.4.2 Cc phn t l cc s phc.


>>a=[1+i 2+3i;3-4i 1+3i]
a=
1.0000 + 1.0000i 2.0000 + 3.0000i
3.0000 - 4.0000i 1.0000 + 3.0000i
>> b=[2+i 2+2i;1-4i 3+3i]
b=
2.0000 + 1.0000i 2.0000 + 2.0000i
1.0000 - 4.0000i 3.0000 + 3.0000i
>> c=a.*b
c=
1.0000 + 3.0000i -2.0000 +10.0000i
-13.0000 -16.0000i -6.0000 +12.0000i
4.4.3 Cc phn t l cc tham s:
>> syms a b c
Trang 8

>>A=[a b; b c]
A=
[ a, b]
[ b, c]
>> B=A
B=
[ a, b]
[ b, c]
>> C=A.*B
C=
[ a^2, b^2]
[ b^2, c^2]

4.5 Cc php ton v ma trn:


4.5.1 Php chuyn v:
Php chuyn i vct hng thnh vct ct gi l php chuyn v. Thc hin php
chuyn v bng ton t du nhy n ( ).
VD
>> A = [1:3; 4:6; 7:9]
A=
1

>> B = A

B=

Ma trn B c gi l ma trn chuyn v ca ma trn A


4.5.2 Php cng - tr ma trn.( + , - )
Php cng v tr ma trn c thc hin vi cc ma trn c cng kch c.

Trang 9

Cij = Aij + Bij


Dij = Aj - Bij
>> A = [1:3; 4:6; 7:9]
A=
1

10

10

14

10

14

18

>> B = A
B=

>> C = A + B
C=

4.5.3 Php nhn, chia ma trn:


C = A*B.
thc hin c php nhn trn th s ct ca ma trn A phi bng s hng ca ma trn
B.
n

C ij = A ik .B kj
k =1

Cc phn t trong ma trn C c tnh nh sau:

VD cc phn t trong ma trn l cc s thc.


>> A = [1 2 1; 1 0 1]
A=
1

>> B = [1 0 2; 2 1 1; 1 1 1]

Trang 10

B=
1

>> C = A * B
C=

VD cc phn t trong ma trn l cc s phc.


>> a=[1+2i 2+2i;1+3i 2+2i]
a=
1.0000 + 2.0000i 2.0000 + 2.0000i
1.0000 + 3.0000i 2.0000 + 2.0000i
>> b=[1+i 2+i;1+3i 2+i]
b=
1.0000 + 1.0000i 2.0000 + 1.0000i
1.0000 + 3.0000i 2.0000 + 1.0000i
>> c=a*b
c=
-5.0000 +11.0000i 2.0000 +11.0000i
-6.0000 +12.0000i 1.0000 +13.0000i
VD cc phn t trong ma trn l cc tham s
>> syms a b c
>>d=[2*a b c; a b c; 0 0 a]
d=
[ 2*a, b, c]
[ a, b, c]
[ 0, 0, a]
>> e=[a b c; 2*a 2*b^2 c ; a 0 b]
e=
Trang 11

a,

b,

c]

[ 2*a, 2*b^2,
[

a,

0,

c]

b]

>> f=d*e
f=
[ 2*a^2+2*b*a+c*a,

2*b*a+2*b^3,

[ a^2+2*b*a+c*a,

b*a+2*b^3,

a^2,

0,

2*c*a+2*c*b]
c*a+2*c*b]

b*a]

Php chia ma trn thc cht l php nhn vi ma trn nghch o.

A
1
= A*
B
B
Ly ma trn nghch o thc hin bng hm inv.
C=

>> A = [1 2 1; 1 0 1]
A=
1

>> B = [1 0 2; 2 1 1; 1 1 1]
B=
1

>> C = inv(B)
C=
0

1.0000

-1.000

-0.5000

-0.5000

1.5000

0.500

-0.5000

0.5000

>> D = A*C
D=
- 0.5000

-0.5000

2.5000

0.5000

0.5000

-0.5000

Trang 12

Ch : Trong cc php tnh trn nu nu thc hin vi mt s thc th tt c cc phn t


trong ma trn s c cng, tr, nhn, chia ( / ) vi s thc tu thuc vo php ton
tng ng.
>> A = [1 2 1; 1 0 1]
A=
1

>> B = A*2
B=

4.5.4 Php quay ma trn: Quay ma trn B i 1 gc 90 theo ngc chiu kim ng h.
>> a=[1 2 3;4 5 6;7 8 9]
a=
1

>> b=rot90(a)
b=

4.5.5.Php o ma trn: o cc phn t ca ma trn t tri sang phi.


>> c=fliplr(b)
c=
9

Trang 13

Chng 5

C s phng php tnh


5.1 Ni suy v thut ton ni suy
V sao phi ni suy: Trong thc t khi o mt i lng vt l bt k ti nhng iu
kin mi trng thay i(cn c nhiu i lng khc thay i) ta nhn c cc gi tr
ri rc ,v c tnh thng k,ng vi mi thi im ta nhn c mt gi tr o nh vy
khi ta mun xc nh gi tr o mt thi im bt k th ta phi dng php ni suy.
Trong chng ny ta ch tm hiu v tnh ton cho 2 php ni suy l :
+Ni suy lagrange cho bi ton mt chiu
+Ni suy lagrange cho bi ton hai chiu
5.1.1 Ni suy lagrange cho bi ton mt chiu
I.
L thuyt
Gi s c n im o ri rc tng ng vi kt qu o nh sau:
x
x0 x1 x2 . . . . . . . . . .
xn
f
f0 f1 f2 . . . . . . . . . .
fn
Cng thc ni suy lagrange bc N tnh gi tr o c ti mt im bt k l :
Thut ton ni suy:
% thuat toan noi suy cho bai toan mot chie
function T=NS1C(x,f,xa);
i=length(x);
j=length(f);
T=0;n=i;
if(i~=j)
error('Ban nhap sai');
end
i=1;
while(i<=n)
g=1;j=1;
while(j<=n)
if(i~=j)
g=g*(xa-x(j))./(x(i)-x(j));
end
j=j+1;
end
T=T+g*f(i);
Trang 1

% in ra so lieu
sl=[i x(i) f(i)]
i=i+1; end

Nhp x , y,xa
i= length(x)
j=length(y)
n=i; f=0
i~=j ?

Gn i=1

i<=n
?
Gn j=1;
1
j<=n
?

i=i + 1

i~=j ?
f= f + g*
Thut ton
ton
g=g* (Xa-x(j))/(x(i)-

(j)

j=j+
1

One-dimensional data interpolation (table lookup)


Syntax
yi = interp1(x,Y,xi)
yi = interp1(Y,xi)
yi = interp1(x,Y,xi,method)

Trang 2

ni suy cho bi
mt chiu lagrange
interp1(ni suy theo spline)

yi = interp1(x,Y,xi,method,'extrap')
yi = interp1(x,Y,xi,method,extrapval)
M t
yi = interp1(x,Y,xi) tr v vector yi cha cc phn t tng ng vi cc phn t ca xi v
gi tr tr v c xc nh bng cch s ni suy(interpolation) trong vectors x and Y.
The vector x xc nh cc im ti d liu Y c cho trc (the points at which the
data Y is given). Nu Y l mt ma trn, th vic ni suy c thc hin cho mi ct ca Y
v Yi c kch thc l yi is length(xi)-by-size(Y,2).
(the interpolation is performed for each column of Y and yi is length(xi)-by-size(Y,2))
yi = interp1(Y,xi) gi s rng x = 1:N, N =length(y) l chiu di ca Y nu Y l
vector, hoc size(Y,1) nu Y l matrn .
yi = interp1(x,Y,xi,method) interpolates using alternative methods:
'nearest'
Nearest neighbor interpolation
'linear'

Linear interpolation (default)

'spline'

Cubic spline interpolation

'pchip'

Piecewise cubic Hermite interpolation

'cubic'

(Same as 'pchip')

'v5cubic'

Cubic interpolation used in MATLAB 5

For the 'nearest', 'linear', and 'v5cubic' methods, interp1(x,Y,xi,method) tr v NaN cho
tt c cc phn t ca xi m nm ngoi khong xc nh ca x. i vi tt c cc phng
php, interp1 cp n vic xc nh d liu(ni suy cho c cc im nm ngoi vng
ca x) nm ngoi phm vi biu din
yi = interp1(x,Y,xi,method,'extrap') uses the specified method to perform extrapolation
for out of range values.
yi = interp1(x,Y,xi,method,extrapval) returns the scalar extrapval for out of range values.
NaN and 0 are often used for extrapval.
Lnh interp1 ni suy gia cc im. N tm gi tr ti cc im gia cc im xc
nh, ca hm mt chiu(of a one-dimensional function f(x)) hm ny c xc nh di
d liu cho trc ( underlies the data. ) Hm ny uc biu din da trn quan h cc cp
vc tor x,Y,xi,Yi

Trang 3

Interpolation is the same operation as table lookup. Described in table lookup terms, the
table is [x,Y] and interp1 looks up the elements of xi in x, and, based upon their locations,
returns values yi interpolated within the elements of Y.
Examples
Example 1. Generate a coarse sine curve and interpolate over a finer abscissa.
x = 0:10;
y = sin(x);
xi = 0:.25:10;
yi = interp1(x,y,xi);
plot(x,y,'o',xi,yi)

Example 2. Here are two vectors representing the census years from 1900 to 1990 and the
corresponding United States population in millions of people.
t = 1900:10:1990;
p = [75.995 91.972 105.711 123.203 131.669...
150.697 179.323 203.212 226.505 249.633];
The expression interp1(t,p,1975) interpolates within the census data to estimate the
population in 1975. The result is
ans =
214.8585

Trang 4

V d : >> x=[1 2 3 4];


>> f=[0.671 0.620 0.567 0.512];
>> interp1(x,f,1.5)
ans =
0.6455

5.1.2 Ni suy cho bi ton hai chiu

f(i-1,j)

f(i,jyi
fe

fk

f(i-1,jyi-1

f(i,jMc ch ca
bi ton l: Xc
xi-1
xi
nh gi tr
f(x,y) ca mt v tr bt k
trong mt mt phng xc nh (bit cc to v gi tr cc im xung quanh x(i), x(i1)... )
Mun xc nh gi tr ti mt im c v tr xi-1<x<xi v yi-1<y<yi ta dng phng php
ni suy hai chiu, thc cht ca phng php ny l thc hin hai ln bi ton ni suy mt
chiu
Bi 1: Ni suy theo phng y tm ra fe v fk
Bi 2: Ni suy theo phng x t fe n fk tm g(x,y)
fe=
yj y
y yj 1
yj y
y yj 1
f (i 1, j 1) +
f (i 1, j ); f f =
f (i, j 1) +
f (i, j )
yj yj 1
yj yj 1
yj yj 1
yj yj 1
xi x
x xi 1
fe +
ff
xi xi 1
xi xi 1
Chng trnh c th c vit nh sau:
Quy c
u vo l f=[f(1) f(2) f(3) f(4)] tng ng vi [f(i-1,j-1) f(i-1,j) f(i,j-1) f(i,j)] ; x=[
x(i-1) x(i)]
function g= C5(x,y,f,xa,ya)
% trong do x=[x(i-1) x(i)] y=[y(i-1) y(i)]
% xa ya la to ca im cn tm

g(x,y)=

Trang 5

% f=[f1 f2 f3 f4] l vc tor f tng ng vi f(xy)


i=length(x);
j=length(y);
fe=(1/(y(i)-y(i-1)))*((y(j)-ya)*f(1)+(ya-y(j-1))*f(2));% tnh fe
fk=(1/(y(i)-y(i-1)))*((y(j)-ya)*f(3)+(ya-y(j-1))*f(4));% tnh fk
g=(1/(x(i)-x(i-1)))*((x(i)-xa)*fe+(xa-x(i-1))*fk);% tnh g
Thc hin trong command window nh sau
>> x=[1 2 ];
>> y=[3 4];
>> f=[5 6 7 8];
>> xa=1.5,ya=3.5;
>> g=C5(x,y,f,xa,ya)
g=
6.5000
C nhiu cch ni suy tuy nhin chng ta ch xem xt hai phng php trn m thi
5.2 Gii phng trnh phi tuyn
Dng phng php ch i xc nh nghim ca phng trnh
Ni dung ton hc ca phng php nh sau: xt phng trnh f(x)=0
Trn khong phn ly nghim [a b] , chia i [a b] bi c=(a+b)/2
Nu f(c)=0 th c l nghim ca phng trnh, nu f(c)~=0 th so sanh du ca f(c) vi f(a)
v f(b), f(a)*f(c)<0 khong phn ly nghim mi l [a c], f(c)*f(b)<0 th khong phn
nghim l [c b]
Tip tc chia i cc khong phn ly nghim cho n khi tm c gi tr cn no m
f(cn)=0 th cn chnh l nghim .Tuy nhin vic tm chnh xc cn l rt kh khn ngi ta
ch tm nghim gn ng trong mt sai s cho php l tol

th biu din phng php chia i


Nu sai s cho trc th s bc lp i hi l (b-a)/2n<tol

Trang 6

Suy ra n>=(ln(b-a)/tol)/0.6931;
Trong b v a tng ng l cc khong phn ly nghim mi
Thut ton gii nh sau:
%-----------------------------------------------------------------function x= C5(a,b,t)
% n la so lan lap
% a la can duoi b la can tren
i=1;
if( f(a)*f(b)>0 )
disp('nhap lai a va b ');
end
while(abs(a-b)>t)
c=(a+b)/2;
if( f(c)==0)
disp('nghiem la x=');
x=c;
break;
end
if(f(c)*f(a)<0)
b=c;
end
if(f(c)*f(b)<0)
a=c;
end
end
x=c;
Phng php Newton
Cng thc tnh nghim ca phng php Newton l
Xn=Xn-1 -f(Xn-1)/f(Xn-1)'
f=f(x) l hm cn tnh nghim, chng ta s tnh cc gi tr ca Xn n khi t c sai s
cn thit ( tc l abs(Xn- Xn-1)< tol) th Xn chnh l nghim gn ng ca phng trnh
trn.
%-----------------------------------------------------------------------------%Thut ton gii nghim gn ng theo phng php Newton
function[x]=f(t,xb)
N=input('nhap buoc lap N=');
tol=1.e-5;
Trang 7

x=xb;
i=1;
while(i<=N)
[f,fd]=T1(t,x);
x=x-(f./fd);
sol=[i xb x f./fd ]
if(abs(xb-x)<=tol)
break;
end
xb=x;
i=i+1;
end
disp('nghiem cuoi cung la')
x
//------------------------------------------------------------------//
function[f,fd]=T(t,x)
f= t^3+t+1;
fd=diff(f,t);
f=subs(f,t,x);
fd=subs(fd,t,x);
//-----------------------Gi chng trnh t ca s Command Window----//
>>syms t;
>> xb=4;
>>[x]=f(t,xb)
%-----------------------------------------------------------5.3 Tch phn s
a.Phng php hnh thang
h
I= ( f 0 + 2 f1 + 2 f 2 + .......... + f N )
2
ba
h=
N
f 0 = f (a), f = f (a + ih)
V d tnh tch phn: I= int(f,a,b); f=2*x2* cos(x)
%--------------------------------------------------------------function I= C5(a,b,n)
% a va b la hai can
% n la so buoc tinh

Trang 8

h=(b-a)/n;
I=0;
for i=0:n
x=a+h*i;
c=2;
if((i==0)|(i==n))
c=1;
end
I=I+c*(2*x^2*cos(x));
end
I=I*h/2;
%------------------------------Thuc hien trong command window--------->> I=C5(0,1,20)
I=
0.4784
Dng Matlab tnh tch phn hnh thang: trapz(x,y)
Eg1:
>> x=[0:0.05 1]';
>> y=2*x.^2.*cos(x);
>> trapz(x,y)
ans =
0.5403
>> t=[0:15:90]';
>> x=t*pi/180;
>> y=[sin(x) cos(x)];
>> trapz(x,y)
ans =
0.9943 0.9943
s dng cng thc trn th x l vctor ct c cng chiu di vi vector y, hoc y
lmt mng m cc phn t c chiu di ging x
Tnh theo phng php thng thng chun:
>> syms x
>> int(2*x^2*cos(x),0,1)
ans =
-2*sin(1)+4*cos(1)
Trang 9

>> eval(ans)
ans =
0.4783
Kt lun rng : phng php hnh thang gii theo trapz th chnh xc km hn:
b. Phng php Simpson 1/3
h
I= ( f 0 + 4 f 1 + 2 f 2 + 4 f 3 + .....................2 f N 2 + 4 f N 1 + f N )
3
H=(b-a)/N;
f 0 = f (a), f1 = f (a + i * h)
%----------------------- Chuong trinh viet theo simpson-------function I= C5(a,b,n)
% a va b la hai can
% n la so buoc tinh
h=(b-a)/n;
I=0;
for i=0:n
x=a+h*i;
c=4;
if((i==0)|(i==n))
c=1;
end
if(fix(i/2)*2==i)
c=2;
end
I=I+c*(2*x^2*cos(x));
end
I=I*h/3;
Cch gii Dng matlab( for simpson)
5.4 Dng Laplace gii bi ton trong L thuyt Mch
Trong L thuyt mch c rt nhiu cc i lng o hm ,cc i lng c th c
bin i qua Laplace v thay th bi ton l thuyt mch v bi ton gii bng Laplace.
% Cac vi du
v d1
syms t s;
I1= sym('I1(t)');
k=laplace(I1,t,s); % Chuyen doi I1(t) sang Laplace

Trang 10

syms t s;
I1=sym('I1(t)');
laplace(i,t,s)
dI1=sym('diff(I1(t),t)')
l=laplace(dI1,t,s) % chuyen dao ham I1(t) sang Laplace

Cc lnh ph tr cn ch gii mt bi ton k thuyt mch


1. Lnh collect( f , x) : l lnh nhm tha s chung theo bin
V d f= 2*x + 3*x;
>>f= collect(f,x)
f=
5*x
2. Lnh thay th subs( f,{ x,y,z},{ 1,2,3}) thay th x , y , z bng 1 2 3
>> syms x;
>> syms R1 R2 R3;
>> f= R1+R2 + R3*x;
>> subs(f,{R1,R2,R3},{1,2,3})
ans =
3+3*x
3. Trong khi gii phng trnh :
Chng ta thay th phn t laplace(I1(t),t,s) bng LI1 nh sau
>> syms t s;
>> sym(' diff( I1(t),t)');
>> l=sym(' diff( I1(t),t)');
>> l=laplace(l,t,s)
l=
s*laplace(I1(t),t,s)-I1(0)
(ch khi thay I1(0) bng gi tr no th ta phi gn nh sau

v d subs( l , { 'I1(0)' ,'laplace(I1(t),t,s)' } , {2, LI1})


kt qu s c nh sau: l= s* LI1 -2
4. Sau khi gii ra nghim dng , p theo laplace th ta chuyn i ngc li dng hm
bin i ngc laplace( hm ngc l illaplace)
V d c th
Cho mch in c cc phng trnh nh sau:(dI1/dt)*R1 + R2 = I1*R3
% gii h phong trnh trn bang cch bin i sang laplace

Trang 11

%chng trnh vit trong M-file v c ghi trong file C5.m


syms R1 R2 R3 real;
I1=sym('I1(t)');
dI1=sym('diff(I1(t),t)');
eq1= dI1*R1 +R2-I1*R3;
syms t s ;
q1=laplace(eq1,t,s)
syms I1p;
q2=subs(q1,{R1,R2,R3,'I1(0)','laplace(I1(t),t,s)'},{1,2,3,2,I1p})
q2=collect(q2,I1p);% nhm li tha s chung l I1p
I1p=solve(q2,I1p)% Gii phng trnh trn vi bin I1p
ilaplace(I1p)% bin i ngc li sang I1(t)
Kt qu khi thc hin chng trnh trn l:
>>C5
q1 =
R1*(s*laplace(I1(t),t,s)-I1(0))+R2/s-R3*laplace(I1(t),t,s)
q2 =
s*I1p-2+2/s-3*I1p
I1p =
2*(s-1)/s/(s-3)
% kt qu I1(t)
ans=
2/3+4/3*exp(3*t) % kt qu I1(t)
Sau y l mt s bi tp gii.

5.5 Gii h phng trnh i s tuyn tnh


Phn ny trnh by chng II 'Th vin ton hc Symbolic'
Mun gii trc ht hm phi l hm symbolic ca mt hoc nhiu bin no
>>syms x y;
>> [x,y]=solve('x+y=1','x-11*y=5',x,y)
x=
4/3
y=
-1/3
> syms x y;
>> n=solve('x+y=1','x-11*y=5',x,y) % kt qu dng cu trc
n=

Trang 12

x: [1x1 sym]
y: [1x1 sym]
>> n.x % truy nhp cu trc bin x
ans =
4/3
>> n.y % Truy nhp cu trc bin y
ans =
-1/3

5.6 Phng trnh vi phn thng


DSOLVE Symbolic tm nghim ca phng trnh vi phn DSOLVE('eqn1','eqn2', ...) ch
chp nhn cc biu thc vi phn dng symbolic ('eq1'....) v iu kin u .Mt s
phng trnh hoc cc iu kin u c th c nhm li vi nhau v cch nhau bng
du phy(comma), i vi mt thng s u vo , mc nh l bin 't' bin c lp ny c
th c thay i t 't' n cc bin symbolic khc bng cch thm bin nh l thng
s u vo cui cng
V d nh sau: gi s ta cn gii phng trnh vi phn dy/dx= x*y bin ly tch phn(phi
l) x cho nn ta coi x l thng s u vo cui cng ta vit nh sau
syms x

Thng
s cui

y=dsolve('Dy=x*y','Dy(0)=1','x');
k hiu 'D' nh ngha phng trnh vi phn tng ng vi bin c lp v d thng
thng s dng dy/dt . ''D'' c theo sau bi mt s ,th s nh ngha bc vi phn v
d D2y ngha l d2y/dt2 v d sau:
y = dsolve('D2y+y=1','y(0) = 0')
kt qu: y = 1+C1*sin(t)-cos(t)
Cn D3y tc l d3y/dt3
ch rng bin symbolic khng c cha trong D v d nh khng th ghi nh sau :
syms y; dsolve('Dy') (sai)
iu kin u xc nh bi biu thc 'y(a)=b' hoc 'Dy(a)=b'
y l mt trong nhng binph thuc v a v b l s khng i nu s iu kin u
nh hn s bin ph thuc th Kt qu s c cho trong mng C1,C2
C ba kiu u ra .i vi mt phng trnh vi phn th c mt u ra , i vi h c
nhiu phng trnh vi phn th c s u ra tng ng (u ra c th l mt structer)
Examples:
dsolve('Dx = -a*x') returns
ans = exp(-a*t)*C1
x = dsolve('Dx = -a*x','x(0) = 1','s') returns

Trang 13

x = exp(-a*s)
y = dsolve('(Dy)^2 + y^2 = 1','y(0) = 0') returns
y=
[ sin(t)]
[ -sin(t)]
S = dsolve('Df = f + g','Dg = -f + g','f(0) = 1','g(0) = 2')
returns a structure S with fields
S.f = exp(t)*cos(t)+2*exp(t)*sin(t)
S.g = -exp(t)*sin(t)+2*exp(t)*cos(t)
Y = dsolve('Dy = y^2*(1-y)')
Warning: Explicit solution could not be found; implicit solution returned.
Y=
t+1/y-log(y)+log(-1+y)+C1=0
dsolve('Df = f + sin(t)', 'f(pi/2) = 0')
dsolve('D2y = -a^2*y', 'y(0) = 1, Dy(pi/a) = 0')
S = dsolve('Dx = y', 'Dy = -x', 'x(0)=0', 'y(0)=1')
S = dsolve('Du=v, Dv=w, Dw=-u','u(0)=0, v(0)=0, w(0)=1')
w = dsolve('D3w = -w','w(0)=1, Dw(0)=0, D2w(0)=0')
y = dsolve('D2y = sin(y)'); pretty(y)
S dng ode23 v ode45 dng gii phng trnh vi phn thng
Cu trc
[T,Y] = ODE23(ODEFUN,TSPAN,Y0) vi TSPAN = [T0 TFINAL] t hp h phng
trnh vi phn y' = f(t,y) t thi gian T0 n TFINAL vi gi tr ban u Y0( with initial
conditions Y0). Hm ODEFUN(T,Y) chc chn tr v mt vc tor ct tng ng vi
f(t,y). Mi hng trong mng kt qu Y tng ng thi im(t) tr v trong column vector
T
ly kt qu ti cc thi im T0,T1,...,TFINAL(tt c l tng u hoc gim u) s
dng TSPAN = [T0 T1 ... TFINAL].
[T,Y] = ODE23(ODEFUN,TSPAN,Y0,OPTIONS) solves as above with default
integration properties replaced by values in OPTIONS, an argument created with the
ODESET function. See ODESET for details.
Thng thng s dng options l mt s v hng ni v sai s lin quan ('RelTol')
Nu khng c thng s trn th mc nh sai s lin quan l =1-e3 v sai s tuyt i mc
nh vi tt c cc phn t l 1e-6
Example
[t,y]=ode23(@vdp1,[0 20],[2 0]);

Trang 14

plot(t,y(:,1));
solves the system y' = vdp1(t,y), using the default relative error
tolerance 1e-3 and the default absolute tolerance of 1e-6 for each
component, and plots the first component of the solution.
% giai phuong trinh vi phan bac hai sau
% L*d2q/dt2 + R * dq/dt + q/c = Eo* cos(w*t)
% nguyen tac giai
global R L C Eo omega
L=100;
R=100;
C=0.25;
Eo=10;
omega=1;
%t0=0;
%ta=3;
%x0=[1 1]'
tol=1e-3;
[t,x]=ode23(@Mach1,[0 3],[1 1],tol);
kq=[t x(:,1) x(:,2)]
plot(t,x(:,1));
%-------------- Ham Mach1-------------------------------function f= Mach1(t,x)
global R L C omega Eo
f=[(Eo/L)*cos(omega*t)-x(1)/(C*L)-R*x(2)/L x(2)]';
%-------------------ket qua thuc hien trong command window-----kq =
0 1.0000 1.0000
0.0800 0.9216 1.0833
0.3585 0.5926 1.4308
0.5589 0.2895 1.7484
0.7093 0.0171 2.0319
0.8596 -0.3011 2.3615
1.0069 -0.6642 2.7362
1.1900 -1.1987 3.2858
1.4006 -1.9498 4.0557
1.6323 -2.9833 5.1132
1.8804 -4.3902 6.5518

Trang 15

2.1408 -6.2933 8.4990


2.4104 -8.8576 11.1269
2.6868 -12.3044 14.6669
2.9682 -16.9303 19.4292
3.0000 -17.5398 20.0576
Nguyn tc gii bi ton : a phng trnh vi phn cp n v n phng trnh vi phn cp
mt trong v d trn ta t x1=q ,x2=diff(x1) nh vy ta c hai phng trnh vi phn(
ging nh phng php t bin trng thi trong l thuyt iu khin t ng )

Trang 16

Chng 5
ho trong matlab

5.1 Mn hnh th:

y l ni trnh by mi hnh nh , th . c gii trnh t khung ca s


Command ca Matlab x l theo cc lnh , cng c mn hnh.
C hai cch hin khung mn hnh th trng:

T khung ca s command kch


File/New v chn Figure t menu
x.

Cng trong khung ca s


Command g lnh figure v n
enter.

5.2 cc lnh menu ho trong matlab:

gip cc bn c th nm vng v s dng chng trnh Matlab; phn


ny gii thiu cclnh trn thanh menu cng vi cc chc nng v cng dng
ca tng menu con nm trong cc menu chnh.
5.2.1 File:
Hin menu x cha cc lnh con c chc nng to, qun l, iu hnh cng nh thay
i cc thng tin cc thng s mc nh ca chng trnh cho ph hp vi tng cng vic.
New Figure
New Figure dng m trang mn hnh ho mi.

Trang 1

m trang mn hnh mi chng ln mn hnh th c trong khi th c vn cn


hin din trn mn hnh, chn New Figure t menu x. Mt ca s mi s xut hin ra
nm chng ln mn hnh c
Open:
M tp tin th c trong khung mn hnh th x l theo nhu cu cng vic.
Cc bc thc hin m th lu:

Kch File/ Open t menu x, xut hin mn hnh thoi Open .

Look

in:

Ni

cha

cc tp tin th ca Matlab. Ni cha c th l a, th mc hoc chng trnh


khc.
-

File nane: Tn tp tin mun m trong khung mn hnh th .

Files of type: Th loi tp tin th l .fig

Kch p vo tn tp tin mun m hoc nh tn tp tin vo khung


File name hoc kch mt ln vo tn tp tin, kch Open. Tp tin
th va chn s hin ln mn hnh.
Close:
ng khung mn hnh th v khung ca s nhp lnh ca Matlab ( Biu tng
c chc nng tng ng vi lnh Close trong menu File)
Save:

Trang 2

Lu li nhng thay i trong khung mn hnh th hin hnh. Tuy nhin, c mt


iu khc bit l lnh ny lu li ngay nhng thay i trong tp tin mi sau khi c
t tn v ang hin din trn mn hnh tip tc x l.
Nu bn m tp tin c vi lnh Open x l v nu c nhng thay i bt k
trong ni dung hin hnh v sau khi kch lnh save, mn hnh hin khung thoi save as.
T khung thoi ny bn c th lu li nhnh thay i theo tn tp tin c hoc vi mt tn
mi.
Save As: Hin khung thoi Save As bn lu tp tin th mi v theo mt tp tin mi
hoc lu li nhng thay i trong ni dung ca tp tin c c m vi lnh Open theo tn
c hoc vi tn mi. Cc bc thc hin nh sau:

Sau khi thay i , kch File /


Save as

Save in Ni cha cc tp tin

mun. Lu. Ni cha cc tp tin


th ca Matlab. Ni cha c
th l a, th mc hoc
chng trnh khc.
-

File name Tn tp tin tu

chn lu cho th va to
-

Save as type Th loi tp tin

mun lu. Mc nh l .fig i


vi cc tp tin th

Sau khi chn ngun cha (nu cn thit), t tn mi cho th, kch vo Save
lu.

Export:
Lu li tp tin th hin hnh thnh mt
dng tp tin khc sau ny c th chuyn
sang chng trnh ng dng khc.

To mt th mi hoc m tp tin
th c ln mn hnh.

Kch menu File v chn Export. Mn


hnh hin khung thoi Export.

Trang 3

Save in Ni cha cc tp tin mun chuyn.


File name Tn tp tin mun lu li chuyn. Bn c th t tn theo tn c nhng
phn m rng li l mt tn khc .
Save as type Chn loi tp tin mun lu li chuyn.

Sau khi chn song, kch vo Save ghi li tp tin theo dng khc.

Property Editor:
Hin khung thoi Graphics Property ngi s dng thay i cc khung thuc tnh
mc nh cho ph hp vi tc v.
Preferences:

Hin khung thoi vi ba tu

chn ngi s dng c th thay i tham


s cho ph hp nhim v.

General: Hin khung thoi ngay khi


kch chn lnh Preferences t menu
File ca khung ca s lnh MATLAB.
K

ch chn cc loi tham s


mun thay i hoc gn thm
sau kch OK.

H
i

n
khung danh mc font cng thuc tnh
ngi s dng thay i font mc nh thnh
font qun thuc.

Trang 4

Command

Windows

Font:

Copy Options : Hin khung thng tin ngi s dng tu chn nhng thnh
phn i tng mun sao
chp.

Page Setup: Hin khung thoi


Page Setup nh li trang in
cho ph hp vi th khi v
hoc in.

Orientation: Chn hng


giy in dc hoc in
ngang.

Limits: nh du chn
p dng hoc khng p
dng ch va khp vi cc trc v gia tr theo thanh o trn trc.

Color: Chn ch mu hoc en trng khi in hoc v trn thit b.

Size and Position: C hai tham s tu chn, s dng theo mc nh hoc chnh
theo tu chn.
Center In th gia trang
Fill

In th trn c trang

MaxAspect In th theo t l
ti a
Print Setup:
Nu c nhiu loi thit b in( v ), th nn
khai bo li trc khi chuyn bn th sang
my in hoc my v.
Cc bc thc hin v mt th:

Kch File / Open.

Kch File / Print Setup, mn hnh hin


khung thoi Print Setup.

Trang 5

Kch chn loi my in, kh giy. Theo mun.

Kch Ok in.

Print Preview: Xen li th hin hnh trc khi chuyn sang in


Print:
Hin khung thoi print ngi s dng chn loi my in hoc my v cho ph
hp; chn s lng bn in vi Copies. Nu cn thit kch Properties chn thm cc
thng tin b sung cn thit.
5.2.2 Edit: Hin menu x cha cc lnh con lin quan n vic s l cc i tng cng
nh cc thng s gn cho i tng .
Undo: Hu lnh hoc chc nng c thi hnh trc . Sau khi kch lnh Undo
thc hin vic hulnh, Undo s chuyn i thnh Redo c th phc hi nhng chc
nng hu.
Cut ( Ctrl + x): Ct i tng chn trong bn th hin hnh a vo Cliboard sau
dn vo th khc. Sau khi ct i tng chn s bin mt ti v tr hin hnh.
Cc bc thc hin nh sau:

Kch vo biu tng Enable Plote Editing trn thanh cng c.

Kch chn i tng mun ct.

Kch Edit / Cut. i tng s bin mt ti v tr hin hnh v lu vo Cliboard.

Copy ( Ctrl + c): Sao chp i tng chn trong th hin hnh a vo Cliboard
sau dn vo th khc. i tng sau khi sao chp vn hin din ti v tr c. Cc
bc thc hin nh sau:

Kch vo biu tng Enable Plote Editing trn thanh cng c.

Kch chn i tng mun ct.

Kch Edit / Copy. i tng s vn hin ti v tr hin hnh v lu vo Cliboard.

Paste ( Ctrl + v): Dn i tng c Cut hoc Copy vo Cliboard sang th khc.
Cc bc thc hin nh sau:

M th mun c dn i tng c lu vo Cliboard.

n Ctrl + v hoc kch vo Paste. i tng s c dn vo th mi hoc v tr


mi ca th c.

Trang 6

di chuyn i tng n v tr mi ta kch vo i tng mun di chuyn. Khi


con tr i thnh mi tn bn u th ko, gi i tng n v tr mi ri th nt
chut.

Clear: Xo i tng c chn trong th.

Kch vo biu tng Enable Plot Editing trn thanh cng c.

Kch chn i tng mun xo.

Kch Edit / Clear. i tng s xo mt ti v tr hin hnh.

Select All( Ctrl + a): Chn tt c cc i tng trong th hin hnh x l theo nhu
cu.
Copy Figure: Sao chp c th sang Cliboard ri sau dn sang trang mn hnh
th hoc sang chng trnh khc. Cc bc thc hin nh sau:

M th mun c sao chp sang i tng khc.

Kch Edit / Copy Figure. th s c ghi vo Cliboard.

Thot khi Matlab, m chng trnh cn Copy th n.

Kch chn v tr mun dn th n, sau kch Paste. th s c dn ngay


v tr chn.

Copy Option:
Hin khung thoi Preferences

ngi s dng thay i (Xem File /

Preferences).
5.2.3 Tools ( Ctrl + t): Cha cc lnh cng c h tr vic thc hin, x l cc thuc tnh
minh ho trong th ngi quan st d hiu
hn.
Show Toolbar:
Cho hin hoc giu cc biu tng cng c Standard trn mn hnh
Enable Plot Editing: nh du chn hoc b chn i tng.
Axes Properties:

Gn thuc tnh

cho cc trc to cng vi tiu


th hin hnh. Th d vi th
lc ko si dy khi quay trn qu
cu. Thay v dng cc thuc tnh

Trang 7

lnh gn chung vi s liu, ta c th dng khung thoi Axes Properties gn thuc


tnh. Cc bc nh sau:

Sau khi v th , kch chn Tool / Axes Properties. Mn hnh xut hin khung
thoi Axes Properties.

Trong khung thoi Axes Properties c th: t tiu cho th ( Title), gn nhn
cho trc x v trc y
( Label), gii hn ln

cc trc
( Limits), t l xch cc
trc.. . cho th.

Kch Apply v kch OK.

Line Properties: Gn thuc tnh nh cc im


nh d liu, to nt th dy hay mng cng
nh mu sc cho ng th hin hnh. Cc
bc thc hin nh sau:

Kch Enable Plot Editing v kch chn


ng th. Nhng im nh d liu
trn ng th s c nh du bng
nhng hnh vung nh.

Kch Tool / Line Properties. Mn hnh hin khung thoi line properties.

Chn dy mng ca ng th
Line Width; kch c du nh d liu
trn th Marker Size; Kiu dng
th Line Style; mu sc Color

Kch Apply v kch OK.

Trang 8

Text Properties: Thay i cc thuc tnh cho cc k t trong th. Cc bc thc hin
nh sau:

M th mun thay i thuc tnh k t.

Kch menu Tool / Axes Properties. Xo cc k t cn thay i trc . Nhp li


cc k t theo cch g ting vit, ng quan tm n cc k t hin ra c ng
khng. Kch Apply v kch OK.

Kch biu tng Enable Plot Editing, chn chui k t mun thay i thuc tnh.

Kch

menu

Tool

Text

Properties. Mn hnh xut hin


khung thoi Edit Font Properties.

Trong khung thoi, chn loi font


ch Vn Time; kch chn cc
thuc tnh cho font ch
( kch thc, kiu dng).

Kch Ok.

Unlock Axes Position: Chnh li t l


trc to hoc di chuyn th n v tr khc trong khung ca s ho.

Kch chn biu tng Enable Plot Editing.

Chn trc to x (y) nu l th


2D hoc trc z nu th l 3D.

Kch

menu

Tool

Unloock

Position.

Mun chnh t l cho trc no,


kch chut vo im chnh trong
bn gc ca th v ko vo
trong hay ra ngoi theo hng tm.
Nu mun di chuyn th n v
tr khc, kch chut vo im
chnh nm trn mt cnh v ko n v tr khc.

Sau khi thc hin xong, kch li menu Tool. Ln ny lnh Unlock i thnh
Lock Position. Kch Lock Position kho li.
Trang 9

Show Legend: Cho hin hoc giu bng phn loi s liu ca th trn mn hnh

M th mun hin bng


phn loi d liu trn mn
hnh.

Sau khi th hin trong


khung mn hnh ho, kch
Tool / Show Legend. Ngay
cnh th s xut hin khung
phn loi s liu ca th
cng vi mi loi mang mt
mu khc nhau.

giu phn loi d liu th, kch Tool / Hide legend

Add: Hin bn thanh cng c h tr cho vic thm cc thuc tnh vo th:

Axes: V trc to mi trong khung mn hnh ho.


Kch File / New / Figure.
Kch Tool / Add / Axes. Con tr mouse i thnh hnh ch thp.
Kch chn v tr u tin, kch v ko mouse. Th mouse sau khi c kch
thc ca cc trc to nh.

Line: Thm ng k vo th. Cc bc thc hin nh sau:

M th mun thm ng k.

Kch Tool /Add /Line hoc kch biu tng Add Line
cng c.

Kch chn im u
tin, ko mouse n
v tr th hai. Kch
li mouse nh
v.

gn thuc tnh
cho ng k, kch
biu tng Enable

Trang 10

Trn thanh

Plot Editing trn thanh cng c v kch p vo ng v . Mn hnh


hin khung thoi Edit line Propertise.

Khai bo tham s cho tng loi thuc tnh ( ging nh trong Line
Properties).
Kch Apply v OK.

Arrow: Thm cc mi tn vo ng th ti nhng v tr bt k.


M th cn thm mi tn.
Kch Tool / Add / Arrow, hoc kch biu tng

trn thanh cng

c.
Kch chn v tr thm mi tn, ko mouse ly di cho mi
tn.
C th di chuyn mi tn n v tr bt k bng cch kch mouse vo
mi tn ri ko n v tr nh v.
Text: Thm cc k t vo th. Cc bc thc hin nh sau:
M th cn thm k t.
Kch Tool / Add / Text hoc kch biu tng

trn thanh cng

c.
Kch chn v tr cn thm k t, nhp k t t bn phm.
Kch vo

ri kch p vo chui k t thay i font ch v

thuc tnh cho ph hp.


di chuyn, kch vo chui k t ri ko.
sa i ni dung kch p vo chui k t ri thc hin nh trong
word.
Zoom In: Phng to th quan st tng chi tit.
Kch vo Zoom In hoc kch vo biu tng

Trn thanh cng

c.
Zoom out: Thu nh th theo yu cu.
Kch vo Zoom out hoc kch vo biu tng
cng c.

Trang 11

Trn thanh

Rotate 3D: Xoay i tng 2D thnh 3D

Trang 12

5.3 Thc hnh v cc loi th 2- D


5.3.1

th tuyn tnh:
th tuyn tnh l loi th 2-D dng cc

on thng ni cc im d liu li vi nhau to


thnh mt biu lin tc.

lnh v Plot:

>> Plot ( tn bin , tn hm)


VD 1: v hm y = sin (x)
>> x = 0 : 0.1 : 10 ;
% To vecter x t 0 10 vi bc 0.1.
>> y = sin(x);% Nhp hm.
>> plot (x,y) % V hm y theo bin x.
>>grid on % To chia cho th.
VD 2: v th y = ax+ bx vi a = sin, b = cos
x bin thin t 0 n 2*pi.
>> x = 0: pi/100: 2*pi;
>> y= sin(x)+cos(x);
>> plot(x,y)
>>grid on
VD 3: To bin t hm linspace :
Tn bin = linspace ( im u, im cui, s im
cn v )
% v hm y = e-x.sin (x) vi x chy t 0 50 vi s
im cn v 50 im.
>> x=linspace(0,10,50);
>> y=exp(-x).*sin(x);
>> plot(x,y)
5.3.2

th dng nh du:

Trang 13

th dng nh du l loi th ch dng cc im nh vng trn, hnh thoi . Thay v dng cc on thng ni li vi
nhau.VD 4:
>> a = [8 8.5 5 8 6.5 7 7.8 8.5 7 7.5 5 9 7.5 9.2];
>>plot ( a,*);
>>grid on
5.3.3

V nhiu ng biu din trn cng mt th:

Cng mt bn th ta c th v nhiu th vi cc d liu khc nhau v loi ng minh ho. Theo mc nh Matlab s
t ng gn loi mu sc cho tng d liu phn bit. Cng thc tng qut khi v nhiu th trn cng mt h to :

Plot ( tn bin 1, tn hm1, tn bin 2, tn hm 2....)


VD 5:
>>x=0:0.1:10;
>> y1=sin(x);
>> y2=sin(x).*3.^(-x);
>> plot(x,y1,x,y2)
5.3.4 Ch thch v kim sot th:

title ( Tn tiu th )

xlabel ( Tn trc x)

ylabel ( Tn trc y)

text (x,y, chui k t) a mt chui k t vo im c to x,y trn th.

gtext(chui k t) a mt chui k t c xc nh bi du + hay con tr chut.

legend(chui 1,chui 2...) a ra mn hnh ho mt khung ch thch bao gm


cc chui. V tr ca khung c th c di chuyn bi chut.

legend off: loi b chc nng legend khi mn hnh ho.

Grid on: bt ch li trong mn hnh ho.

Grid off: tt ch li trong mn hnh ho.

Hold on: gi li cc th v ( dng v nhiu th trn mt h trc to )

Hold off: ngc li vi hd on

Trong Matlab ta c th chn ng v v mu theo 1 trong cc kiu sau:


K hiu

Mu

K hiu

Kiu

vng

Chm im

ti

Vng trn

xanh

Du x

Trang 14

Du cng

xanh l cy

Du sao

xanh thm

Nt lin

trng

-.

Gch chm

en

--

Gch gch

b
w
k

Khi ta dng lnh: plot(tn bin, tn hm,k hiu mu k hiu kiu ng)
VD 6: v hm Cos(x), cos (2x)
>> x=linspace(0,10,50);
>> y=cos(x);y1 = cos(2*x);
% v y bng du x mu en, y1 bng du * mu xanh thm
>> plot(x,y,xk,x,y1,*b);
% Tn th
>> title(' Do thi ham cosx & ham cos2x')
>> xlabel(' Truc Hoanh')
>> ylabel(' Truc Tung')
>> grid on

Gn gi tr thanh o: Ngoi gi tr thanh o theo mc nh ca chng trnh, c th t


chia thang o theo d liu ring.
VD 7:
>> x = -pi : .1 : pi;
>> y = sin(x);
>> plot(x,y)
>> set(gca,Xtick,-pi : pi/2 : pi)
>> set(gca,'Xticklabel', { '-pi','- pi/2','0',' pi/2','pi'

Trang 15

})

5.3.5

th hnh thanh:
Loi th ny thng dng minh ho cc s liu theo dng thanh, c th theo

trc x hoc trc y. VD8 : V biu khi lng nhp hng trong 12 thng.
>> x = [230 255 270 210 170 240 265 280 240 300 320 345];
>> bar (x)
>> xlabel(Thang)
>> ylabel(Doanh thu)
>>set(gca,'Xticklabel',

'Th1','Th2','Th3','Th4','Th5','Th6','Th7','Th8','Th9','Th10','Th11','Th12'

})

350

300

Doanh thu

250

200

150

100

50

5.3.6

Th1

Th2

Th 3

Th4

Th5

Th 6

Th 7 Th 8
Thang

Th 9 Th 1 0 Th 1 1 Th 1 2

th to cc:
Thng c p dng trong

lnh vc thin vn nh hng gi,

90

10
60

120

hng di chuyn ca cn boVD

8
6

9:

30

150
4

>> th = [0:.1:10];
>> r1 = th;

2
180

>> r2 = 5*cos(th)+ 5;
210

330

>> % mu en, ng chm.


>> h1 = polar(th,r1,'k.');

240

300
270

>> set(h1,'Markersize',15)

Trang 16

>> hold on
>> h2 = polar(th,r2,'k');% mu en, lin.

5.3.7

th hnh Pie:
L loi th t l bch

phn ca tng loi d liu minh


ho. Theo mc nh Matlab s t
25%

mu khc nhau cho tng thnh phn

30%

d liu.VD 10:
>> x = [30 22 15 8 25];
>> explot = [0 1 0 0 0];

8%

>> pie(x,explot)
>> colormap jet
15%
22%

5.3.8

Hin nhiu th trong mt mn hnh:


Trong mt mn hnh th, c th cho hin nhiu th vi mi th l mt loi d liu khc nhau.VD 11:

>> a = [3.2 4.1 5 6];


>> b = [2.5 4 3.5 4.9];
>> subplot(2,1,1);plot(a)

% to trc to
5

>> subplot(2,1,2);plot(b)
% to trc to

3
1

1.5

2.5

3.5

2.5

3.5

5
4.5
4
3.5
3

Trang 17
2. 5
1

1.5

5.3.9

Lnh staris:

v th bc thang.
VD 12:

0 .8
0 .6
0 .4
0 .2
0

>>x = 0: .25: 10;

-0 . 2
-0 . 4

>>stairs (x,sin(x))

-0 . 6
-0 . 8
-1

10

5.4 Thc hnh v cc loi th 3- D


5.4.1 Lnh xc nh vng v:

>>a = linspace(1,5,50);
>>b = linspace(1,10,100);
>>[ x,y] = meshgrid(a,b);
>> z = sin(x)+cos(y);
1

5.3.2

Lnh v : plot3(x,y,z) :
0.5

To cc i tng tuyn tnh


trong mi trng 3-D. VD 8:
>> a =linspace(0,10,100);
>> b=linspace(0,6,100);

-0.5

-1
6
10

>>[x,y]=meshgrid(a,b);

8
6

4
0

>>z=sin(x)+cos(y);
>> plot3(x,y,z)

Ngi ta dng lnh


mesh(z): hnh v c li.
Vd
>>a=linspace(0,10,100);

Trang 18

2
0

>> b=linspace(0,6,100);
>> [x,y]=meshgrid(a,b);
>> z=sin(x).*cos(y);
>> mesh(z)

Trang 19

Chng 6
M hnh ho, M phng h thng ng s dng Simulink
Mc lc chng :
1. Khi nim v simulink
2. Phng php xy dng m hnh
3. ng dng simulink m phng cc bi ton k thut
6.1 Khi nim v simulink
What Is Simulink?
Simulink l mt phn mm gi gn c s dng xy dng m hnh v m phng ,
tnh ton phn tch h thng ng .Simulink cho php m t h thng tuyn tnh, h phi
tuyn , cc m hnh trong thi gian lin tc hoc gin on(ly mu ) hay kt hp c hai.
i vi m hnh , Simulink cung cp mt giao din ho (GUI) cho vic xy dng m
hnh nh l cc khi (block diagrams), ngi s dng ch cn kch chut v drag( chn
khi ri gi nguyn chut tri ri r chut n v tr t cc khi). Vi giao din giao tip
nh vy, bn c th v M hnh nh l m hnh bn v trn ''giy''
Th vin simulink bao gm cc khi th vin sinks, sources(to tn hiu), linear. . .
.V bn cng c th t to ra mt khi block ring ca mnh (vit trong S-function)
Xy dng m hnh 't trn xung 'hoc 't di ln trn ' xem k cc khi trong th
vin cc khi source hoc sink linear . . . bn kch p chut vo cc khi . Sau khi
nh ngha m hnh bn c th m phng m hnh , s dng scope xem biu din
m hnh ,v d nh mt khi pht hnh sin , u ra ca khi c mc vi mt
scope th hin kt qu ca khi
6.2 Th vin simulink v mi trng lm vic (ni xy dng m hnh)
Bt u vo vng lm vic ca simulink trong ca s command window ta g lnh
>>simulink nh sau:

Trn mn hnh s xut hin thm mt ca s mi , ca s ny cha ton b d liu th


vin ca Simulink, n c th di chuyn c bng chut nh sau:

Trang 1

Cc khi
th vin Ca
Simulink

Bn c th kch
p chut vo tng
khi xem cc
khi con ca n(hoc bn nhp n chut vo danh mc tng ng vi khi t simulink)

v d bn chn khi source

Hm
con
ca
khi

Trang 2

To mi trng lm vic
T ca s Library Browser (xem hnh trn) ta kch chut vo file danh sch cc mc New
, Open , Preferences xut hin .
to mi trng lm vic (vng v m hnh) ta chn mc New ri chn Model
Ctr+N mt ca s lm vic xut hin

Ca s lm vic nh sau

t li tn cho m hnh bng cch vo mc file -> Save as

6.3 Phng php xy dng m hnh


Tt c cc bc trn l chun b cho vic xy dng m hnh m phng

Trang 3

Gi s ta mun xy dng m hnh phn tch sng sin trn ca s lm vic nh sau:(xem

hnh v di y)

Cc bc:
Sau khi to mi trng lm vic mi (cc bc gii thiu trn) tip n

Dng chut
Ko sang
vng ca s
Tm khi hm sin trong khi th

vin no( bng cch chn

tng khi bng chut t cc mc di Simulink) v d ny hm to sin trong khi


Source (xem hnh trn), dng chut chn vo khi SineWave gi nguyn chut ri ko
sang vng ca s lm vic , trn ca s lm vic xut hin khi hm SineWave, tng t
ta lm nh vy vi Scope trong khi Sink vic ni cc khu vi nhau c cc mi tn ,
dng chut ni cc mi tn li.
Trang 4

t li cc thng s ca cc hm bng cch kch i ln cc khi(cc khi trong


vng ca s lm vic). i vi khi SinWave th c cc thng s c th thay i c l:
+ Chu k( tn s) Frequency(rad/s)
+ Bin Amplitude

+ Sample time (thi gian ly mu)


Khi Scope:

Trang 5

Sau khi hon tt t li cc thng s , n cng vic quan trong nht l kt qu m phng
:
1. Trn thanh cng c nhp chut vo mc Simulation
V chn Start

Trang 6

2 . Hoc nhp vo nt tamgic nh trn(tc dng lnh ging nh vo lnh Start)


3.Mun Dng qu trnh ang m phng ta kch vo nt vung bn cnh nt tam gic(nt

ny ch xut hin khi ta ang m phng)


4. xem kt qu ca khi SineWave ta kch i chut vo Scope

Trang 7

Chng 6
ng dng tnh ton trong matlab

6.1 Lnh sym, syms:


Mc ch: Bin i cc s, bin, i tng thnh Symbolics.
V d:
>> sym x y
>> x = sym(x); y = sym(y);
% x,y l cc bin symbolic.
>> syms x y real
>> x = sym(x, real);y =sym(y,real)
%x,y l bin kiu thc symbolics
syms x real y
x = sym(x, real);y = sym(y)
% x l bin kiu thc, y l bin bt k kiu symbolic
syms x y unreal
% x, y khng phil l bin thc
syms t
Q = sym(Q(t));
% t bin symbolic v Q l hm symbolic.

6.2 Nhn 2 a thc: ( Dng lnh conv)

y1 = anxn + an-1xn-1+...+a0
y 2 = bnxn + bn-1xn-1+...+b0
Bc1: Lp 2 ma trn hng tn y1, y2 c cc phn t l cc h s t an n a0 v
bn n b0 gim dn theo bc ca phng trnh ( Nu h s no khng c ghi 0 )
Bc 2: dng lnh conv nhn 2 a thc.

>>y3= conv(y1,y2)
VD: y1 = 2x2 + 3x+1
y2 = 3x2 + 4x
>> y1 = [2 3 1]

Trang 1

>> y2 = [3 4 0]
>> y3 = conv(y1,y2)
>> y3 = 6 17 15 4 0

Ch : hm conv ch thc hin nhn 2 a thc. Mun nhn nhiu a thc vi nhau ta phi
thc hin nhiu ln hm conv.

6.3 Cc tnh ton cho phng trnh:


6.3.1

Gii phng trnh bc cao: ( Lnh Roots)

y = anxn + an-1xn-1+...+a0
Bc1: Lp 1 ma trn hng c cc phn t l cc h s t an n a0 gim dn theo
bc ca phng trnh ( Nu h s no khng c ghi 0 )
Bc 2: Dng lnh Roots gii ma trn va to c.
VD gii phng trnh sau: y = x5 -2x4 + 5x2 -1
>> y = [ 1

-2

-1]

y=
1

-2

-1

>> kq=roots(y)
kq =
1.5862 + 1.1870i
1.5862 - 1.1870i
-1.1606
-0.4744
0.4627
6.3.2 Bit nghim tm li phng trnh: ( lnh poly )
Ly kt qu ca v d trn
>>A = [1 1 2;1 3 4;2 1 1];
>>poly(A)
ans =
1 -5 8 14
6.3.3 Chuyn t phng trnh h s sang phng trnh c cha c tham s: ( poly2sym)
>> poly2sym([1 0 -2 -5])

Trang 2

ans =
x^3-2*x-5
>> y = [1 2 3 0 1]
y=

>> poly2sym(y)
ans = x^4+2*x^3+3*x^2+1
6.3.4

Gii h phng trnh tuyn tnh:

Vd gii h phng trnh tuyn tnh sau:

2 x + 3 y + z = 7

3x + 6 y 4 z = 19
x + y + z = 2

Thc cht h phng trnh trn c th a v php ton ma trn sau:

2
3
1

3
6
1

1
x
7
4 y = 19
1
z
2

Nh vy vic gii h PT tuyn tnh thc cht l thc hin php ton v ma trn.
>> A=[2 3 1;3 6 -4;1 1 1]
A=
2

-4

>> B=[7;19;2]
B=
7
19
2
>> C=inv(A)
C=
-2.5000

0.5000

4.5000

1.7500 -0.2500 -2.7500


0.7500 -0.2500 -0.7500

Trang 3

>> kq=C*B
kq =
1.0000
2.0000
-1.0000
VD2:
>>A=[1+i 2i;3+i 1]
A=

1.0000 + 1.0000i

0 + 2.0000i

3.0000 + 1.0000i 1.0000


>> C=inv(A)
C=
0.0882 + 0.1471i 0.2941 - 0.1765i
-0.1176 - 0.5294i -0.0588 + 0.2353i
>> B=[1; 2+i]
B=
1.0000
2.0000 + 1.0000i
>> KQ=C*B
KQ =
0.8529 + 0.0882i
-0.4706 - 0.1176i
VD3
>>syms a1 a2 b1 b2 c1 c2
>>A=[a1 a2;b1 b2]
A=
[ a1, a2]
[ b1, b2]
>> B=[c1;c2]
B=
[ c1]
[ c2]
>> C=inv(A)

Trang 4

C=
[ -b2/(-a1*b2+b1*a2), a2/(-a1*b2+b1*a2)]
[ b1/(-a1*b2+b1*a2), -a1/(-a1*b2+b1*a2)]
>> KQ=C*B
KQ =
[ -b2/(-a1*b2+b1*a2)*c1+a2/(-a1*b2+b1*a2)*c2]
[ b1/(-a1*b2+b1*a2)*c1-a1/(-a1*b2+b1*a2)*c2]
6.3.5

Gii h phng trnh phi tuyn:( Lnh solve)

V d:
sin(x)+y^2+log(z)=7
3*x+2^y+z^3=4
x+y+z=2
>>[x,y,z]=solve('sin(x)+y^2+log(z)=7','3*x+2^y+z^3=4','x+y+z=2')
x=

-2.3495756224572032187410536400368

y=

2.6835269194785219427270239079010

z=

1.666048702978681276014029732135

V d:
x^2 + x*y + y = 3
x^2 - 4*x + 3 = 0
>>[x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3 = 0')
x=
[ 1]
[ 3]
y=
[

1]

[ -3/2]
6.3.6 Gii h phng trnh tham s:
>>[a,u] = solve('a*u^2 + v^2= 0','u - v = 1','a,u')
a=
-v^2/(v^2+2*v+1)
u=
v+1

Trang 5

>>[a,v] = solve('a*u^2 + v^2','u - v = 1','a,v')


a=

-(u^2-2*u+1)/u^2

v=

u-1

6.3.7 Gii h phng trnh vi phn thng: ( lnh dsolve)


>>y = dsolve('(D2y) =1','y(0) = 1')
y=

1/2*t^2+C1*t+1

>>[x,y]=dsolve('Dx = y', 'Dy = -x')


x= cos(t)*C1+sin(t)*C2
y = -sin(t)*C1+cos(t)*C2
6.3.8 Gii h phng trnh vi phn theo hm c sn ca Matlab:
V d: Cho h phng trnh vi phn

Chng trnh m t phng trnh vi phn dng M-file:


function dy = rigid(t,y)
dy = zeros(3,1);
dy(1) = y(2) * y(3);
dy(2) = -y(1) * y(3);
dy(3) = -0.51 * y(1) * y(2);
Thi gian gii phng trnh vi phn Tspan =[0 12], vector iu kin u [0 1 1]
>>options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e5]);
>>[t,y] = ode45('rigid',[0 12],[0 1 1],options);
>>plot(t,y(:,1),'-',t,y(:,2),'-.',t,y(:,3),'.')

Trang 6

1.5

0.5

-0.5

-1

-1.5
0

10

12

6.4 Lnh v hm trong symbolic Matlab:


Symbolics Matlab l th vin cc php tnh ton kiu k t c a vo mi trng
tnh
hc ca Matlab.
Ta cn ch rng, khi vit mt lnh hay mt hm trong Matlab phi vit bng ch
thng.
6.4.1 Tnh ton (Calculus):

Tnh o hm (diff):
diff(S): o hm biu thc symbolic S vi bin ca o hm t do.
diff(S,v) hay diff(S,sym(v)): o hm biu thc symbolic S vi bin ly
o hm l bin symbolic v.
diff(S,n) : o hm cp n biu thc S, n l s nguyn dng.

V d:
>>syms x t
>> y = sin(x^2);
>>z = diff(y);
z = 2*cos(x^2)*x
pretty(z)% hin th dng quen thuc
2.cos2x.x
>>y = diff(t^6,6) % o hm bc 6 ca hm t6.
Trang 7

Y = 720
V d:
>>syms u v
>>y = u^2*v - u*v^3;
>> y2u = diff(y,u,2) %dao ham cap 2 theo u
>> y3u = diff(y,v,3) %dao ham cap 3 theo v
y2u =

2*v

y3u = -6*u

Tnh tch phn( int):


int(S): Tch phn khng xc nh ca bin thc symbolic S vi bin t do
mc nh. Mun bit bin mc nh ta dng lnh fndsym.
int(S,v): Tch phn khng xc nh ca biu thc symbolic S vi bin tch
phn v.
int(S,a,b): Tch phn khng xc nh ca biu thc symbolic S vi bin t
do v cn ly tch phn t [a,b].
int(S,v,a,b): Tch phn khng xc nh ca biu thc symbolic S vi bin
tch phn v v cn ly tch phn t [a,b].

Vid:
>>syms x t z alpha
>>int(-2*x/(1+x^2)^2)
ans = 1/(1+x^2)
>>int(x/(1+z^2),z)
ans = x*atan(z)
>>int(x*log(1+x),0,1)
ans = 1/4
>>int(-2*x/(1+x^2)^2)
ans = 1/(1+x^2)
>> int([exp(t),exp(alpha*t)])
ans = [ exp(t), 1/alpha*exp(alpha*t)]
Vd: Tnh tch phn I =

e ( sx ) dx
2

>>Syms x s real
Trang 8

>>f = exp(-(s*x)^2);
>>I = int(f,x,-inf,inf)% inf l v cng ln
I=
Signum(s)/s*pi^(1/2)
Hm signum chnh l hm sign (hm du), ngha l sign(s) cho ta:
sign(s) = 1 khi s>0; sign(s) = 0 khi s =0; sign(s) = -1 khi s<0;

Tnh gii hn(limit):


limit(F, x, a) : Tm gii hn ca biu thc F khi x a.
limit(F, a) : Tm gii hn ca biu thc F vi bin c lp.
limit(F) : Tm gii hn ca biu thc F khi a = 0.
limit(F, x, a, right) hoc Lim it(F, x, a, left) : Tm gii hn phi hoc
bn tri

V d:
>>syms x a t h
>>limit(sin(x)/x)
ans = 1
>>limit(1/x,x,0,right)
ans = inf
>>limit(1/x,x,0,left)
ans = -inf
>>limit((sin(x+h)-sin(x))/h,h,0)
ans = cos(x)
>>v = [(1+a/x)^x,exp(-x)];
>>limit(v,x,inf,left)
ans = [exp(a),0]

Tnh tng ca dy s l cc bin symbolic(symsum):


symsum(S): Tng ca biu thc symbolic theo bin symbolic k , k c
xc nh bng lnh findsym t 0 k -1.
symsum(S,v): Tng ca biu thc symbolic S theo bin symbolic v,v c
xc nh t 0 k - 1.

Trang 9

symsum(S,a,b), symsum(S,v,a,b): Tng ca biu thc symbolic S theo


symbolic v, v c xc nh t v = s n v = b.
V d:
>>syms k n x
>>symsum(k^2)
ans = 1/3*k^3-1/2*k^2+1/6*k
>>symsum(k)
ans = 1/2*k^2-1/2*k
>>symsum(sin(k*pi)/k,0,n)

ans = -1/2*sin(k*(n+1))/k+1/2*sin(k)/k/(cos(k)-1)*cos(k*(n+1))1/2*sin(k)/k/(cos(k)-1)
>>symsum(k^2,0,10)

ans = 385
>>symsum(x^k/sym(k!), k, 0,inf)

ans = exp(x)
Vi d: Cho tng ca 2 dy
S1 = 1 +

1
1
+ 2 + .
2
2
3

S2 = 1 + x + x2 +..
>>syms x k
>>s1 = symsum(1/k^2,1,inf) %inf l v cng.
s1 = 1/6*pi^2
>>s2 = symsum(x^k,k,0,inf)

Tm hm ngc (finverse):
finverse(f): Tm hm ngc ca f. f l hm symbolic vi mt bin x
finverse(f,u): Tm hm ngc ca f. f l hm symbolic vi mt bin
u.

V d:
>>syms u v x
>>finverse(1/tan(x))

ans = atan(1/x)
>>finverse(exp(u-2*v),u)

ans = 2*v+log(u)

Trang 10

s2 =

-1/(x-1)

Khai trin taylor(taylor):


taylor(f)
taylor(f,n,v): Cho ta xp x a thc theo Maclaurin bc (n-1) ca biu thc, hm
khai trin symbolic f v v l bin c lp trong biu thc. v c th l mt xu
(string) hay l bin symbolic.
taylor(f,n,v,a): Khai trin Taylor ca biu thc hay hm symbolic f quanh im a.
i s c th l gi tr s, mt hm symbolic hay mt xuNu khng cho
ga tr n th mc nhin trong Matlab n = 6.

Vi d: Khai trin Taylor ca hm f = exsin(x) quanh im x0 = 2 (Nu x0 = 0 ta c khai trin


Maclaurin).
>>syms x
>> f = exp(x*sin(x));
>>t = taylor(f,4,2)% khai trin 4 s hng u tin khc o v xung quanh im x0 = 2
Kt qu:

exp(2*sin(2))+exp(2*sin(2))*(2*cos(2)+sin(2))*(x-2)+exp(2*sin(2))*(sin(2)+cos(2)+2*cos(2)^2+2*cos(2)*sin(2)+1/2*sin(2)^2)*(x-2)^2+exp(2*sin(2))*(1/3*cos(2)-1/2*sin(2)-cos(2)*sin(2)+2*cos(2)^2sin(2)^2+4/3*cos(2)^3+2*cos(2)^2*sin(2)+cos(2)*sin(2)^2+1/6*sin(2)^3)*(x-2)^3
By gi ta c th v hm cho v hm khai trin bng chui Taylor quanh im
x0 = 2 v cho nhn xt.

>>syms x
>> f = exp(x*sin(x));
>>t = taylor(f,10,2);
>>xd= 1:0.05:3;
>>yd = subs(f,x,xd);% thay th bin x bng xd
>>ezplot(t,[1,3])% v hm symbolic
>> hold on
>>plot(xd,yd,'r-')
6.4.2

Cc hm lm n gin ho cc biu thc:


Gom s hng, bin(collect):
collect(S): S l a thc, gom cc s hng cha bin x
collect(S,v): S l a thc, gom cc s hng cha bin v

Trang 11

V d:
>>syms x y;
>>R1 = collect((exp(x)+x)*(x+2))
>>R2 = collect((x+y)*(x^2+y^2+1), y)
>>R3 = collect([(x+1)*(y+1),x+y])

Kt qu:
R1 = x^2+(exp(x)+2)*x+2*exp(x)
R2 = y^3+x*y^2+(x^2+1)*y+x*(x^2+1)
R3 = [(y+1)*x+y+1, x+y]

Khai trin biu thc(expand):


expand: Khai trin biu thc symbolic S.

V d:
>>syms x y a b c t
>>expand((x-2)*(x-4))

ans = x^2-6*x+8
>>expand(cos(x+y))

ans = cos(x)*cos(y)-sin(x)*sin(y)
>>expand(exp((a+b)^2))

ans = exp(a^2)*exp(a*b)^2*exp(b^2)
>>expand(log(a*b/sqrt(c)))

ans = log(a)+log(b)-1/2*log(c)
>>expand([sin(2*t), cos(2*t)])

ans = [2*sin(t)*cos(t), 2*cos(t)^2-1]

Phn tch biu thc thnh tha s(factor):


Factor(X): Phn tch biu thc mng symbolic X thnh tha s.

V d:
>>syms x y a b
>>factor(x^3-y^3)

(x-y)*(x^2+x*y+y^2)
>>factor([a^2-b^2, a^3+b^3])
[(a-b)*(a+b), (a+b)*(a^2-a*b+b^2)]
>>factor(sym('12345678901234567890'))

Trang 12

(2)*(3)^2*(5)*(101)*(3803)*(3607)*(27961)*(3541)

Phn tch a thc ra dng tha s(horner):


R = horner(p):

V d:
>>syms x y
>>horner(x^3-6*x^2+11*x-6)

ans = -6+(11+(-6+x)*x)*x
>>horner([x^2+x;y^3-2*y])

ans = [ (1+x)*x]
[(-2+y^2)*y]

Ly t s v mu s(numden):
[n.d] = numden(A): ly ra t s ca A l n, mu s ca A l d

V d:
>>syms x y a b
>>A= (4-x)/5;
>>[n,d] = numden(A)
n=
d=

4-x
5

>>[n,d] = numden(x/y + y/x)


n =

x^2+y^2

d = y*x

>>A = [a, 1/b]


>>[n,d] = numden(A)
n = [a, 1]
d = [1, b]

Tm dng ti gin ca a thc( simple, simplify):


R = simplify(S)
R = simple(S)
[r, how] = simple(S)

V d:
>>syms x y a b c
>>simplify(sin(x)^2 + cos(x)^2)

Trang 13

ans = 1
>>simplify(exp(c*log(sqrt(a+b))))

ans = (a+b)^(1/2*c)
>>S = [(x^2+5*x+6)/(x+2),sqrt(16)];
>>R = simplify(S)
R = [x+3,4]
6.4.3

Bin i :

Bin i fourier:
F = fourier(f): Bin i fourier ca hm v hng f vi bin c lp mc nhin f
v cho ta hm mc nhin qua php bin i nyl w.
F = fourier(f,v): F l hm ca bin v thay th bin mc nhin w.
F = fourier(f,u,v): f l hm ca u v F l hm ca v chng thay th cc bin mc
nhin x v w.

V d:
>>syms x w u
>>f = exp(-x^2)
>>fourier(f)
ans =

pi^(1/2)*exp(-1/4*w^2)

>>g = exp(-abs(w))
>>fourier(g)
ans = 2/(1+t^2)
>>f=

x*exp(-abs(x))

>>fourier(f,u)

ans = -4*i/(1+u^2)^2*u
>>syms x v u real
>>f=

exp(-x^2*abs(v))*sin(v)/v

>>fourier(f,v,u)

ans = -atan((u-1)/x^2)+atan((u+1)/x^2)

Bin i ngc fourier:


f = ifourier(F): Bin i ngc ca hm mc tiu v hng F vi bin c lp
mc nhin w. php bin i ngc ny l hm ca x.
f = ifourier(F,u): f l hm cabin u thay th bin mc nhin x.
f = ifourier(F,v,u): F l hm ca v v f l hm ca u chng thay th cc bin mc
nhin w v x tng ng.

Trang 14

V d:
>>syms

a w x t v real

>>f = exp(-w^2/(4*a^2))
>>F = ifourier(f);
>>F = simple(F)
F = a*exp(-x^2*a^2)/pi^(1/2)
>>g=exp(-abs(x))

>>ifourier(g)
ans = 1/(1+t^2)/pi
>>f=2*exp(-abs(w))-1

>>simplify(ifourier(f,t))
ans = (2-pi*Dirac(t)-pi*Dirac(t)*t^2)/(pi+pi*t^2)
>>f=exp(-w^2*abs(v))*sin(v)/v;
>>ifourier(f,v,t)
ans = 1/2*(atan((t+1)/w^2) - atan((-1+t)/w^2))/pi

Bin i laplace:
L = laplace(F): Bin i Laplace ca hm F vi bin mc nhin c lp t. n cho
ta mt hm ca s
L = laplace(F,t): L l mt hm ca t thay th bin mc nhin s.
L = laplace(F,w,z): L l hm ca z v F l hm ca w, n thay th cc bin
symbolic mc nhin s v t tng ng.

V d:
>>syms t v x a
>>f = t^4
>>laplace(f)

ans = 24/s^5
>>g=1/sqrt(s)

>>laplace(g)
ans = 1/s^(1/2)*pi^(1/2)
>>f=exp(-a*t)

>>laplace(f,x)
ans= 1/(x + a)

Trang 15

>>f=1- cos(t*v)

>>laplace(f,x)
ans = 1/x-x/(x^2+v^2)

Bin i laplace ng-c


F = ilaplace(L): Bin i Laplace ngc ca hm symbolic L vi bin mc nhin
c lp s. N cho ta mt hm ca t.
F = ilaplace(L,y): F l hm ca y thay th bin mc nhin t.
F = ilaplace(L,y,x): F l hm ca x v L l hm ca y, n thay th cc bin
symbolic mc nhin t v s.

V d :
>>syms s a t
>>f=1/s^2

>>ilaplace(f)
ans = t
>>g=1/(t-a)^2

>>ilaplace(g)
ans = x*exp(a*x)
>>syms u a x
>>f=1/(u^2-a^2)
>>ilaplace(f,x)
ans =

1/(-a^2)^(1/2)*sin((-a^2)^(1/2)*x)

>>syms s v x
>>f=s^3*v/(s^2+v^2)
>>ilaplace(f,v,x)

ans = s^3*cos(s*x)
6.4.4 p dng ho:

ezplot( v -ng)

ezplot(f): V hm f = f(x) vi min mc nhin -2

<x<2 .

ezplot(f,[min,max]) : V hm f = f(x) trong min gi tr [min,max] ca


bin.
ezplot(x,y): V ng cong ham s x = x(t); y = y(t) vi bin mc nhin

Trang 16

0 < t < 2 .
V d:
>>syms x
>>ezplot(erf(x))

>>grid

ezplot3( v ng trong 3
chiu)
ezplot3(x,y,z): V cc hm x = x(t), y = y(t), v z = z(t) vi min mc
nh lt 0 < t < 2 .
ezplot3(x,y,z,[tmin,tmax]): V cc hm x = x(t), y = y(t), v z = z(t) trong
khong gi tr tmin < t < tmax.

V d:
>>syms t; ezplot3(sin(t), cos(t), t,[0,6*pi])

Trang 17

V d : Cho hm f(x) =

1
vi x [a,b].
5 + 4 cos( x)

V th v cc o hm bc 1, bc 2. min xc nh mc nhin
trong symbolic Matlab l 2 x 2 .
Hy vo ca s son tho v trong ca s ny ta vit chng trnh nh sau:
syms x
f1 = 1/(5+4*cos(x));
f2 = diff(f1);
% dao ham bac 1 cua f1.
f3 = diff(f2);
% dao ham bac 2 cua f1.
subplot(2,2,1)
ezplot(f1)
subplot(2,2,2)
ezplot(f2)
subplot(2,2,3)
ezplot(f3)
Tm cc im x lm cho o hm bc 3 ca hm f(x) =
bng khng v v th.
Hy vo ca s son tho v trong ca s ny ta vit chng trnh nh sau:
syms x
f = 1/(5+4*cos(x));
f3 = diff(f,3);
% dao ham bac 3 cua f.
pretty(f3);
%dua ve dang quyen toan hoc
f3 = simplify(f3);
pretty(f3);
z = solve(f3);
%Giai phuong trinh f3 = 0
format;
%lay 5 chu so so le
zr = double(z);
%chuyen ma tran, bieu thuc symbolic ve dang so
ezplot(f3)
%ve ham f3
hold on;
%luu do thi da ve
Trang 18

1
5 + 4 cos( x)

plot(zr,0*zr,'ro')
% ve diem "o" mau do cho cac diem co gia tri thuc de f3 =
0.
plot([-2*pi,2*pi],[0,0],'g-.')

Trang 19

Você também pode gostar