You are on page 1of 30

M u

3
Chng 1
1. M AU

MATLAB l mt cng c tnh ton ton hc. MATLAB c th c s dng tnh ton, n
cng cho php chng ta v cc biu , th theo nhiu cch khc nhau. Ging nh mt
chng trnh phn mm, chng ta c th to, thc thi v lu mt dy cc lnh my tnh c
th chy t ng. Cui cng, MATLAB cng c th c coi nh l mt ngn ng lp trnh.
Tm li, nh l mt mi trng dng lp trnh hay tnh ton, MATLAB c thit k
lm vic vi nhng tp d liu c bit chng hn nh ma trn, vector, hnh nh.
Trong mi trng Windows, sau khi ci MATLAB biu tng ca n s xut hin trn mn
hnh ca my tnh, chng ta c th khi ng MATLAB bng cch double click vo biu
tng ca n. Trong khi chy, ty theo yu cu ca ngi s dng, MATLAB s to ra mt
hoc nhiu ca s trn mn hnh. Ca s quan trng nht l ca s lnh (Command Window),
y l ni chng ta giao tip (tng tc) vi MATLAB v cng l ni chng ta nhp vo cc
lnh v MATLAB s cho ra cc kt qu. Chui >> l du nhc ca chng trnh MATLAB.
Khi MATLAB hot ng, con tr chut s xut hin sau du nhc, lc ny MATLAB ang
ch ngi s dng nhp lnh vo. Sau khi nhp lnh v nhn enter, MATLAB p ng li
bng cch in ra cc dng kt qu trong ca s lnh hay to ra mt ca s hnh (Figure
Window). thot khi chng trnh MATLAB chng ta s dng lnh exit hoc quit.
I.I. Nh4F M0I 00N0 LNh
Bng 1.1: Tng quan gia cc php ton v lnh.
Php ton Lnh MATLAB
a + b a + b
a b a b
ab a*b
a/b a/b hay b\a
x
b
x^b
x
sqrt(x) hay x^0.5
x
abs(x)
pi
4.10
3
4e3 hay 4*10^3
i i hay j
3 4i 3- 4*i hay 3 4*j
e, e
x
exp(1), exp(x)
lnx, logx log(x), log10(x)
sinx, arctanx, sin(x), atan(x),
MATLAB l mt h thng tng tc, lnh s c thc thi ngay lp tc khi nhn Enter.
Nhng kt qu ca mi lnh, nu c yu cu, s c xut hin trn mn hnh. Tuy nhin,
mt lnh ch c thc thi nu lnh c nhp vo ng c php. Bng 1.1 l danh sch cc
M u

4
php ton c bn v lnh tng ng ca chng c s dng trong chng trnh MATLAB
gii nhng phng trnh ton hc (a, b v x l nhng s).
Sau y l mt s lu nhp vo mt dng lnh ng:
Nhng lnh trong MATLAB c thc thi ngay lp tc khi nhn Enter. Kt qu ca mi
lnh s c hin th trn mn hnh ngay lp tc. Th thi hnh vi cc lnh sau y:
>> 3 + 7.5
>> 18/4
>> 3 * 7
Lu rng khong trng trong MATLAB l khng quan trng.
Kt qu ca php tnh cui cng s c gn cho bin ans.
>> 14/4
ans =
3.5000
>> ans^(-6)
ans =
5.4399e-04
5.4399e-04 l mt cch th hin ca 5.4399*10
-4
.
Lu rng ans lun c cp nht gi tr bi kt qu ca php tnh cui cng.
Chng ta cng c th nh ngha nhng bin mi. Theo di gi tr c lu trong bin a v
b:
>> a = 14/4
a =
3.5000
>> b = a^(-6)
b =
5.4399e-04
Khi mt lnh c kt thc bi du ; th kt qu ca n s khng c xut hin trn
mn hnh. Kim nghim s khc bit gia hai biu thc sau:
>> 3 + 7.5
>> 3 + 7.5;
c th thc thi nhiu lnh cng mt lc, cc lnh cn c cch nhau bi du , (hin
th kt qu) hay cch nhau bi du ; (khng hin th kt qu)
>> sin (pi/4), cos(pi); sin(0)
ans =
0.7071
ans =
0
Lu rng trong cc kt qu trn gi tr ca cos(pi) khng c hin th.
M u

5
Vi mi gi tr MATLAB mc nh s hin th dng c 5 ch s. Lnh format long s
tng s ch s hin th ln 15 v lnh format short s gim tr v 5.
>> 312/56
ans =
5.5714
>> format long
>> 312/56
ans =
5.57142857142857
Kt qu ca mi lnh c th cha vi dng trng, iu ny c th c khc phc bi lnh
format compact. Ngc li lnh format loose s thm vo nhng dng trng.
nhp vo mt biu thc qu di ta s dng du xung hng
>> sin(1) + sin(2) - sin(3) + sin(4) - sin(5) + sin(6) -
sin(8) + sin(9) - sin(10) + sin(11) - sin(12)
MATLAB phn bit ch thng v ch hoa.
Tt c cc k t t sau du % n cui dng ch c tc dng ghi ch.
>> sin(3.14159) % gn bng sin(pi)
Ni dung ca lnh thc thi cng c th c ly li bng phm . thay i ni dung
ca lnh ta s dng cc phm mi tn v di chuyn con tr n v tr mong mun v
sa lnh. Trong trng hp lnh qu di, Ctrl-a v Ctrl-e c s dng di chuyn nhanh
con tr n v tr u v cui ca lnh.
gi li lnh thc thi bt u bng k t, v d c, ta nhn phm sau khi nhn phm
c. iu ny cng ng vi mt cm t, v d, cos theo sau bi phm s tm nhng lnh
thc thi bt u bi cos.
Lu : nn kt thc mi lnh bng du ; trnh trng hp xut ra mn hnh mt kt qu
qu ln, v d xut ra mn hnh mt ma trn 1000x1000.
I.2. 00N0 00 0I0F 00
MATLAB cung cp mt cng c gip trc tip. Lnh help l cch n gin nht c
gip . bit chi tit hn v lnh help:
>> help help
Nu bit tn mc hay tn mt lnh c th no , ta c th s dng lnh help mt cch
c th hn, v d:
>> help ops
cho ta bit thng tin v cc ton t v cc k t c bit trong MATLAB. Khi s dng lnh
help tn mc m bn mun gip phi chnh xc v ng. Lnh lookfor hu dng hn
trong trng hp bn khng bit chnh xc tn ca lnh hay mc. V d:
>> lookfor inverse
th hin danh sch cc lnh v mt m t ngn gn ca cc lnh m trong phn gip c t
inverse. Bn cng c th s dng mt tn khng hon chnh, v d lookfor inv. Bn cnh
lnh help v lnh lookfor cn c lnh helpwin, lnh helpwin m ra mt ca s mi th hin
th mc cc mc gip .
M u

6
# Bi tp 1-1.
S dng lnh help hoc lookfor tm kim thng tin cho cc cu hi sau:
Hy tm lnh th hin php ton hm cosin o hay cos
-1
.
C phi MATLAB c mt hm ton hc dng tnh c s chung ln nht (the greatest
common divisor)?
Tm thng tin v hm logarithms.
I.3. 00N0 M0I LNh h4 0h00N0 I8Nh
Thnh thong chng s gp mt li bn trong lnh hay chng trnh ca mnh, li ny c th
lm cho lnh hay chng trnh khng th dng li. dng lnh hay chng trnh ny li ta
nhn t hp phm Ctrl-C hoc Ctrl-Break. i khi chng trnh dng li ta phi lm
ng tc ny vi ln v phi ch trong vi pht.
I.4. 000N0 04N
Trong MATLAB, lnh hay chng trnh c th cha m-flie, cc file ny ch l cc file text v
c phn m rng l .m. Cc file ny phi c t trong cc th mc m MATLAB thy
c. Danh sch cc th mc ny c th c lit k bi lnh path. Mt trong cc th mc
m MATLAB lun nhn thy l th mc lm vic hin ti, th mc ny c th c xc nh
bi lnh pwd. S dng hm path, addpath v rmpath thm hay xa cc th mc ng
dn. Cng vic ny cng c th c thc hin t thanh cng c: File Set path
# Bi tp 1-2.
G lnh path kim tra cc th mc c trong ng dn. Cng mt th mc bt k vo
trong ng dn.
I.5. Kh0N0 0I4N L4M I0 {w08K5F40)
Khi lm vic trong ca s lnh (Command Window), MATLAB s nh tt c cc lnh v tt
c cc bin m chng ta to ra. Cc lnh v bin ny c hin th trong workspace. Chng
ta c th d dng gi li cc lnh ny khi cn, v d gi lnh trc ta s dng phm . Cc
gi tr bin c th c kim tra li bi lnh who, lnh who s cho danh sch cc bin c
trong workspace. V lnh whos th hin c tn, kch thc v lp ca bin. V d, gi s rng
bn thc thi tt c cc lnh trong phn 1, khi thc thi lnh who bn s c c cc thng
tin nh sau:
>> who
Your variables are:
a ans b x
Lnh clear <tn bin> s xa bin ny khi workspace, clear hay clear all s xa tt c cc
gi tr bin. Vic xa tt c cc gi tr bin l cn thit khi ta bt u mt chng trnh hay
mt bi tp mi
>> clear a x
>> who
Your variables are:
ans b
M u

7
I.6. 54 4 L040 00 LI0
Cch d nht save hay load cc bin l s dng thanh cng c, chn File v sau chn
Save Workspace as hay Load Workspace.MATLAB cng c lnh save d liu vo
file hoc load d liu ra t file.
Lnh Save s lu cc bin trong workspace mt file nh phn hoc file ASCII, file nh phn t
ng c phn rng .mat.
# Bi tp 1-3.
Hc cch thc thi lnh save.
>> s1 = sin(pi/4);
>> c1 = cos(pi/4); c2 = cos(pi/2);
>> str = hello word; % y l mt chuI k t.
>> save % lu cc bin dng nh phn vo
file matlab.mat.
>> save numdata s1, c1 % lu hai bin s1 v c1 vo file
numdata.mat
>> save strdata str % lu chui str vo file strdata
>> save allcos.dat c* -ascii % lu 2 bin c1 v c2 di dng ascci
vo file allcos.dat
Lnh load cho php chp cc bin v gi tr ca chng t file vo workspace. C php ging
nh lnh save. Lnh load c s dng khi chng ta cn np cc gi tr c khi to
trc vo trong chng trnh.
# Bi tp 1-4.
Gi s rng chng ta lm bi tp trc, thc thi cc lnh load sau y. Trc mi lnh
load, s dng lnh clear all xa workspace v sau s dng lnh who kim tra gi tr
cc bin c trong workspace.
>> load % load tt c cc bin trong file matlab.mat
>> load data s1 c1 % ch load cc bin c ch nh trong file
data.mat
>> load strdata % load tt c cc bin trong file strdata.mat
Ta cng c th c c file ASCII, l file cha mt dy cc bin ring r. Chng hn nh
file cha cc ch thch c bt u t k t %. Kt qu c t vo bin c cng tn vi
file ASCII (ngoi tr phn m rng).
>> load allcos.dat % load d liu t file allcos vo bin allcos
>> who % lit k tt c cc bin c trong workspace
M u

8
Danh sch cc lnh v hm c gii thiu trong chng 1
addpath Thm ng dn vo danh sch cc ng dn ca MATLAB
clear Xo khng gian lm vic (workspace)
exit Thot khi MATLAB
format nh dng d liu hin th
help Xem thng tin gip v mt hm no
helpwin M mt ca s hng dn mi
load Ti d liu t file .mat vo khng gian lm vic hin ti
lookfor Tm kim cc hm MATLAB nh t kho cho trc
path Lit k cc ng dn m MATLAB c th thy c
pwd Xc nh th mc hin hnh ca MATLAB
quit Thot khi MATLAB
rmpath Xo mt ng dn khi danh sch cc ng dn ca MATLAB
save Lu cc bin d liu vo file .mat
who Lit k danh sch cc bin c trong workspace
whos Lit k cc bin c trong workspace: gm tn, kch thc v lp ca bin



C bn v c php v bin

9
Chng 2
2. C BAN VE CU PHAP VA BIEN

2.I. M4IL48 Nh0 L4 M0I 00N0 00 INh I04N
Cc kiu s c bn c s dng trong MATLAB l s nguyn, s thc v s phc.
MATLAB cng c th biu din cc s non-number. C hai dng s non-number trong
MATLAB: Inf, l s v cc dng c to ra bi php chia 1/0 v NaN, l s c to ra t
cc php ton chng hn nh 0/0 hay - .
Nh chng ta bit, MATLAB l mt cng c thc s hu dng i vi cc php tnh.
Chng hn khi nhp vo lnh:
>> (23*17)/7
Kt qu s l
ans =
55.8571
MATLAB c su php ton s hc c bn: +, -, *, / hoc \ v ^ (s m).
Lu rng hai php ton chia tri v chia phi l khc nhau
>> 19/3 % 19/3
ans =
6.3333
>> 19\3, 3/19 % 3/19
ans =
0.1579
ans =
0.1579
Cc hm lng gic v cc hm m logarith cng c s dng trong MATLAB. S dng
help elfun lit k danh sch cc hm c bn c trong MATLAB.
# Bi tp 2-1.
Th tnh ton cc biu thc sau y bng tay v sau s dng MATLAB kim tra li kt
qu. Lu s khc nhau gia php chia tri v phi. S dng lnh help c hng dn v
cch s dng cc lnh mi, chng hn nh cc lnh lm trn s: round, floor, ceil,
2/2*3 3^2/4
8*5\4 3^2^3
8*(5\4) 2 + round(6/9 + 3*2)/2
7 5*4\9 2 + floor(6/9 + 3*2)/2
6 2/5 + 7^2 1 2 + ceil(6/9 + 3*2)/2
10/2\5 3 + 2*4 x = pi/3, x = x 1, x = x + 5, x=abs(x)/x
C bn v c php v bin

10
# Bi tp 2-2.
S dng cc lnh nh dng MATLAB khng xut hin dng trng trong kt qu v kt
qu c xut ra dng s c 15 ch s. Thc hin cc lnh:
>> pi
>> sin(pi)
sau s dng lnh cc lnh format khi phc li nh dng chuNn.
2.2. FhF 04N 4 8IN
Cc php ton lin quan n s phc c thc thi mt cch d dng bi MATLAB.
# Bi tp 2-3.
Cho hai s phc bt k, v d 3 + 2i v 5 7i. Hy thc hin cc php ton cng, tr,
nhn v chia hai s phc ny vi nhau.
Trong bi tp ny vi 4 php tnh th cc s phc phi c nhp 4 ln, n gin vic ny
ta gn mi s phc cho mt bin. Kt qu ca bi tp ny s l:
>> z = -3 + 2*i;
>> w = 5 7*i;
>> y1 = z + w;
>> y2 = z w;
>> y3 = z*w;
>> y4 = z/w; y5 = w\z;
Khng ging nh cc ngn ng lp trnh thng thng, trong MATLAB ta khng cn phi
khai bo bin. Mt bin s c t ng to ra trong qu trnh gn d liu cho bin . Mi
gi tr khi mi to ra th c mc nh c kiu s l double, kiu s 32 bit. Chng ta c th
s dng lnh single chuyn kiu s t dng double sang dng single, l kiu s 16 bit.
>> a = single(a);
Lnh single nn c s dng trong trng hp cn x l nhng ma trn c kch thc ln.
Tuy nhin trong trng hp ch c vi gi tr c s dng th ta nn chuyn qua dng double
c c s chnh xc hn. S dng lnh double thc hin php bin i ny.
>> a = double(a);
Lu rng mt bin cha c nh ngha th khng c s dng gn cho mt bin khc
>> clear x;
>> f = x^2 + 4*sin(x);
on lnh trn s khng cho ra mt kt qu ng bi v gi tr ca x cha c khi to.
Biu thc trn c th sa li bng cch gn mt gi tr bt k cho bin x.
>> x = pi;
>> f = x^2 + 4*sin(x);
Trong MATLAB, tn ca mt bin phi c bt u bi mt k t ch, c th l ch thng
hay ch in hoa, v theo sau bi cc k t ch, cc k t s s hoc du gch chn. MATLAB
ch c th phn bit c cc bin vi nhau bi ti a 31 k t u tin ca tn bin.

C bn v c php v bin

11
# Bi tp 2-4.
Sau y l v d v mt vi kiu bin s khc nhau ca MATLAB. Chng ta s c hc k
hn v cc lnh ny phn sau.
>> this_is_my_very_simple_variable_today = 5 % iu g s xy ra?
>> 2t = 8; % iu g s xy ra?
>> M = [1 2; 3 4; 5 6]; % mt ma trn
>> c = E % mt k t
>> str = Hello word; % mt chui
>> m = [J,o,h,n] % m l ci g?
S dng lnh who kim tra thng tin v cc bin. S dng lnh clear <tn bin> xo
cc bin khi workspace.
Trong MATLAB c nhng s c mc nh to ra v c xem nh l cc hng s, v d
nh pi, eps, hay i, mt s cc gi tr khc c cho trong bng 2.1.
Bng 2.1: Mt s bin mc nh trong MATLAB
Tn bin Gi tr / ngha
ans Tn bin mc nh dng lu kt qu ca php tnh
cui cng.
pi = 3.14159
eps S dng nh nht
inf M t s dng
nan hay N aN M t mt not-a-number, v d 0/0
i hay j
1 = = j i
nargin/nargout S i s input/output ca hm
realmin/realmax S thc dng nh nht/ln nht c th
Cc bin c to ra bng cch gn gi tr cho chng. Mt cch khc l gn gi tr ca bin
ny cho bin khc.
>> b = 10.5
>> a = b
Theo cch ny bin a t ng c to ra, nu bin a tn ti th gi tr c ca n s b
chng ln bi mt gi tr mi.
Mt bin cng c th c to ra bi kt qu ca mt php ton:
>> a = 10.5;
>> c = a^2 + sin(pi*a)/4;
Kt qu tr v ca mt hm c th c s dng gn v to ra cc bin mi. V d, nu
min l tn ca mt hm (tm hiu thm chc nng v cch s dng ca hm min bi lnh
help min) th:
>> b = 5; c = 7;
C bn v c php v bin

12
>> a = min(b,c); % gi tr nh nht ca b v c
s gi mt hm vi hai bin b v c l hai i s. Kt qu ca hm ny (gi tr tr v ca hm)
s c gn cho bin a.
Lu : ta khng c s dng tn bin trng vi tn hm. kim tra mt tn no c phi
tn hm hay khng ta s dng lnh help <tn> xc nh. Nu kt qu l cc hng dn
lin quan n hm th tn c s dng lm tn hm.
V d, trong trng hp thc hin cc vng lp lin quan n s phc, ta khng s dng bin
i hoc j lm bin m bi v cc gi tr ny c s dng lm s phc.
C bn v c php v bin

13
Danh sch cc lnh v hm c gii thiu trong chng 2
ceil Lm trn ln
double Chuyn sang kiu s chiu di 32 bit
floor Lm trn xung
format nh dng cc d liu s
min Tr v gi tr nh nht ca hai hay nhiu s
round Lm trn v s nguyn gn nht
single Chuyn sang kiu s chiu di 16 bit
who Lit k cc bin c trong workspace

Php ton vi vector v ma trn

14
Chng 3
3. PHEP TOAN VI VECTOR VA MA TRAN

Trong Matlab, tt c cc i tng u c xem nh l mt ma trn hay cn c gi l
mng. Mt ch s c xem nh l mt ma trn 1x1 v ma trn ch c mt hng hay mt ct
c gi l vector.
3.I. 0I08
Trong qu trnh khi to, cc thnh phn ca mt vector c phn bit vi nhau bi khong
trng hoc du ,. Chiu di ca mt vector l s thnh phn tn ti trong n (lnh length
c s dng xc nh chiu di ca vector). Tt c cc thnh phn ca mt vector phi
c t trong du []:
>> v = [-1 sin(3) 7]
v =
-1.0000 0.1411 7.0000
>> length(v)
ans =
3
Ta c th p dng nhiu php tnh c bn khc nhau i vi vector. Mt vector c th nhn
vi mt h s hoc cng/tr vi mt vector khc c cng chiu di. Trong php cng/tr,
tng thnh phn ca hai vector cng/ tr vi nhau v cho ra mt vector c cng chiu di. Ta
cng c th s dng php gn i vi vector.
>> v = [-1 2 7];
>> w = [2 3 4];
>> z = v + w % cng tng thnh phn vi nhau
z =
1 5 11
>> vv = v + 2 % 2 c cng vo tng thnh phn ca vector v
vv =
1 4 9
>> t = [2*v, -w]
ans =
-2 4 14 -2 -3 -4
Mi thnh phn ca vector cng c th c s dng mt cch ring bit:
>> v(2) = -1 % thay I gi tr thnh phn th 2 ca v
v =
-1 -1 7
>> w(2) % hin th gi tr thnh phn th 2 ca w
ans = 3
Php ton vi vector v ma trn

15
3.I.I. 040 : 4 Fh4N I80h 84 I0 0I08
Du : l mt ton t quan trng, n c s dng x l vi cc vector hng (xem thm
bng 3.1 hoc s dng lnh help colon c nhiu thng tin hn v ton t ny):
Bng 3.1: N hng thnh phn con ca ma trn
Lnh Kt qu
A(i, j) A
ij
A(:, j) Ct th j ca A
A(i, :) Hng th i ca A
A(k:l,m:n) Ma trn con ca ma trn A
v(i:j) Mt phn ca vector v
>> 2:5
ans =
2 3 4 5
>> -2:3
ans =
-2 -1 0 1 2 3
Mt cch tng qut, lnh c cu trc first:step:last s to ra mt vector c thnh phn u
tin bng first, gi tr ca cc thnh phn tip theo c tng bi step v thnh phn cui
cng c gi tr last:
>> 0.2:0.5:2.4
ans =
0.2000 0.7000 1.2000 1.7000 2.2000
>> -3:3:10
ans =
-3 0 3 6 9
>> 1.5:-0.5:-0.5 % st ep cng c th l s m
ans =
1.5000 1.0000 0.5000 0 -0.5000
Ton t : cng c s dng trch ra mt s thnh phn t mt vector.
>> r = [-1:2:6, 2, 3, -2] % -1:2:6 -1 1 3 5
r =
-1 1 3 5 2 3 -2
>> r(3:6) % cc gi tr ca r t 3 n 6
ans =
3 5 2 3
>> r(1:2:5) % ly cc v tr 1, 3, 5
ans =
Php ton vi vector v ma trn

16
-1 3 2
>> r(5:-1:2) % iu g s xy ra?
3.I.2. 0I08 00I 4 FhF 0h0N j
i vi mt vector ct, cc thnh phn ca n phi c phn bit vi nhau bi du ; hoc
xung dng:
>> z = [1
7
7];
z =
1
7
7
>> u = [-1; 3; 5]
u =
-1
3
5
N hng php ton p dng vi vector hng cng c th c s dng vector ct. Tuy nhin,
chng ta khng th cng mt vector hng vi mt vector ct. thc hin c php tnh
ny, ta cn s dng ton t chuyn v, ton t ny s chuyn mt vector hng thnh mt
vector ct v ngc li:
>> u' % u l vector ct, u s l vector hng
ans =
-1 3 5
>> v = [-1 2 7]; % v l mt vector hng
>> u + v % khng th cng mt vector ct v vector hng
??? Error using ==> +
Matrix dimensions must agree.
>> u' + v
ans =
-2 5 12
>> u + v'
ans =
-2
5
12
N u z l mt vector phc th z s cho ra mt chuyn v lin hp ca z, ngha l tng thnh
phn ca z l lin hp phc vi cc thnh phn trong z. Trong trng hp cn chuyn v theo
kiu thng thng (cc s phc c gi nguyn gi tr) ta phi s dng ton t .
Php ton vi vector v ma trn

17
>> z = [1+2i, -1+i]
z =
1.0000 + 2.0000i -1.0000 + 1.0000i
>> z' % chuyn v lin hp
ans =
1.0000 - 2.0000i
-1.0000 - 1.0000i
>> z.' % php chuyn v thng thng
ans =
1.0000 + 2.0000i
-1.0000 + 1.0000i
3.I.3. Nh4N, 0hI4 4 50 M0 004 0I0
Chng ta c th nhn hai vector c cng chiu di,

=
i
i i
T
y x y x theo cch n gin:
>> u = [-1; 3; 5] % mt vector ct
>> v = [-1; 2; 7] % mt vector ct
>> u * v % khng th nhn 2 vector ct vi nhau
??? Error using ==> *
Inner matrix dimensions must agree.
>> u' * v % kt qu nhn 2 vector
ans =
42
Mt cch khc nhn hai vector l s dng ton t .*. Vi ton t ny cc thnh phn
tng ng ca hai vector s c nhn vi nhau. Cho hai vector x v y c cng chiu di, tch
.* ca hai vector l [x
1
y
1
, x
2
y
2
, , x
n
y
n
]:
>> u .* v % nhn tng thnh phn tng ng
1
6
35
>> sum(u.*v) % tng ng php nhn 2 vector
ans =
42
>> z = [4 3 1]; % z l vector hng
>> sum(u'.*z) % php nhn 2 vector
ans =
10
>> u'*z' % tch 2 vector
ans =
Php ton vi vector v ma trn

18
10
V d 3-1:
>> x = 1:0.5:4;
>> y = sqrt(x) .* cos(x)
y =
0.5403 0.0866 -0.5885 -1.2667 -1.7147 -1.7520 -1.3073
Trong ton hc khng tn ti php chia hai ma trn cho nhau. Tuy nhin, trong MATLAB
ton t ./ c nh ngha nh l php chia tng thnh phn tng ng ca hai ma trn vi
nhau. Kt qu cng l mt ma trn c cng kch thc:
>> x = 2:2:10
x =
2 4 6 8 10
>> y = 6:10
y =
6 7 8 9 10
>> x./y
ans =
0.3333 0.5714 0.7500 0.8889 1.0000
>> z = -1:3
z =
-1 0 1 2 3
>> x./z % 4/0, kt qu l Inf
Warning: Divide by zero.
ans =
-2.0000 Inf 6.0000 4.0000 3.3333
>> z./z % 0/0, kt qu l NaN
Warning: Divide by zero.
ans =
1 NaN 1 1 1
Ton t ./ cng c th c s dng chia mt s cho mt vector:
>> x=1:5; 2/x % chng trnh bo li
??? Error using ==> /
Matrix dimensions must agree.
>> 2./x % php tnh ng
ans =
2.0000 1.0000 0.6667 0.5000 0.4000
# Bi tp 3-1.
Php ton vi vector v ma trn

19
lm quen vi cc php ton v vector hng v vector ct, hy thc hin cc vn sau
y:
To mt vector bao gm nhng s l trong khong t 21 n 47.
Cho x = [4 5 9 6].
- Tr i 3 mi thnh phn ca vector
- Cng 11 vo cc thnh phn c v tr l
- Tnh cn bc 2 ca mi thnh phn
- M 3 mi thnh phn
To mt vector vi cc thnh phn
- 2, 4, 6, 8, , 20
- 9, 7, 5, , -3, -5
- 1, , 1/3, , 1/5, , 1/10
- 0, , 2/3, , 4/5, , 9/10
To mt vector vi cc thnh phn:
1 2
) 1 (

=
n
x
n
n
vi n = 1, 2, 3, , 100. Tm tng 50 thnh
phn u tin ca vector ny.
Cho vector t bt k, vit biu thc MATLAB tnh
- ln(2 + t + t
2
)
- cos(t)
2
sin(t)
2

- e
t
(1 + cos(3t))
- tan
-1
(t)
Kim tra vi t = 1:0.2:2
Cho x = [1 + 3i, 2 2i] l mt vector phc. Kim tra cc biu thc sau:
- x - x*x
- x. - x*x.
# Bi tp 3-2.
Cho x = [2 1 3 7 9 4 6], hy gii thch cc lnh sau y (x(end) l thnh phn cui
cng ca vector x)
- x(3) - x(6:-2:1)
- x(1:7) - x(end-2:-3:2)
- x(1:end) - sum(x)
- x(1:end-1) - mean(x)
- x(2:2:6) - min(x)
3.2. M4 I84N
Vector hng v vector ct l nhng trng hp c bit ca ma trn. Ma trn nxk l mt mng
gm c n hng v k ct. nh ngha mt ma trn trong MATLAB tng t nh nh ngha
Php ton vi vector v ma trn

20
mt vector. Cc thnh phn ca hng c phn bit vi nhau bi du , hoc khong trng,
cn cc hng c phn bit bi du ;. V d ma trn

=
9 8 7
6 5 4
3 2 1
A c nh ngha nh
sau:
>> A = [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
Mt s v d khc:
>> A2 = [1:4; -1:2:5]
A2 =
1 2 3 4
-1 1 3 5
>> A3 = [1 3
-4 7]
A3 =
1 3
-4 7
T nhng v d trn ta nhn thy rng mt vector hng l mt ma trn 1xk v mt vector ct
l mt ma trn nx1. Php chuyn v s chuyn mt vector hng thnh mt vector ct v ngc
li. iu ny c th m rng cho mt ma trn, php chuyn v s bin cc hng ca ma trn
thnh cc ct v ngc li.
>> A2
A2 =
1 2 3 4
-1 1 3 5
>> A2' % chuyn v ca ma trn A2
ans =
1 -1
2 1
3 3
4 5
>> size(A2) % kch thc ca ma trn A2
ans =
2 4
>> size(A2')
Php ton vi vector v ma trn

21
ans =
4 2
3.2.I. Nh0N0 M4 I84N 040 8II
Trong MATLAB c mt s hm c s dng to ra cc ma trn c bit, tham kho thm
bng 3.2.
Bng 3.2: Mt s hm v php ton thng s dng vi ma trn.
Lnh Kt qu
n = rank(A) S chiu ca ma trn A
x = det(A) nh thc ca ma trn A
x = size(A) Kch thc ca A
x = trace(A) Tng cc thnh phn trn ng cho ca A
x = norm(v) Chiu di Euclide ca vector v
C = A + B Tng hai ma trn
C = A B Hiu hai ma trn
C = A*B Tch hai ma trn
C = A.*B Tch tng thnh phn tng ng ca hai ma trn
C = A^k Ly tha ca ma trn
C = A.^k Ly tha tng thnh phn ca ma trn
C = A Ma trn chuyn v A
T

C = A./B Chia tng thnh phn tng ng ca hai ma trn
C = inv(A) N ghch o ca ma trn A
X = A\B Gii phng trnh AX = B
X = B\A Gii phng trnh XA = B
x = linspace(a,b,n) Vector x c n thnh phn phn b u trong khong [a,b]
x = logspace(a,b,n) Vector x c n thnh phn bt u 10
a
v kt thc vi 10
b

A = eye(n) Ma trn ng nht
A = zeros(n,m) Ma trn all-0
A = ones(n,m) Ma trn all-1
A = diag(v) Ma trn zero vi ng cho l cc thnh phn ca vector v
X = tril(A) Trch ra ma trn tam gic di
X = triu(A) Trch ra ma trn tam gic trn
A = rand(n,m) Ma trn A vi cc thnh phn l phn b ng nht gia (0,1)
A = randn(n,m) Ging nh trn vi cc thnh phn phn b chuNn.
v = max(A)
N u A l mt vector th v l gi tr ln nht ca A
N eu A l ma trn th v l mt vector vi cc thnh phn l gi tr ln nht trn
mi ct ca A
v = min(A) N h trn vi gi tr nh nht
v = sum(A) N h trn vi tng
Php ton vi vector v ma trn

22
>> E = [] % mt ma trn rng 0 hng 0 ct
E =
[]
>> size(E)
ans =
0 0
>> I = eye(3); % ma trn ng nht 3x3
I =
1 0 0
0 1 0
0 0 1
>> x = [2; -1; 7]; I*x % I*x = x
ans =
2
-1
7
>> r = [1 3 -2];
>> R = diag(r) % to mt ma trn ng cho
R =
1 0 0
0 3 0
0 0 -2
>> A = [1 2 3; 4 5 6; 7 8 9];
>> diag(A) % trch ra ng cho ca ma trn A
ans =
1
5
9
>> B = ones(3,2)
B =
1 1
1 1
1 1
>> C = zeros (size(C')) % ma trn all zero vi kch thc ca C
C =
0 0 0
0 0 0
Php ton vi vector v ma trn

23
>> D = rand(2,3) % ma trn cc gi tr ngu nhin trong
khong (0, 1)
D =
0.0227 0.9101 0.9222
0.0299 0.0640 0.3309
>> v = linspace(1, 2, 4) % v l mt vector c 4 gi tr cch u
nhau trong khong [1, 2]
v =
1.0000 1.3333 1.6667 2.0000
3.2.2. I4 00N0 M4 I84N 4 I80h 84 M0I M4 I84N 00N I0 M0I M4 I84N L0N h0N
Chng ta c th to ra mt ma trn ln t cc ma trn nh hn:
>> x = [4; -1], y = [-1 3]
x =
4
-1
y =
-1 3
>> X = [x y'] % X bao gm cc ct ca x v y'
X =
4 -1
-1 3
>> T = [ -1 3 4; 4 5 6]; t = 1:3;
>> T = [T; t] % cng thm vo T mt dng mi, t
T =
-1 3 4
4 5 6
1 2 3
>> G = [1 5; 4 5; 0 2]; % G l ma trn 3x2
>> T2 = [T G] % kt ni 2 ma trn
T2 =
-1 3 4 1 5
4 5 6 4 5
1 2 3 0 2
>> T3 = [T; G ones(3,1)] % G l ma trn 3x2
% T l ma trn 3x3
T3 =
-1 3 4
4 5 6
Php ton vi vector v ma trn

24
1 2 3
1 5 1
4 5 1
0 2 1
>> T3 = [T; G']; % iu g xy ra?
>> [G' diag(5:6); ones(3,2) T] % kt ni nhiu ma trn
ans =
1 4 0 5 0
5 5 2 0 6
1 1 -1 3 4
1 1 4 5 6
1 1 1 2 3
Cng tng t nh vi vector, chng ta c th trch ra mt s thnh phn ca ma trn. Mi
thnh phn ca ma trn c nh du bi v tr hng v ct. Thnh phn hng i v ct j
c k hiu l A
ij
, v k hiu trong MATLAB l A(i,j).
>> A = [1:3; 4:6; 7:9]
A =
1 2 3
4 5 6
7 8 9
>> A(1,2), A(2,3), A(3,1)
ans =
2
ans =
6
ans =
7
>> A(4,3) % khng ng v A l ma trn 3x3
??? Index exceeds matrix dimensions.
>> A(2,3) = A(2,3) + 2*A(1,1) % thay I gi tr ca A(2,3)
A =
1 2 3
4 5 8
7 8 9
Mt ma trn cng c th c m rng theo cch sau y:
>> A(5,2) = 5 % gn 5 cho v tr A(5,2) v
% cc thnh phn khc l zero
A =
Php ton vi vector v ma trn

25
1 2 3
4 5 8
7 8 9
0 0 0
0 5 0
Cc thnh phn zero ca ma trn A trn cng c th c thay i:
>> A(4,:) = [2, 1, 2]; % gn vector [2, 1, 2] vo hng th 4 ca
A
>> A(5,[1,3]) = [4, 4]; % gn A(5,1) = 4 v A(5,3) = 4
>> A % kim tra s thay i ca ma trn A?
N hng phn khc nhau ca ma trn A c trch ra theo cch sau y:
>> A(3,:) % trch ra hng th 3 ca A
ans =
7 8 9
>> A(:,2) % trch ra ct th 2 ca A
ans =
2
5
8
1
5
>> A(1:2,:) % trch ra hng th 1 v 2 ca A
ans =
1 2 3
4 5 8
>> A([2,5],1:2) % trch ra mt phn ca A
ans =
4 5
4 5
Cc lnh nhng v d trn c gii thch ngn ngn trong bng 3.1.
Lu khi nim ma trn rng [], chng hn cc hng hay ct ca ma trn c th c xa b
bng cch gn gi tr ca n cho ma trn rng [].
>> C = [1 2 3 4; 5 6 7 8; 1 1 1 1];
>> D = C; D(:,2) = [] % xa ct th 2 ca D
>> C ([1,3],:) = [] % xa ct th 1 v 2 ca C
# Bi tp 3-3.
Hy xa tt c cc bin (s dng lnh clear). nh ngha ma trn A = [1:4; 5:8; 1 1 1 1].
Hy thc thi v kim tra kt qu ca cc php tnh sau:
Php ton vi vector v ma trn

26
x = A(:, 3) y = A(3 : 3, 1 : 4)
B = A(1 : 3, 2 : 2) A = [A; 2 1 7 7; 7 7 4 5]
A(1, 1) = 9 + A(2, 3) C = A([1, 3], 2)
A(2 : 3, 1 : 3) = [0 0 0; 0 0 0] D = A([2, 3, 5], [1, 3, 4])
A(2 : 3, 1 : 2) = [1 1; 3 3] D(2, :) = [ ]
# Bi tp 3-4.
Cho A = [1, 5, 6; 3, 0, 8], B = [7, 3, 5; 2, 8, 1], C = 10 v D = 2. Hy thc hin cc php tnh
sau y:
E = A B Gn ct u tin ca A cho M
F = D*B Gn ct th hai ca ca G cho N
G = A.*B Ch nhn ct th 3 ca A cho 5
H = A Cng M v N
J = B/D Tm tng tt c cc gi tr ca ma trn A
# Bi tp 3-5.
nh ngha ma trn T = [ 3 4; 1 8; -4 3]; A = [diag(-1:2:3) T; -4 4 1 2 1]. Thc hin
cc php bin i sau y i vi ma trn A:
Trch ra mt vector bao gm thnh phn th 2 v 4 ca hng th 3.
Tm gi tr nh nht ca ct th 3
Tm gi tr ln nht ca hng th 2
Tnh tng cc thnh phn ca ct th 2
Tnh gi tr trung bnh ca hng th 1 v th 4.
Trch ma trn con bao gm hng th 1 v th 3.
Trch ma trn con bao gm hng th 1 v 2 ca ct 3, 4, 5.
Tnh tng cc thnh phn ca hai hng 1 v 2.
Cng cc thnh phn ca ct th 2 v th 3 vi 3.
# Bi tp 3-6.
Cho ma trn A = [2 4 1; 6 7 2; 3 5 9]. Thc thi cc php ton sau i vi ma trn A:
Gn hng th 1 cho vector x
Gn 2 hng cui ca A cho y.
Cng cc thnh phn trong tng hng ca A
Cng cc thnh phn trong tng ct ca A
# Bi tp 3-7.
Cho A = [2 7 9 7; 3 1 5 6; 8 1 2 5]. Gii thch kt qu ca cc lnh sau:
A sum (A)
Php ton vi vector v ma trn

27
A(1, :) sum (A)
A(:, [1 4]) mean (A)
A([2 3], [3 1]) mean (A)
reshape (A, 2, 6) sum (A, 2)
A(:) mean (A, 2)
flipud (A) min (A)
fliplr (A) max (A)
[A; A(end, :)] min (A(:, 4))
[A; A(1 : 2, :)] [min(A) max(A)]
max (min(A)) Xa ct th 2 ca A
[[A; sum (A)] [sum (A,2); sum (A(:))]]
Gn cc ct chn ca A cho B
Gn cc hng l ca A cho C
Bin A thnh ma trn 4x3
Tnh 1/x cc thnh phn ca A
Tnh bnh phng cc thnh phn A
Cng mt hng all-1 vo u v cui A
Hon i hai hng 2 v 3
Lu : s dng lnh help tm hiu ngha ca cc lnh mi.
3.2.3. INh I04N 0I M4 I84N
Cc hm v php ton thng s dng vi ma trn c cho trong bng 3.2. Lu ton t .
trong php nhn ma trn vi ma trn v php nhn ma trn vi vector. Ton t . xut hin
trong php nhn, php chia v s m. Khi c ton t ny, php ton s c thc hin vi
tng thnh phn ca ma trn. C th trong php nhn/chia, tng thnh phn tng ng ca 2
ma trn s nhn/chia vi nhau v kt qu s l mt ma trn c cng kch thc vi 2 ma trn
ban u. N h vy trong trng hp s dng ton t ny 2 ma trn phi c cng kch thc vi
nhau. Xem xt cc v d sau:
>> B = [1 -1 3; 4 0 7]
B =
1 -1 3
4 0 7
>> B2 = [1 2; 5 1; 5 6];
>> B = B + B2' % cng 2 ma trn
B =
2 4 8
6 1 13
Php ton vi vector v ma trn

28
>> B-2 % tr cc thnh phn ca B cho 2
ans =
0 2 6
4 -1 11
>> ans = B./4 % chia cc thnh phn ca B cho 4
ans =
0.5000 1.0000 2.0000
1.5000 0.2500 3.2500
>> 4/B % sai c php
??? Error using ==> /
Matrix dimensions must agree.
>> 4./B % tng ng vi 4.*ones(size(B))./B
ans =
2.0000 1.0000 0.5000
0.6667 4.0000 0.3077
>> C = [1 -1 4; 7 0 -1];
>> B .* C % nhn tng v tr vi nhau
ans =
2 -4 32
42 0 -13
>> ans.^3 - 2 % m 3 cc thnh phn sau tr cho 2
ans =
6 -66 32766
74086 -2 -2199
>> ans ./ B.^2 % tng v tr chia cho nhau
ans =
0.7500 -1.0312 63.9961
342.9907 -2.0000 -1.0009
>> r = [1 3 -2]; r * B2
ans =
6 -7
Lu cc php nhn ma trn-ma trn v php nhn ma trn-vector.
>> b = [1 3 -2];
>> B = [1 -1 3; 4 0 7]
B =
1 -1 3
4 0 7
Php ton vi vector v ma trn

29
>> b * B % khng th thc hin c
??? Error using ==> *
Inner matrix dimensions must agree.
>> b * B' % thc hin c
ans =
-8 -10
>> B' *ones(2,1)
ans =
5
-1
10
>> C = [3 1; 1 -3];
>> C * B
ans =
7 -3 16
-11 -1 -18
>> C.^3 % m 3 tng thnh phn
ans =
27 1
1 -27
>> C^3 % tng ng vi C*C*C
ans =
30 10
10 -30
>> ones(3,4)./4 * diag(1:4)
ans =
0.2500 0.5000 0.7500 1.0000
0.2500 0.5000 0.7500 1.0000
0.2500 0.5000 0.7500 1.0000
# Bi tp 3-8.
Hy thc thi tt c php ton trong bng 3.2, t chn cc gi tr cho ma trn A, B vector v v
cc h s k, a, b, n v m.
# Bi tp 3-9.
Cho A l mt ma trn vung, to ma trn B ging ma trn A nhng tt c cc thnh phn trn
ng cho chnh u bng 1.
# Bi tp 3-10.
Cho vector x = [1 3 7], y = [2 4 2] v ma trn A = [3 1 6; 5 2 7], B = [1 4; 7 8; 2 2].
Php ton no sau y l khng ng? Kt qu ca mi php tnh?
Php ton vi vector v ma trn

30
x + y [x; y]
x + A [x; y]
x + y A 3
A - [x y] A + B
[x; y] + A B + A
B*A B./x
A.* B B./[x x]
A.* B 2/A
2*B ones(1, 3)*A
2.* B ones(1, 5
# Bi tp 3-11.
Cho A l mt ma trn ngu nhin 5x5, b l mt vector ngu nhin 5x1. Tm x tha mn biu
thc Ax = b (tham kho thm bng 3.2). Gii thch s khc nhau gia ton t \, / v lnh
inv. Sau khi c x, hy kim tra Ax b c phi l mt vector all-zero hay khng?
# Bi tp 3-12.
Hy tm hai ma trn 2x2 A v B tha mn A.*B A*B. Sau tm tt c cc ma trn A v B
sao cho A.*B = A*B (gi : s dng cc ton t /, \ v lnh inv).
Php ton vi vector v ma trn

31
Danh sch cc lnh v hm c gii thiu trong chng 3
det nh thc ca ma trn
diag To ma trn ng cho
eye Ma trn n v
inv N ghch o ca 1 ma trn
length Chiu di ca vector
linspace Chia mt on thnh cc khong chia tuyn tnh
logspace Chia mt on thnh cc khong chia logarithm
max Hm gi tr ln nht
min Hm gi tr nh nht
norm Chiu di Euclide ca vector
ones Ma trn ton 1
rand Ma trn ngu nhin vi cc thnh phn phn b u trn (0,1)
randn Ma trn ngu nhin vi cc thnh phn phn b chuNn
rank Hng ca ma trn
size Kch thc ca ma trn
sum Hm tnh tng
trace Tng cc thnh phn trn ng cho ca ma trn (vt ca ma trn)
tril Trch ra ma trn tam gic di
triu Trch ra ma trn tam gic trn
zeros Ma trn ton zero


32

You might also like