13732d1231303889 ebook tieng viet ve matlab mat

Upload: dinh-chuyen

Post on 18-Jul-2015

40 views

Category:

Documents


7 download

TRANSCRIPT

Chng 1: MATLAB c bn1. Khi ng MATLAB 1. Khi ng MATLAB: MATLAB (Matrix laboratory) l phn mm dng gii mt lot cc bi ton k thut, c bit l cc bi ton lin quan n ma trn.MATLAB cung cp cc toolboxes, tc cc hm m rng mi trng MATLAB gii quyt cc vn c bit nh x l tn hiu s, h thng iu khin,mng neuron, fuzzy logic, m phng v.v. khi ng MATLAB ta nhn p vo icon ca n trn mn hnh. 2.nh lnh trong ca s lnh : Khi ta nh lnh vo ca s lnh, n s c thi hnh ngay v kt qu hin ln mn hnh. Nu ta khng mun cho kt qu hin ln mn hnh th sau lnh ta t thm du ; . Nu lnh qu di, khng va mt dng dng c th nh lnh trn nhiu dng v cui mi dng t thm du ... ri xung dng. Khi son tho lnh ta c th dng cc phm tt : ( Ctrl-P gi li lnh trc ( Ctrl-N gi lnh sau ( Ctrl-B li li mt k t ( Ctrl-F tin ln mt k t Ctrl-( Ctrl-R sang phi mt t Ctrl-( Crtl-L sang phi mt t home Ctrl-A v u dng end Ctrl-E v cui dng esc Ctrl-U xo dng del Ctrl-D xo k t ti ch con nhy ng backspace Ctrl-H xo k t trc ch con nhy ng 3. Set path:Khi chy cc chng trnh MATLAB cc th mc khc th mc hin hin hnh ta phi i th mc bng lnh File | Set Path... 4. Help v Demo: Phn nay gip chng ta hiu bit cc hm, cc lnh ca MATLAB v chy th cc chng trnh demo2. Cc ma trn

1. Cc ton t: MATLAB khng i hi phi khai bo bin trc khi dng. MATLAB phn bit ch hoa v ch thng. MATLAB s dng cc s thp phn. Cc ton t : + , - , * , / , \ (chia tri) , ^ (m) , (chuyn v hay s phc lin hip). x = 2+3 a=5 b=2 a/b a\b Cc ton t quan h :< , , >= , == , ~= Cc ton t logic : & , | (or) , ~ (not) Cc hng : pi 3.14159265 i s o j tng t i eps sai s 2-52 realmin s thc nh nht 2-1022 realmax s thc ln nht 21023

1

infNaN

v cng lnNot a number

2. Cc ma trn : a. Nhp ma trn : Ma trn l mt mng cc s liu c m hng v n ct. Trng hp ma trn ch c mt phn t(ma trn 1-1) ta c mt s.Ma trn ch c mt ct c gi l mt vect. Ta c th nhp ma trn vo MATLAB bng nhiu cch: ( nhp mt danh sch cc phn t t bn phm ( np ma trn t file s liu ( to ma trn nh cc hm c sn trong MATLAB ( to ma trn nh hm t to Khi nhp ma trn t bn phm ta phi tun theo cc quy nh sau : ( ngn cch cc phn t ca ma trn bng du , hay du trng ( dng du ; kt thc mt hng ( bao cc phn t ca ma trn bng cp du ngoc vung [ ] V d : Ta nhp mt ma trn A = [ 16 3 2 13 ; 5 10 11 8 ; 9 6 7 12 ; 4 15 14 1] By gi ta nh lnh: sum(A) ans = 34 34 34 34 ngha l n ly tng cc ct v MATLAB c vit l vic vi cc ct. Khi ta khng ch bin cha kt qu th MATLAB dng bin mc nh l ans, vit tt ca answer. Mun ly tng ca cc hng ta cn chuyn v ma trn bng cch nh vo lnh : A ans = 16 5 9 4 3 10 6 15 2 11 7 14 13 8 12 1 v y l chuyn v ca ma trn A. Ma trn a = [] l ma trn rng b. Ch s : Phn t hng i ct j ca ma trn c k hiu l A(i,j). Tuy nhin ta cng c th tham chiu ti phn t ca mng nh mt ch s, v d A(k). Cch ny thng dng tham chiu vec t hng hay ct. Trong trng hp ma trn y th n c xem l ma trn mt ct di to t cc ct ca ma trn ban u. Nh vy vit A(8) c ngha l tham chiu phn t A(4, 2). c. Ton t : : Ton t : l mt ton t quan trng ca MATLAB. N xut hin nhiu dng khc nhau. Biu thc 1:10 l mt vec t hng cha 10 s nguyn t 1 n 10 ans = 1 2 3 4 5 6 7 8 9 10 100:-7:50 to mt dy s t 100 n 51, gim 7 mi ln ans =

2

100 93 86 79 72 65 58 51 0: pi/4: pi to mt dy s t 0 n pi, cch u nhau pi/4 ans = 0 0.7854 1.5708 2.3562 3.1416 Cc biu thc ch s tham chiu ti mt phn ca ma trn.Vit A(1:k,j) l tham chiu n k phn t u tin ca ct j. Ngoi ra ton t :tham chiu ti tt c cc phn t ca mt hng hay mt ct. A(:,3) ans = 2 11 7 14 v A(3, :) ans = 9 6 7 12 Vit B = A(:, [1 3 2 4]) s to ma trn B t ma trn A bng cch i th t cc ct t [1 2 3 4] thnh [ 1 3 2 4 ] B= 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 V d: Cho cc in tr 104 , 2104 , 3.5104 ,105 , 2105 . in p trn chng ln lt l 120, 80, 110, 220, 350 V. Tm dng in v cng sut tiu tn trn tng in tr r = [ 10000, 20000, 35000, 100000, 200000]; u = [ 120, 80, 110, 200, 350]; i = v./r cs = v.^2/r V d: Mt ngun in c in p u, in tr trong r1 v ti c in tr r2. Tm quan h ca cc in tr cng sut trn ti l max Dng in qua mch l : u i= r1 + r2 Cng sut trn ti l: u 2 r2 2 p = i r2 = ( r1 + r2 ) 2 Mun cng sut a ra ph ti cc i th: r2 k= ( r1 + r2 ) 2 phi t gi tr cc i. Vn l phi chn cc gi tr in tr r1 v r2 cho k max. Gi s ta c cc gi tr c th c ca r2 l 10, 15, 20, 25 v 30 v r1 l 10,15,20 v 25. Do c 5 gi tr ca ti v 4 gi tr ca in tr trong ca ngun nn c ti 20 t hp c th. Ta lp ma trn dng ma trn tnh:

3

a = [10; 15; 12; 25; 30]; r2 = [a, a, a, a]; b = [10, 15, 20 ,25]; r1 = [b; b; b ;b; b]; k = r2./((r1+r2).^2); Mi ct trong k tng ng vi mt gi tr ca r1. V d gi tr 0.0163 hng 2 ct 3 ca k tng ng vi gi tr th hai ca r1 = 15 v g tr th 3 ca r2 = 20. Nh vy vi gi tr ca r1 = 15 ta c th xem ct tng ng ca k l ct 2 xem gi tr no ca k l max. Gi tr l 0.0167 hng 2 tng ng vi r1 = 15. Ngha l vi r1 = 15 th r2 cng phi 15. MATLAB lm vic ny nh sau: [max,hang] = max(r); max = 0.025 0.0167 0.0125 0.0100 hang = 1 2 3 4 Nh vy ct 1 tng ng hng 1,ct 2 hng 2 v.v. d.To ma trn bng hm c sn : MATLAB cung cp mt s hm to cc ma trn c bn: zeros to ra ma trn m cc phn t u l zeros z = zeros(2, 4) z= 0 0 0 0 0 0 0 0 ones to ra ma trn m cc phn t u l 1 x = ones(2, 3) x= 1 1 1 1 1 1 y = 5*ones(2, 2) y= 5 5 5 5 rand to ra ma trn m cc phn t ngu nhin phn b u d=rand(4, 4) d= 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 randn to ra ma trn m cc phn t ngu nhin phn b trc giao e = randn(3, 3) e= - 0.4326 0.2877 1.1892 - 1.6656 -1.1465 -0.0376 0.1253 1.1909 0.3273

4

magic(n) to ra ma trn cp n gm cc s nguyn t 1 n n2 vi tng cc hng bng tng cc ct.n phi ln hn hay bng 3. pascal(n) to ra ma trn xc nh dng m cc phn t ly t tam gic Pascal. pascal(4) ans = 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 eye(n) to ma trn n v eye(3) ans = 1 0 0 0 1 0 0 0 1 eye(m,n) to ma trn n v m rng eye(3,4) ans = 1 0 0 0 0 1 0 0 0 0 1 0 e. Lnh load: Lnh load dng c mt file d liu. V vy ta c th to mt file cha ma trn v np vo. V d c file mtran.dat cha mt ma trn th ta np ma trn ny nh sau : load mtran.dat Khi dng mt trnh son tho vn bn to ma trn cn ch : - file cha ma trn l mt bng hnh ch nht - mi hng vit trn mt dng - s phn t cc hng phi bng nhau - cc phn t phi cch nhau bng du trng f. M-file : M-file l mt file text cha cc m ca MATLAB. to mt ma trn ta vit mt m-file v cho MATLAB c file ny. V d ta to file solieu.m nh sau A=[ 1 2 3 2 3 4 3 4 5 ] v np vo MATLAB bng cch nh lnh : solieu g. Lp ghp :Ta c th lp ghp(concatenation) cc ma trn c sn thnh mt ma trn mi. V d : a = ones(3, 3) a= 1 1 1 1 1 1 1 1 1 b = 5*ones(3, 3) b= 5 5 5

5

5 5 5 5 5 5 c = [a+2; b] c= 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 h. Xo hng v ct :Ta c th xo hng v ct t ma trn bng dng du []. V d : b= 5 5 5 5 5 5 5 5 5 xo ct th 2 ta vit : b(:, 2) = [] b= 5 5 5 5 5 5 Vit x(1:2:5) = [] ngha l ta xo cc phn t bt u t n phn t th 5 v cch 2 ri sp xp li ma trn. 3. Cc lnh x l ma trn : Cng : X= A + B Tr : X= A - B Nhn : X= A * B : X.*A nhn cc phn t tng ng vi nhau Chia : X = A/B lc X*B = A : X = A\B lc A*X = B : X=A./B chia cc phn t tng ng vi nhau Lu tha : X = A^2 : X = A.^ Nghch o : X = inv(A) nh thc : d = det(A) H phng trnh AX = B cho nghim X = A\B Phn tch Cholesky : Phng php Cholesky phn tch ma trn A xc nh dng thnh tch ca hai ma trn A = R*R vi R l ma trn tam gic trn. Mun nhn c ma trn R ta dng hm chol(A). Phn tch LU : Ta phn tch ma trn A= L*U trong L l ma trn tam gic di v U l ma trn tam gic trn. Ta vit [L,U]= lu(A). Phn tch QR: Ta phn tch ma trn A =Q*R vi Q l ma trn trc giao v R l ma trn tam gic trn. S m: Nu c ma trn A vung v s p>0 th A^p l tch p ln ca A : Y= A^2 Gi tr ring v vec t ring: eig(A) [d,r] = eig(A) Quay ma trn: b = rot90(a)

6

a = [2 1 0;-2 5 -1;3 4 6] a= 2 1 0 -2 5 -1 3 4 6 b = rot90(a) b= 0 -1 6 1 5 4 2 -2 3 o ma trn: fliplr(a) o ma trn t tri sang phi c = fliplr(a) c= 0 1 2 -1 5 -2 6 4 3 flipud(a) o ma trn t trn xung di d = flipud(a) d= 3 4 6 -2 5 -1 2 1 0 reshape(a,m,n) nh dng li ma trn a vi s hng mi m v s ct mi n a = [1 2 3 ;5 6 7;8 9 1]; reshape(a,1,9) ans = 1 5 8 2 6 9 3 7 1 diag(a) ly cc phn t trn ng cho chnh ca ma trn a v lu vo mt vec t diag(a,k) chn ng cho tu theo gi tr ca k k = 0 - chn ng cho chnh k > 0 - chn ng cho th k trn ng cho chnh k < 0 - chn ng cho th k di ng cho chnh a= 1 2 3 5 6 7 8 9 1 v = diag(a,1) v= 2 7 a = diag(v) nu v l vec t th a l ma trn vung vi v l ng cho chnh b = triu(a) to ra ma trn b cng c vi ma trn a, cha cc phn t ca ma trn a nm trn ng cho chnh v pha trn ng cho chnh. Cc phn t khc bng 0. a = [1 2 3;4 5 6;7 8 9] a= 1 2 3 4 5 6 7 8 9

7

b = triu(a) b= 1 2 3 0 5 6 0 0 9 b = triu(a, k) to ra ma trn b cng c vi ma trn a, cha cc phn t ca ma trn a ngay trn ng cho v pha trn ng cho chnh. Cc phn t khc bng 0. b = tril(a) to ra ma trn b cng c vi ma trn a, cha cc phn t ca ma trn a nm di ng cho chnh. Cc phn t khc bng 0. b = tril(a, k) to ra ma trn b cng c vi ma trn a, cha cc phn t ca ma trn a ngay trn ng cho v pha di ng cho th k. Cc phn t khc bng 0. b = tril(a,-1) b= 0 0 0 4 0 0 7 8 0 5. a thc: Mt a thc c biu din trong MATLAB bng mt vec t hng cha cc h s. P = x3 - 2x2 + x + 1 p = [ 1 -2 1 1] conv nhn a thc deconv chia a thc poly tm a thc c tnh ca mt ma trn polyder o hm a thc polyder(a,b) o hm tch hai a thc a v b V d Cho a thc (3x2 + 6x + 9)(x2 + 2x) a = [3 6 9]; b = [1 2 0]; k = polyder(a, b) k= 12 36 42 18 V d Cho a thc (3x2 + 6x + 9)/(x2 + 2x) a = [3 6 9]; b =[ 1 2 0]; [n, d]=polyder(a,b)% n l t s v d l mu s n= -18 -18 d= 1 4 4 0 0 polyfit xp x bng a thc x = [ 1 2 3 4 5 ]; y = [ 5.5 43.1 128 290.7 498.4 ]; p = polyfit(x,y,3) p= -0.1917 31.5821 -60.3262 35.3400 tnh tr ca a thc tnh tr a thc m cc bin l ma trn tm nghim ca a thc

polyval polyvalm roots

8

3. Lp trnh trong MATLAB1. Cc pht biu iu kin: if,else,elseif :C php ca if : if end Nu cho kt qu ng th phn lnh trong thn ca if c thc hin. Cc pht biu else v leseif cng tng t. V d: Ta xt chng trinh test1. m on tui nh sau: disp(Xin chao! Han hanh duoc lam quen); x = fix(30*rand); disp(Tuoi toi trong khoang 0 - 30); gu = input(Xin nhap tuoi cua ban: ); if gu < x disp(Ban tre hon toi); elseif gu > x disp(Ban lon hon toi); else disp(Ban bang tuoi toi); end 2. switch : C php ca switch nh sau : switch case n1 : case n2 : ............... case nn : otherwise : end 3. while : vng lp while dng khi khng bit trc s ln lp. C php ca n nh sau : while end V d: Xt chng trnh in ra chuoi Xin chao ln m hnh vi s ln nhp t bn phm (test3.m) nh sau: disp('xin chao'); gu = input('Nhap so lan in: '); i = 0; while i~=gu disp(['Xin chao' i]); i = i+1 end 4. for : vng lp for dng khi bit trc s ln lp. C php nh sau : for = : : V d: Xy dng chng trnh on s (test2.m) x = fix(100*rand); n = 7; t = 1;

9

for k = 1:7 num = int2str(n); disp(['Ban co quyen du doan ',num,' lan']); disp('So can doan nam trong khoang 0 - 100'); gu = input('Nhap so ma ban doan: '); if gu < x disp('Ban doan nho hon'); elseif gu>x disp('So ban doan lon hon'); else disp('Ban da doan dung.Xin chuc mung'); t = 0; break; end n = n-1; end if t > 0 disp('Ban khong doan ra roi'); numx = int2str(x); disp(['Do la so: ',numx]); end 5. break : pht biu break kt thc vng lp for hay while m khng quan tm n iu kin kt thc vng lp tho mn hay cha.

4. Cc file v hm1. Script file: Kch bn l M-file n gin nht, khng c i s. N rt c ch khi thi hnh mt lot lnh MATLAB theo mt trnh t nht nh. Ta xt v d hm fibno to ra cc s Fibonnaci. f=[1 1]; i=1; while(f(i)+f(i+1)) p Kiu nh du du cng vng trn du sao ht kim cng im tam gic hng ln tam gic sang phi ng gic M . x s v < h Kiu nh du im ch thp hnh vung im tam gic hng xung tam gic sang tri lc gic

V d : x = -pi : pi/10 : pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs,'LineWidth',2,'MarkerEdgeColor','k',... 'MarkerFaceColor','g','MarkerSize',10) s v ng cong y = f(x) c cc c t sau : - ng v l ng t nt(--) - khi nh du hnh vung (s), ng v mu (r) - ng v rng 2 point - cc cnh ca khi nh mu en - khi nh du mu green - kch thc khi nh du 10 point

14

5. Thm ng v vo th c : lm iu ny ta dng lnh hold. Khi ta nh lnh hold on th MATLAB khng xo th ang c. N thm s liu vo th mi ny. Nu phm vi gi tr ca th mi vt qu cc gi tr ca trc to c th n s nh li t l xch. 6.Ch v cc im s liu : v cc im nh du m khng ni chng li vi nhau ta dng c t ni rng khng c cc ng ni gia cc im ta gi hm plot ch vi c t mu v im nh du. x = -pi : pi/10 : pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'s','MarkerEdgeColor','k') 7.V cc im v ng: v c cc im nh du v ng ni gia chng ta cn m t kiu ng v kiu im. V d : x = 0:pi/15:4*pi; y = exp(2*sin(x)); plot(x,y,'-r',x,y,'ok') v ng cong y = f(x). ng ni lin, mu . im nh du ch o c mu en. 8.V vi hai trc y :Lnh plotyy cho php to mt th c hai trc y. Ta cng c th dng plotyy cho gi tr trn hai trc y c kiu khc nhau nhm tin so snh. V d : t = 0:900; A = 1000; b = 0.005; a = 0.005; z2 = sin(b*t); z1 = A*exp(-a*t); [haxes,hline1,hline2] = plotyy(t,z1,t,z2,'semilogy','plot') 9.V ng cong vi s liu 3-D : Nu x,y,z l 3 vec t c cng di th plot3 s v ng cong 3D. V d : t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t) axis square; grid on 10. t cc thng s cho trc :Khi ta to mt hnh v, MATLAB t ng chn cc gii hn trn trc to v khong cch nh du da trn s liu dng v. Tuy nhin ta c th m t li phm vi gi tr trn trc v khong cch nh du theo ring. Ta c th dng cc lnh sau : axis t li cc gi tr trn trc to axes to mt trc to mi vi cc c tnh c m t get v set cho php xc nh v t cc thuc tnh ca trc to ang c gca tr v trc to c a. Gii hn ca trc v chia vch trn trc :MATLAB chn cc gii hn trn trc to v khong cch nh du da trn s liu dng v. Dng lnh axis c th t li gii hn ny. C php ca lnh : axis[ xmin , xmax , ymin , ymax] V d : x = 0:0.025:pi/2; plot(x,tan(x),'-ro')

15

axis([0 pi/2 0 5]) MATLAB chia vch trn trc da trn phm vi d liu v chia u. Ta c th m t cch chia nh thng s xtick v ytick bng mt vec t tng dn. V d: x = -pi:.1:pi; y = sin(x); plot(x,y) set(gca,'xtick',-pi:pi/2:pi)%gca-get current axis set(gca,'xticklabel',{'-pi','-pi/2','0','pi/2','pi'}) 8. Ghi nhn ln cc trc to : MATLAB cung cp cc lnh ghi nhn ln ho gm : title thm nhn vo ho xlabel thm nhn vo trc x ylabel thm nhn vo trc y zlabel thm nhn vo trc z legend thm ch gii vo th text hin th chui vn bn v tr nht nh gtext t vn bn ln ho nh chut \bf - bold font \it - italics font \sl - oblique font (rarely available) \rm - normal font Cc k t c bit xem trong Text properties. Ta dng cc lnh xlabel , ylabel , zlabel thm nhn vo cc trc to . V d : x = -pi:.1:pi; y = sin(x); plot(x,y) xlabel('t = 0 to 2\pi','Fontsize',16) ylabel('sin(t)','Fontsize',16) title('\it{Gia tri cua sin tu zero n 2 pi}','Fontsize',16) 9. Thm vn bn vo ho : Ta c th thm vn bn vo bt k ch no trn hnh v nh hm text . V d text(3*pi/4,sin(3*pi/4),'\leftarrowsin(t)=0.707','FontSize',12) 10. nh v vn bn trn hnh v: Ta c th s dng i tng vn bn ghi ch cc trc v tr bt k. MATLAB nh v vn bn theo n v d liu trn trc. V d v hm y = Aet vi A = 0.25 , t = 0 n 900 v = 0.005 ta vit : V d : t = 0:900; plot(t,0.25*exp(-0.005*t)) thm ghi ch ti im t = 300 ta vit : text(300,.25*exp(-.005*300),\bullet\leftarrow\fontname{times}0.25{\itt}} att {\itt}=300,FontSize,14) Tham s HorizontalAlignment v VerticalAlignment nh v vn bn so vi cc to x, y, z cho. 11. ho c bit: a. Khi v vng: ho khi v vng biu din s liu l vec t hay ma trn. MATLAB cung cp cc hm ho khi v vng : bar hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar

16

barh hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar nm ngang bar3 hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar dng 3D bar3h hin th cc ct ca ma trn m*n nh l m nhm, mi nhm c n bar dng 3D nm ngang Mc nh, mi phn t ca ma trn c biu din bng mt bar. V d : y = [5 2 1 6 7 3 8 6 3 5 5 5 1 5 8]; bar(y) b. M t d liu trn trc : Ta dng cc hm xlabel v ylabel mt cc d liu trn trc. V d : nhdo = [29 23 27 25 20 23 23 27]; ngay = 0:5:35; bar(ngay,nhdo) xlabel('ngay') ylabel('Nhiet do (^{o}C)') Mc nh,phm vi gi tr ca trc y l t 0 n 30. xem nhit trong khong t 15 n 30 ta thay i phm vi gi tr ca trc y set(gca,'YLim',[15 30],'Layer','top') c.Xp chng th :Ta c th xp chng s liu trn th thanh bng cch to ra mt trc khc trn cng mt v tr v nh vy ta c mt trc y c lp vi b s liu khc. V d : TCE = [515 420 370 250 135 120 60 20]; temp = [29 23 27 25 20 23 23 27]; days = 0:5:35; bar(days,temp) xlabel('Day') ylabel('Temperature (^{o}C)') d.Xp chng ng thng trn th thanh: xp chng mt s liu ln mt th thanh, c trc th 2 cng v tr nh trc th nht ta vit : h1 = gca; v to trc th 2 v tr trc th nht trc nht v b s liu th 2 h2 = axes('Position',get(h1,'Position')); plot(days,TCE,'LineWidth',3) trc th 2 khng gy tr ngi cho trc th nht ta vit : set(h2,'YAxisLocation','right','Color','none','XTickLabel',[]) set(h2,'XLim',get(h1,'XLim'),'Layer','top') ghi ch ln th ta vit text(11,380,'Concentration','Rotation',--55,'FontSize',16) ylabel('TCE Concentration (PPM)') title('Bioremediation','FontSize',16)

17

e. ho vng:Hm area hin th ng cong to t mt vec t hay t mt ct ca ma trn. N v cc gi tr ca mt ct ca ma trn thnh mt ng cong ring v t y vng khng gian gia cc ng cong v trc x. V d : Y = [5 1 2 837 968 555 4 2 3]; area(Y) hin th th c 3 vng, mi vng mt ct. cao ca mi th vng l tng cc phn t trong mt hng. Mi ng cong sau s dng ng cong trc lm c s. hin th ng chia li ta dng lnh: set(gca,'Layer','top') set(gca,'XTick',1:5) f. th pie : th pie hin th theo t l phn trm ca mt phn t ca mt vec t hay mt ma trn so vi tng cc phn t . pie v pie3 to ra th 2D v 3D. V d : X = [19.3 22.1 51.6; 34.2 70.3 82.4; 61.4 82.9 90.8; 50.5 54.9 59.1; 29.4 36.3 47.0]; x = sum(X); explode = zeros(size(x)); [c,offset] = max(x); explode(offset) = 1; h = pie(x,explode) Khi tng cc phn t trong i s th nht bng hay ln hn 1, pie v pie3 chun ho cc gi tr. Nh vy cho vec t x,mi phn c din tch x i/sum(x i) vi x i l mt phn t ca x. Gi tr c chun ho m t phn nguyn ca mi vng. Khi tng cc phn t trong i s th nht nh hn 1, pie v pie3 khng chun ho cc phn t ca vec t x. Chng v mt phn pie. V d ; x = [.19 .22 .41]; pie(x) g.Lm hnh chuyn ng :Ta c th to ra hnh chuyn ng bng 2 cch : to v lu nhiu hnh khc nhau v ln lt hin th chng v v xo lin tc mt i tng trn mn hnh,mi ln v li c s thay i. Vi cch th nht ta thc hin hnh chuyn ng qua 3 bc: dng hm moviein dnh b nh cho mt ma trn ln nhm lu cc khung hnh. dng hm getframes to cc khung hnh. dng hm movie hin th cc khung hnh. Sau y l v d s dng movie quan st hm fft(eye(n)).Ta to hm moviem.m nh sau : axis equal M=moviein(16,gcf); set(gca,'NextPlot','replacechildren')

18

h=uicontrol('style','slider','position',[100 10 500 20],'Min',1,'Max',16) for j=1:16 plot(fft(eye(j+16))) set(h,'Value',j) M(:,j)=getframe(gcf); end clf; axes('Position',[0 0 1 1]); movie(M,30) Bc u tin to hnh nh chuyn ng l khi gn ma trn. Tuy nhin trc khi gi hm moviein, ta cn to ra cc trc to c cng kch thc vi kch thc m ta mun hin th hnh. Do trong v d ny ta hin th cc s liu cch u trn vng trn n v nn ta dng lnh axis equal xc nh t l cc trc. Hm moviein to ra ma trn ln cha 16 khung hnh. Pht biu : set(gca,'NextPlot','replacechildren') ngn hm plot a t l cc trc v axis normal mi khi n c gi. Hm getframe khng i s tr li cc im nh ca trc hin hnh hnh hin c. Mi khung hnh gm cc s liu trong mt vec t ct. Hm getframe(gcf) chp ton b phn trong ca mt ca s hin hnh. Sau khi to ra hnh nh ta c th chy chng mt s ln nht nh v d 30 ln nh hm movie(M,30) . Mt phng php na to hnh chuyn ng l v v xo, ngha l v mt i tng ho ri thay i v tr ca n bng cch thay i to x,y v z mt lng nh nh mt vng lp. Ta c th to ra cc hiu ng khc nhau nh cc cch xo hnh khc nhau. Chng gm: none MATLAB khng xo i tng khi n di chuyn background MATLAB xo i tng bng cch v n c mu nn xor MATLAB ch xo i tng V d : Ta to ra M-file c tn l moviem2.m nh sau : A = [ -8/3 0 0; 0 -10 10; 0 28 -1 ]; y = [35 -10 -7]'; h = 0.01; p = plot3(y(1),y(2),y(3),'.', ... 'EraseMode','none','MarkerSize',5); % Set EraseMode to none axis([0 50 -25 25 -25 25]) hold on for i=1:4000 A(1,3) = y(2); A(3,1) = -y(2); ydot = A*y; y = y + h*ydot; set(p,'XData',y(1),'YData',y(2),'ZData',y(3)) % Change coordinates drawnow i = i+1; end 12. ho 3D: a.Cc lnh c bn :Lnh mesh v surf to ra mt 3D t ma trn s liu. Gi ma trn s liu l z m mi phn t ca n z(i,j) xc nh tung ca mt th mesh(z) to ra mt li c mu th hin mt z cn surf(z) to ra mt mt c mu z. b. th cc hm hai bin: Bc th nht th hin hm 2 bin z = f(x,y)

19

l to ma trn x v y cha cc to trong min xc nh ca hm. Hm meshgrid s bin i vng xc nh bi 2 vec t x v y thnh ma trn x v y. Sau ta dng ma trn ny nh gi hm. V d : ta kho st hm sin(r)/r. tnh hm trong khong -8 v 8 theo x v y ta ch cn chuyn mt vec t i s cho meshgrid : [x,y] = meshgrid(-8:.5:8); r = sqrt(x.^2+y.^2)+0.005; ma trn r cha khong cch t tm ca ma trn. Tip theo ta dng hm mesh v hm. z = sin(r)./r; mesh(z) c. th ng ng mc: Cc hm contour to, hin th v ghi ch cc ng ng mc ca mt hay nhiu ma trn. Chng gm : clabel to cc nhn s dng ma trn contour v hin th nhn contour hin th cc ng ng mc to bi mt gi tr cho trc ca ma trn Z. contour3 hin th cc mt ng mc to bi mt gi tr cho trc ca ma trn Z. contourf hin th th contour 2D v t mu vng gia 2 cc ng contourc hm cp thp tnh ma trn contour Hm meshc hin th contour v li v surfc hin th mt contour. V d : [X,Y,Z] = peaks; contour(X,Y,Z,20) Mi contour c mt gi tr gn vi n. Hm clabel dng gi tr ny hin th nhn ng ng mc 2D. Ma trn contour cha gi tr clabel dng cho cc ng contour 2D. Ma trn ny c xc nh bi contour,contour3 v contourf. V d : hin th 10 ng ng mc ca hm peak ta vit : Z = peaks; [C,h] = contour(Z,10); clabel(C,h) title({'Contour Labeled Using','clabel(C,h)'}) Hm contourf hin th th ng ng mc trn mt mt phng v t mu vng cn li gia cc ng ng mc. kim sot mu t ta dng hm caxis. V d : Z = peaks; [C,h] = contourf(Z,10); caxis([-20 20]) title({'Filled Contour Plot Using','contourf(Z,10)'}) Cc hm contour(z,n) v contour(z,v) cho php ta ch r s lng mc contour hay mt mc contour cn v no vi z l ma trn s liu, n l s ng contour v v l vec t cc mc contour. MATLAB khng phn bit gia i lng vec t mt phn t hay i lng v hng. Nh vy nu v l vec t mt phn t m t mt contour n mt mc hm contour s coi n l s lng ng contour ch khng phi l mc contour. Nh vy,contour(z,v) cng nh contour(z,n). hin th mt ng ng mc ta cn cho v l mt vec t c 2 phn t vi c hai phn t bng mc mong mun.V d to ra mt ng ng mc 3D ca hm peaks V d : xrange = -3:.125:3; yrange = xrange; [X,Y] = meshgrid(xrange,yrange);

20

Z = peaks(X,Y); contour3(X,Y,Z) hin th mt mc Z = 1, ta cho v l [1 1] v = [1 1] contour3(X,Y,Z,v) Hm ginput cho php ta dng chut hay cc phm mi tn chn cc im v. N tr v to ca v tr con tr. V d sau s minh ho cc dng hm ginput v hm spline to ra ng cong ni suy hai bin. V d : Ta to mt M-file c tn contourm.m nh sau : disp('Left mouse button picks points') disp('Right mouse button picks last points') axis([0 10 0 10]) hold on x=[]; y=[]; n=0; but=1; while but==1 [xi,yi,but]=ginput(1); plot(xi,yi,'go') n=n+1; x(n,1)=xi; y(n,1)=yi; end t=1:n; ts=1:0.1:n; xs=spline(t,x,ts); ys=spline(t,y,ts); plot(xs,ys,'c-'); hold off 6. Cc phng trnh i s tuyn tnh 1. H phng trnh y :Ta xt h phng trnh Ax = B. tm nghim ca h ta dng lnh MATLAB: x= inv(A)*B hay: x = A\B 2. H phng trnh c t phng trnh hn s n(underdetermined): Khi gii h trn ta dng nghch o ma trn. Nh vy ta ch nhn c kt qu khi ma trn A vung(s phng trnh bng s n s v nh thc ca A phi khc khng). H c s phng trnh t hn s n hay nh thc ca ma trn A ca h y bng 0 gi l h underdetermined. Mt h nh vy c th c v s nghim vi mt hay nhiu bin ph thuc vo cc bin cn li. Vi mt h nh vy phng php Cramer hay phng php ma trn nghch o khng dng c. Khi s phng trnh nhiu hn s n phng php chia tri cng cho nghim vi mt vi n s c cho bng 0. Mt v d n gin l phng trnh x + 3y = 6. Phng trnh ny c rt nhiu nghim trong c mt nghim l x = 6 v y = 0: a = [ 1 3]; b = 6;

21

x = a\b x= 6 0 S nghim v hn c th tn ti ngay c khi s phng trnh bng s n. iu ny xy ra khi | A | = 0. Vi h ny ta khng dng c phng php Cramer v phng php ma trn nghch o v phng php chia tri cho thng bo l ma trn A suy bin. Trong trng hp nh vy ta c th dng phng php gi nghch o tm c mt nghim gi l nghim chun minimum. V d: Cho h phng trnh x + 2y + z = 8 0x + y + 0z = 2 x+y+z=6 Khi dng php chia tri ta nhn c: y=a\b Warning: Matrix is singular to working precision. y= Inf Inf Inf Nu ta dng phng php gi nghch o th c: a = [1 2 1;0 1 0;1 1 1] b = [8;2;6] x = pinv(a)*b x= 2.00000000000000 2.00000000000000 2.00000000000000 Mt h cng c th c v s nghim khi c s phng trnh. V d ta c h: 2x - 4y + 5z = -4 -4x -2y +3z = 4 2x + 6y -8z = 0 Trong h ny phng trnh th 3 l tng ca hai phng trnh trn nn h tht s ch c 2 phng trnh. Tm li mt h mun c nghim duy nht phi c cc phng trnh c lp. Vic xc nh cc phng trnh trong h c c lp hay khng kh kh, nht l i vi h c nhiu phng trnh. Ta a ra mt phng php cho php xc nh h phng trnh c nghim v liu nghim c duy nht hay khng. Phng php ny i hi s hiu bit v hng ca ma trn. Ta xem xt nh thc ca ma trn sau: 3 4 1 6 10 2 9 7 3 Nu ta loi tr mt hng v mt ct ca ma trn chng ta cn li ma trn 22. Tu theo hng v ct b loi ta c 9 ma trn con. nh thc ca cc ma trn ny gi l nh thc con. V d nu ta b hng 1 v ct 1 ta c: 10 2 = 44 7 3

22

Cc nh thc con c th dng xc nh hng ca ma trn. Hng ca ma trn c nh ngha nh sau: Mt ma trn A mn c hng r 1 nu v ch nu nh thc ca A cha mt nh thc r r v mi nh thc con vung c r+1 hng hay hn bng 0. xc nh hng ca ma trn ta c lnh rank V d: a = [ 3 -4 1;6 10 2;9 -7 3]; rank(a) ans = 2 H phng trnh Ax = B c m phng trnh v n n c nghim nu v ch nu rank(A) = rank([A B]). Gi hng ca A l r, nu r = n th nghim l duy nht. Nu r)vi x, l gi tr ca hm ti nhng im cho v xi l gi tr m ti ta cn ni suy ra gi tr yi. c th l mt trong cc gi tr sau : nearest- phng php ny t gi tr ni suy vo gi tr cho gn nht, Phng php ny nhanh nhng kt qu km chnh xc nht V d : x = [ 1 2 3 4 5 ]; y = [ 5.5 43.1 128 290.7 498.4 ]; yi = interp1(x,y,1.6,'nearest') yi = 43.1000 linear- phng php ny coi ng cong i qua 2 im cho trc l ng thng. V d : yi = interp1(x,y,1.6,'linear') yi = 28.0600 spline- dng phng php ni suy spline V d : yi = interp1(x,y,1.6,'spline') yi = 24.9782 cubic- phng php ny coi ng cong qua 2 im l ng cong bc 3 V d : yi = interp1(x,y,1.6,'cubic') yi =

24

22.3840 2. Ni suy hm hai bin: Hm interp2 thc hin ni suy hm 2 bin. Dng hm tng qut : ZI = interp2(X,Y,Z,XI,YI,) Z - ma trn ch nht cha gi tr ca hm 2 bin X,Y - mng c cng kch thc,cha gi tr x,y cho XI,YI- mng cha gi tr cn ni suy Cc gm : nearest,linear,cubic 3. Ni suy mng nhiu chiu: interp3 ni suy hm 3 bin interpn ni suy hm nhiu bin 8. Tch phn v phng trnh vi phn 1. Tch phn: tnh tch phn ta dng hm quad(tnh tch phn theo phng php Simpson) v hm quad8(tnh tch phn bng phng php Newton-Cotes). V d : f = inline('1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6 '); q = quad(f,0,1) q= 29.8583 r = quad8(f,0,1) r= 29.8583 V d y = sin(x) quad(sin,0,pi) ans = 2.00001659104794 quad8('sin',0,pi) ans = 1.99999999999989 Ta cng c th dng phng php hnh thanh tnh tch phn: V d y = sin(x) x = [0:pi/100:pi]]; y=sin(x); trapz(x,y) ans = 1.99983550388744 2. Vi phn s: tnh vi phn ta dng diff V d a = [ 1 4 2 5 7 4 8]; diff(a) ans = 3 -2 3 2 -3 4 3. Phng trnh vi phn: Phng trnh vi phn cp cao y(n) = f(t,y,y, . . , y(n-1)) c th a v h phng trnh vi phn cp 1 bng cch t y1 = y ; y2 = y , . . , yn = y(n-1). Nh vy

25

y1 = y 2 y = y 3 2 .... y = f ( t, y1 , y 2 ,.., y n ) n l h c n phng trnh vi phn cp 1. V d : y - 3y - yy = 0 vi y(0) = 0 y(0) = 1 y = -1 c bin i thnh y1 = y 2 y = y 3 2

y = 3y 3 + y 2 y1 3 vi iu kin u : y1(0) = 0 y2(0) = 1 y3(0) = -1 nhp phng trnh ny vo MATLAB ta dng M-file f.m nh sau : function dy = f(t,y); dy = [ y(2) ; y(3) ; 3*y(3)+y(3)*y(1)]; v gii phng trnh bng lnh : [ t , f] = solver (file,tspan,y0) vi file l M-file cha ODE tspan l vec t [ t0 tfinal] xac nh khong tm nghim y0 l vec t gi tr iu kin u. solver l cch gii, thng dng phng php Runge-Kutta bc 2/3(ode23) hay 4/5(ode45) [ t , y] = ode45[f,[ 0 1],[0 ; 1 ; -1]) Mi hng trong vec t nghim tng ng vi mt thi im trong vec t ct t. Nh vy trong v d trn, y(:,1) l nghim, y(:,1) l o hm bc nht ca nghim v y(:,2) l o hm bc hai ca nghim. V d: Tm dng qua khi ng mch RC ni tip vo ngun mt chiu bit tch s RC = 0.1, in p ngun l 10V v in p ban u trn t l 2V. Phng trnh ca mch l: du e(t) = RC C + u C dt Thay s vo ta c: 0.1u + u = 10 u = -10u + 100 Ta c cc lnh MATLAB: function uc=rc(t,u) uc=-10*u+100; [t,u]=ode45('rc',[0 4],2); plot(t,u,'-o')

26

Chng 2 : s dng symbolic math toolbox1. Khi nim chung Symbolic Math Toolboxes kt hp tnh ton bng ch vo mi trng MATLAB.Cc toolbox ny b sung cc tin ch s v th vi cc kiu tnh ton ton hc khc nhau. Tin ch Calculus Linear Algebra Ni dung o hm,tch phn,gii hn,tng v chui Taylor nghch o,nh thc,gi tr ring,phn tch v dng chnh tc ca ma trn. Simplification phng php rt gn cc biu thc i s Solution of gii bng ch v bng s cc phng trnh i s v vi Equations phn Variable-Precision nh gi chnh xc ca cc biu thc i s Arithmetic Transform bin i laplace,fourrier v z Special cc hm ton hc c bit ca cc ng dng ton hc Mathematical kinh in Function ng lc tnh ton nm di cc toolbox l nhn Maple,mt h thng tnh ton c pht trin u tin trng i hc Waterloo,Canada v sau ti Eidgenroessiche Technische Hochschule Zurich,Thu s.Maple c thng mi ho v h tr ca cng ty Waterloo Maple. 2. Khi ng toolbox 1. Cc i tng ch:Trong phn ny chng ta s xem xt cch to v dng cc i tng ch.Chng ta cng s xem xt cc bin ch mc nh.Symbolic Math Toolbox nh ngha mt kiu d liu MATLAB mi gi l i tng ch hay sym.Bn trong,mt i tng ch l mt cu trc s liu m n lu biu din chui cc k t.Symbolic Math Toolbox dng cc i tng ch biu din cc bin ch,cc biu thc ch,cc ma trn ch. 2. To cc bin v cc biu thc ch:Lnh sym cho php ta xy dng cc bin v cc biu thc ch.V d lnh: x = sym('x') a = sym('alpha') to ra cc bin ch l x v v a vi x l x v a l alpha. 1+ 5 .Ta dng lnh: Gi s ta mun ta mun dng bin ch biu din t l vng = 2 rho = sym('(1 + sqrt(5))/2') By gi ta c th thc hin cc php ton khc nhau vi rho.V d : f=rho^2-rho-1 f= (1/2+1/2*5^(1/2))^2-3/2-1/2*5^(1/2) Ta rt gn biu thc: simplify(f)

28

ans = 0 By gi gi s ta mun gii phng trnh bc 2 f = ax 2 + bx + c .Pht biu: f = sym('a*x^2 + b*x + c') gn biu thc ch ax2+bx+c cho bin f.Tuy nhin trong trng hp ny Symbolic Math Toolbox khng to ra cc bin tng ng vi cc s hng a,b,c v x trong biu thc. thc hin cc php ton bng ch(v d tch phn,o hm,thay th v.v) trn f ta phi to cc bin mt cch r rng,ngha l cn vit: a = sym('a') b = sym('b') c = sym('c') x = sym('x') hay n gin l : syms a b c x Ni chung l ta c th dng sym hay syms to cc bin ch nhng nn dng syms tit kim thi gian. 2. Bin i gia s v ch: a. To cc bin thc v phc:Lnh sym cho php ta m t cc thuc tnh ton hc ca cc bin ch bng cch dng tu chn real.Pht biu: x = sym('x','real'); y = sym('y','real'); hay hiu qu hn: syms x y real z = x + i*y to ra bin ch x v y c thuc tnh l s thc.c bit: f = x^2 + y^2 thc s l s khng m.Nh vy z l bin phc v cc lnh: conj(x) conj(z) expand(z*conj(z)) cho kt qu: return the complex conjugates of the variables x x - i*y x^2 + y^2 Lnh conj l ton t to s phc lin hp. xa thuc tnh real ca x ta dng lnh: syms x unreal hay: x = sym('x','unreal') Lnh clear x khng xo thuc tnh s real ca x. b. To cc hm tru tng:Nu ta mun to mt hm tr tng(ngha l mt hm khng xc nh) f(x) cn dng lnh: f = sym('f(x)') Khi ny f hot ng nh l f(x) v c th x l bng cc lnh toolbox.V d tnh vi phn bc 1 ta vit:

29

df = (subs(f,'x','x+h') - f)/'h' hay syms x h df = (subs(f,x,x+h)-f)/h tr v: df = (f(x+h)-f(x))/h ng dng ny ca hm sym s rt hu ch trong bin i Fourrier,Laplace v z. c. Dng sym truy cp cc hm ca Maple:Ta c th truy cp hm giai tha k! ca Maple khi dng sym. kfac = sym('k!') tnh 6! hay k! ta vit: syms k n subs(kfac,k,6) ans = 720 subs(kfac,k,n) ans = n! hay nu tnh 12! ta cng c th vit: prod(1:12) d. V d to ma trn ch: Mt ma trn vng l ma trn m hng sau c c bng cch dch cc phn t ca hng trc i 1 ln.Ta to mt ma trn vng A bng cc phn t a,b v c: syms a b c A = [a b c; b c a; c a b] kt qu: A= [ a, b, c ] [ b, c, a ] [ c, a, b ] Do A l ma trn vng tng mi hng v ct nh nhau: sum(A(1,:)) ans = a+b+c sum(A(1,:)) == sum(A(:,2)) % This is a logical test. ans = 1 By gi ta thay A(2,3) bng beta v b bng alpha: syms alpha beta A(2,3) = beta; A = subs(A,b,alpha) A= [ a, alpha, c] [ alpha, c, beta] [ c, a, alpha]

30

T v d ny ta thy dng cc i tng ch cng tng t nh dng s trong MATLAB. e. Bin ch mc nh:Khi dng cc hm ton hc,vic chn cc bin c lp thng rt r rng.V d xem bng sau: Hm ton hc f=x g = sin(at+b) h = Jv(z)n

Lnh MATLAB f = x^n g = sin(a*t+b) h = besselj(nu,z)

Nu ta tm o hm ca cc hm ny nhng khng m t bin c lp(ngha l o hm theo bin no) th kt qu l :f = nxn-1 , g' = acos(at + b), v h' =J v (z)(v/z)-Jv+1(z). Nh vy cc bin c lp l x , t v z.MATLAB hiu cc bin c lp l cc ch thng v nm cui bng ch ci nh x , y , z.Khi khng thy cc ch ci ny,MATLAB s tm ch gn nht v coi l bin c lp.Cc bin khc nh n,a,b v v c coi l hng hay thng s.Tuy nhin ta c th ly o hm ca f theo n bng cch vit r bin c lp ra.Ta dng cc lnh sau to ra cc hm: syms a b n nu t x z f = x^n; g = sin(a*t + b); h = besselj(nu,z); o hm hm f ta vit: diff(f); ans = x^n*n/x Trong v d trn x l bin c lp.Nu mun tnh o hm ca f theo n ta cn vit: diff(f,n) ans = x^n*log(x) 4. To cc hm ton hc bng ch: a. Dng cc biu thc ch:Cc lnh: syms x y z r = sqrt(x^2 + y^2 + z^2) t = atan(y/x) f = sin(x*y)/(x*y) to ra cc biu thc ch r , t v f.Ta c th dng cc lnh diff,int,subs hay cc lnh Symbolic Math Toolbox khc x l cc biu thc nh vy. b. To cc M-file:M-file cho php ta dng cc hm tng qut hn.V d ta mun to ra hm sinc = sin(x)/x ta s vit mt M-file c ni dung nh sau: 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

31

Ta c th m rng cc v d nh vy cho cc hm v bin khc nhau. 3. Tnh ton 1. o hm:Ta to biu thc ch: syms a x f = sin(a*x) Vy th: df = diff(f) tnh o hm ca hm f(x) theo x.kt qu l: df = cos(a*x)*a tnh o hm ca f theo a ta vit: dfa = diff(f,a) kt qu: dfa= cos(a*x)*x Hm ton hc f = xn f = nxn-1 g = sin(at+b) g = acos(at+b) h = Jv(z) h = Jv(z)(v/z) - Jv+1(z) Lnh MATLAB f = x^n diff(f) hay diff(f,x) g = sin(a*t+b) diff(g) hay diff(g,t) h = besselj(nu,z) diff(h) hay diff(h,z)

tnh o hm bc 2 ca f theo x v a ta vit: diff(f,2) ans = - sin(a*x)*a^2 diff(f,x,2) ans = - sin(a*x)*x^2 Hm diff c th dng i s l ma trn.Trong trng hp ny o hm c thc hin trn tng phn t.V d: syms a x A = [cos(a*x),sin(a*x);-sin(a*x),cos(a*x)] kt qu: A= [ cos(a*x), sin(a*x)] [-sin(a*x), cos(a*x)] lnh : dy = diff(A) cho kt qu: dy = [ -sin(a*x)*a, cos(a*x)*a]

32

[ -cos(a*x)*a, -sin(a*x)*a] Ta c th vec t theo vec t hng.ta kho st bin i t to Euclid(x,y,z) sang to cu (r,,) thc hin bng cc cng thc:x = rcoscos, y = rcossin v z= rsin. tnh ma trn Jacobi J ca php bin i ny ta dng hm jacobian.inh ngha ton hc ca J l: ( x, y, z ) J= ( r , , ) d vit ta dng k t l thay cho v f thay cho .Cc lnh: syms r l f x = r*cos(l)*cos(f); y = r*cos(l)*sin(f); z = r*sin(l); J = jacobian([x; y; z], [r l f]) cho ta kt qu: J= [ cos(l)*cos(f), -r*sin(l)*cos(f), -r*cos(l)*sin(f) ] [ cos(l)*sin(f), -r*sin(l)*sin(f), r*cos(l)*cos(f)] [ sin(l), r*cos(l), 0] v lnh : detJ = simple(det(J)) cho: detJ = -cos(l)*r^2 Ch l i s th nht ca hm jacobian phi l vec t ct v i s th hai l vec t hng.Hn na do nh thc ca ma trn Jacobian l biu thc lng gic kh phc tp nn ta dng lnh simple thay th v rt gn. Bng sau tng hp hm diff v hm jacobian Ton t ton hc f = exp(ax + b)df dx df da d2f d 2a r = u2 + v2 t = arctan(v/u) J= ( r, t ) ( u, v )

Lnh MATLAB syms a b x f = exp(a*x + b) diff(x) hay diff(f,x) diff(f,a) diff(f,a,2) syms r t u v r = u^2 + v^2 t = atan(v/u) J = jacobian([r ; t],[u , v])

2. Gii hn:o hm ca mt hm l gii hn sau y nu n tn ti :

33

f ( x + h ) f ( x) h 0 h Symbolic Math Toolbox cho php gii hn ca mt hm mt cch trc tip hn.Lnh: syms h n x dc = limit( (cos(x+h) - cos(x))/h,h,0 ) cho kt qu: dc = -sin(x) v : limit( (1 + x/n)^n,n,inf ) cho: ans = exp(x) minh ho 2 trong s cc gii hn quan trng ca ton hc:o hm(trong trng hp cosx) v hm m.Trong khi nhiu gii hn : lim f ( x) f ( x) = limx a

l hai pha(ngha l kt qu nh nhau cho d x tin ti bn phi hay bn tri ca a) li c nhng hm gii hn phi v tri khc nhau.Do 3 gii hn: 1 1 1 lim , lim , lim x 0 x x0 x x +0 x cho 3 kt qu khc nhau : khng xc nh , - v + Trong trng hp khng tn ti gi hn Symbolic Math Toolbox tr v kt qu NaN.V d: limit(1/x,x,0) % Equivalently, limit(1/x) cho: ans = NaN Lnh: limit(1/x,x,0,'left') cho: ans = -inf Lnh: limit(1/x,x,0,'right') cho: ans = inf Nh vy limit(f) tng ng vi limit(f,x,0).Bng sau cho cc gii hn: Hm ton hc lim f ( x)x 0 x a

Lnh MATLAB limit(f) limit(f,x,a) hay limit(f,a) limit(f,x,a,left)

lim f ( x)x a

lim f ( x)

34

x + a

lim f ( x)

limit(f,x,a,right)

3. Tch phn:a. Cc vn chung:Nu f l mt biu thc ch th int(f) tm mt biu thc khc F sao cho

diff(F) = f.Nh vy int(f) cho ta tch phn bt nh ca f.Tng t nh o hm int(f,v) ly tch phn theo bin c lp v.Ta c bng sau: Hm ton hcn +1

x 2 0

n

dx =

x n +1

Lnh MATLAB int(x^n) hay int(x^n,x) int(sin(2*x),0,pi/2) hay int(sin(2*x),x,0,pi/2) g = cos(a*t + b) int(g) hay int(g,t) int(besselj(1,z) hay int(besselj((1,z),z)

sin(2x)dx = 1g = cos(at+b) 1 g(t)dt = a sin(at + b)

J1 (z)dz = J 0 (z)

Khi MATLAB khng tm c tch phn n vit ki lnh nhp vo. b. Tch phn vi hng s thc:Mt trong cc vn khi tnh tch phn l gi tr ca cc thng s.Ta xt hm e ( kx ) .Hm ny r rng l c gi tr dng vi mi k v x v c dng hnh 1 chung.Gi tr ca hm tin n 0 khi x vi mi s thc k.Ta ly v d k = v v 2 th ca hm bng cc lnh: syms x k = sym(1/sqrt(2)); f = exp(-(k*x)^2); ezplot(f) Tuy nhin nhn Maple khng coi k2 v x2 l nhng s dng m ch l cc bin hnh2

thc,khng c thuc tnh ton hc.Do vy khi tnh

e

( kx )2

dx bng cc lnh:

syms x k; f = exp(-(k*x)^2); int(f,x,-inf,inf) % Equivalently, inf(f,-inf,inf) kt qu s 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 =

35

int(exp(-k^2*x^2),x= -inf..inf) Trong phn sau chng ta s xt cch lm cho MATLAB hiu rng k l s thc v do coi k2 l s dng. c. Cc bin thc theo sym:Ch l Maple khng th xc nh c du ca k2.Vy chng ta gii quyt khh khn ny nh th no ?Cu tr li l lm cho k tr thnh s thc bng dng lnh sym.Mt c im c ch ca sym gi l tu chn real cho php ta khai bo k l bin thc.Do vy tch phn trn hon ton tnh c trong toolbox nh cc lnh: syms k real % Be sure that x has been declared a sym. int(f,x,-inf,inf) kt qu l: ans = signum(k)/k*pi^(1/2) Ch l k by gi l i tng ch trong vng lm vic ca MATLAB v l bin thc trong vng lm vic ca Maple.Khi nhp lnh: clear k ta ch xo c k trong vng lm vic ca MATLAB.Mun l cho k khng cn l s thc trong vng lm vic ca Maple ta phi dng lnh: syms k unreal. Ta c bng sau: Hm ton hcf ( x) = e kx

Lnh MATLAB syms k x f = exp(-k*x) int(f) hay int(f,x) int(f,k) int(f,0,1) hay int(f,x,0,1)

f (x)dx f ( k )dk

f (x)dx0

1

g( x) = e ( kx )

2

g(x)dx

syms k x real g=exp(-(k*x)^2) int(g,-inf,inf) hay int(g,x,-inf,inf)

4. Tnh tng:Ta c th tnh tng biu thc ch khi chng tn ti bng cch dng lnh symcum.V d chui : 1 1 1+ 2 + 2 + 2 3 2 cho tng l /6 cn chui : 1 + x2 + x3 +. . . cho tng l 1/(1-x).Cc tng c tnh nh sau: syms x k s1 = symsum(1/k^2,1,inf) s2 = symsum(x^k,k,0,inf) s1 =

36

1/6*pi^2 s2 = -1/(x-1) 5. Chui Taylor:Cho hm f(x).Pht biu: T = taylor(f,8) cho kt qu: T= 1/9+2/81*x^2+5/1458*x^4+49/131220*x^6 l khai trin Taylor ca f(x) ln cn x = 0(khai trin MacLaurin) c cha 8 s hng khc 0.Pht biu: syms x g = exp(x*sin(x)) t = taylor(g,12,2) to ra khai trin Taylor ca f(x) ti x = 2 v cha n 12 s hng khc 0.Ta v cc hm ny ln cng mt th thy c kh nng xp x ca chui Tayl vi hm thc g: xd = 1:0.05:3; yd = subs(g,x,xd); ezplot(t, [1,3]); hold on; plot(xd, yd, 'r-.') title('Xap xi Taylor '); legend('Ham','Taylor')Xap xi Taylor Ham Taylor

6

5

4

3

2

1 1 1.5 2 x 2.5 3

Tip ta dng lnh: pretty(T) in kt qu di dng cc biu thc ton hc d c. 6. Cc v d khc:Ta xt hm: 1 f ( x) = 5 + 4 cos x Cc lnh: syms x f = 1/(5+4*cos(x)) lu biu thc ch nh ngha hm f(x).

37

Symbolic Math Toolbox cung cp mt b cc lnh d dng v th cc biu ch,bao gm cc ng cong trong mt phng(ezplot),cc ng ng mc(ezcontour v ezcontourf) , cc mt cong(ezsurf , ezsurfc , ezmesh v ezmeshc), th trong to cc(ezpolar) v ng cong di dng thng s (ezplot v ezplot3) va mt di dng thng s (ezsurf).Trong phn ny chng ta xem cch dng hm ezplot v th hm f(x). th ca hm nh sau: Phm vi mc nh khi v th ca hm l [-22 ]. ch c th phm v v th ta dng lnh: ezplot(f,[a b]) Lc ny th ca hm c v trong on [a , b] By gi ta tm o hm bc 2 ca f(x): f2 = diff(f,2) f2 = 32/(5+4*cos(x))^3*sin(x)^2+4/(5+4*cos(x))^2*cos(x) Ta c th nhp lnh: 1/(5+4 cos(x)) f2 = diff(f,x,2).1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 -6 -4 -2 0 x 2 4 6

Ta v th ca f2: ezplot(f2) axis([-2*pi 2*pi -5 2])32/(5+4 cos(x)) sin(x) +4/(5+4 cos(x)) cos(x) 2 1 0 -1 -2 -3 -4 -53 2 2

-6

-4

-2

0 x

2

4

6

38

T th ta thy rng gi tr ca f(x) nm trong khong [-4 , 1].Gi tr max vmin ca f(x) xut hin ti f(x)=0.Pht biu: f3 = diff(f2); cho 32/(5+4*cos(x))^3*sin(x)^2+4/(5+4*cos(x))^2*cos(x) v : pretty(f3) cho: sin(x)3 sin(x) cos( x) sin(x) 384 + 96 4 (5 + 4 cos( x)) 4 (5 + 4 cos( x))3 (5 + 4 cos( x)) 2 Ta rt gn f3 v vit li di dng d c: f3 = simple(f3); pretty(f3) Kt qu l: sin(x)(96 sin(x) 2 + 80 cos( x) + 80 cos( x) 2 25) 4 (5 + 4 cos( x)) 4 By gi ta tm cc gi tr zero cu f3 bng lnh: z = solve(f3) kt qu cho ta ma trn: z= [ 0] [ atan((-255-60*19^(1/2))^(1/2) , 10+3*19^(1/2))] [ atan(-(-255-60*19^(1/2))^(1/2), 10+3*19^(1/2))] [ atan((-255+60*19^(1/2))^(1/2)/(10-3*19^(1/2)))+pi] [ -atan((-255+60*19^(1/2))^(1/2)/(10-3*19^(1/2)))-pi] Mi hng l mt nghim ca f(x).Lnh: format; % Default format of 5 digits zr = double(z) converts the zeros to double form. zr = Zero cua f3 0 3 0 0 2 2.4483 -2.4483 1 Nh vy ta tm c 5 0 nghim.Tuy nhin th ca f3 cho thy ta cha tm -1 nghim ca n.-2 -3 -6 -4 -2 0 x 2 4 6

39

ezplot(f3) hold on; plot(zr,0*zr,'ro') plot([-2*pi,2*pi], [0,0],'g-.'); title('Zeros of f3') iu ny xy ra do f(x) cha s hng sinx,bng 0 ti cc gi tr nguyn ln nhng hm solve(sin(x)) li ch a ra gi tr 0 ti x = 0.Chng ta c th nhn c tt c cc nghim bng cch bin i zr = [0 zr(4) pi 2*pi -zr(4)] bng cch nhn 2 v c zr = [zr-2*pi zr zr+2*pi] By gi ta v zr bin i ln th ca f3: plot(zr,0*zr,'kx') Zero cua f3 im 0 u tin ca f(x) tm bi solve l ti x = 0.Chng ta thay th 0 vo bin ch trong f2: f20 = subs(f2,x,0) tm gi tr tng ng ca f(0).Kt qu l: f20 = 0.0494 Trn th ca f(x) gi tr ny ch l cc tiu a phng.Ta th hin iu ny trn th bng cc lnh: clf ezplot(f2) axis([-2*pi 2*pi -4.25 1.25]) ylabel('f2'); title('Ve do thi f2 = f''''(x)') hold on plot(0,double(f20),'ro') text(-1,-0.25,'Local minimum') Kt qu th nh sau:2 f 3 2 1 0 -1 -2 -3 -6 1 -4 -2 0 2 x Ve do thi f2 = f''(x) 4 6

0

Local minimum

-1

-2

-3

-4 -6 -4 -2 0 x 2 4 6

T th ta thy rng im cc tiu xy ra ti x gn .Ta c th tnh chnh xc l dim cc tiu ng ti bng cch dng cc lnh theo trnh t sau.Trc ht ta thay vo f(x): simple([subs(f3,x,-pi),subs(f3,x,pi)])Ve do thi f2 = f''(x) 1

0

40

Kt qu: ans = [ 0, 0] Nh vy x = l im c bit ca f(x).Ta thy rng x = l im cc tiu ton cc ca f2. m1 = double(subs(f2,x,-pi)); m2 = double(subs(f2,x,pi)); plot(-pi,m1,'go',pi,m2,'go') text(-1,-4,'Global minima') Gi tr cc tiu l: [m1 m2] ans = -4 -4 Cc phn tch trn cho thy l phm vi gi tr ca f(x) l t [ -4 ,1].Ta tip tc kim tra cc im 0 khc cho bi solve.Trc ht ta tch nghim th 4 trong z v gn n cho mt bin ring: s = z(4) v nhn c kt qu: s= atan((-255+60*19^(1/2))^(1/2)/(10-3*19^(1/2)))+pi Thc hin: sd = double(s) nhn c gi tr s ca s sd = 2.4483 Ta v im (s,f2(s) theo f2: M1 = double(subs(f2,x,s)); plot(sd,M1,'ko') text(-1,1,'Global maximum') thy c l s l im max.Gi tr max ny l M1 = 1.0051 By gi ta tch phn f(x) hai ln bng lnh: g = int(int(f2)) v c kt qu: g= -8/(tan(1/2*x)^2+9)

41

y khng phi l hm f(x) ta xt ban u.Sai khc gia g(x) v f(x) l: d=f-g cho ta: d= 1/(5+4*cos(x))+8/(9+tan(1/2*x)^2) pretty(d) 1 8 + 5 + 4 cos( x) 9 + tan(1 / 2 x) 2 Ta c th rt gn d bng lnh simple(d) hay simplify(d).C hai cho kt qu: ans = 1 iu ny minh ho cho khi nim l o hm hm f(x) hai ln v ri tch phn kt qu hai ln ta nhn c mt hm khc vi f(x) bi mt hm tuyn tnh ca x. Cui cng tch phn f(x) mt ln ta c: F = int(f) F= 2/3*atan(1/3*tan(1/2*x)) bao gm c hm arctan.Nh vy F(x) l nguyn hm ca mt hm lin tc nhng bn thn li l hm khng lin tc m c th nh sau: ezplot(F)2/3 atan(1/3 tan(1/2 x)) 1

0.5

0

-0.5

-1 -6 -4 -2 0 x 2 4 6

Hm F(x) gin on ti . 4. Rt gn v thay s 1. Rt gn biu thc:Ta xt 3 biu thc khc nhau: syms x f = x^3-6*x^2+11*x-6 g = (x-1)*(x-2)*(x-3)

42

h = x*(x*(x-6)+11)-6 Thc hin cc lnh: pretty(f), pretty(g), pretty(h) ta nhn c: f = x3 - 6x2 +11x-6 g = (x-1)(x-2)(x-3) h = x(x(x-6)+11)-6 C 3 biu thc ny l cc dng biu din ton hc khc nhau ca cng mt hm ton hc- l a thc bc 3 theo x.Mi mt dng thch hp vi mt dng tnh ton.Dng th nht f l dng chung nht thng c dng biu din a thc.N n gin l mt t hp tuyn tnh ca cc s m ca x.Dng th 2,hm g,l dng phn tch thnh tha s.N biu din nghim ca a thc.Tuy nhin khng phai a thc no cng c nghim,ngha l c th phn tch thnh tha s.Dng th 2 l dng Horner ca a thc.N rt tin dng tnh tr s ca a thc ti mt gi tr no ca x. Symbolic Math Toolbox cung cp mt s hm dng bin i cc biu thc i s v lng gic thnh cc biu thc n gin hn.Chng gm: collect,expand, horner, factor, simplify, v simple. a.collect:Pht biu: collect(f) xem f nh mt a thc gm cc bin ch x v gp tt c cc h cng bc ca x.i s th 2 ca ch r bin nh gp nu c nhiu in trong biu thc.Sau y l mt s v d: f (x-1)(x-2)(x-3) x*(x*(x-6)+11)-6 (1+x)*t + x*t collect(f) x^3-6*x^2+11*x-6 x^3-6*x^2+11*x-6 2*x*t+t

b.expand:Pht biu: expand(f) khai trin biu thc.Sau y l mt s v d: f a*(x+y) (x-1)*(x-2)*(x-3) x*(x*(x-6)+11)-6 exp(a+b) cos(x+y) cos(3*acos(x)) expand(f) a*x+a*y x^3-6*x^2+11*x-6 x^3-6*x^2+11*x-6 exp(a) + exp(b) cos(x)*cos(y)-sin(x)*sin(y) 4*x^3-3*x

c.horner:Pht biu: horner(f) bin i mt a thc thnh dng Horner hay biu din lng nhau.V d: f x^3-6*x^2+11*x-6 1.1+2.2*x+3.3*x^2 horner(f) -6+(11+(-6+x)*x)*x 11/10+(11/5+33/10*x)*x

43

d.factor:Nu f l a thc h s hu t,pht biu: factor(f) biu din f nh l tch ca cc a thc c bc thp hn vi h s hu t.V d: f x^3-6*x^2+11*x-6 x^36*x^2+11*x5 x^6+1 factor(f) (x-1)*(x-2)*(x-3) x^36*x^2+11*x5 (x^2+1)*(x^4x^2+1)

y l mt v d khc v phn tch a thc xn +1 thnh tha s: syms x; n = 1:9; x = x(ones(size(n))); p = x.^n + 1; f = factor(p); [p; f].' tr v ma trn vi cc a thc ct th nht v cc tha s cth th 2: [ x+1, x+1 ] [ x^2+1, x^2+1 ] [ x^3+1, (x+1)*(x^2-x+1) ] [ x^4+1, x^4+1 ] [ x^5+1, (x+1)*(x^4-x^3+x^2-x+1)] [ x^6+1, (x^2+1)*(x^4-x^2+1) ] [ x^7+1, (x+1)*(1-x+x^2-x^3+x^4-x^5+x^6) ] [ x^8+1, x^8+1 ] [ x^9+1, (x+1)*(x^2-x+1)*(x^6-x^3+1) ] Hm factor c th phn tch cc i tng ch c cha s nguyn thnh tha s.V d: one = '1' for n = 1:11 N(n,:) = sym(one(1,ones(1,n))); end [N factor(N)] cho kt qu: [ 1, 1] [ 11, (11) ] [ 111, (3)*(37) ] [ 1111, (11)*(101) ] [ 11111, (41)*(271) ] [ 111111, (3)*(7)*(11)*(13)*(37) ] [ 1111111, (239)*(4649) ] [ 11111111, (11)*(73)*(101)*(137) ] [ 111111111, (3)^2*(37)*(333667) ] [ 1111111111, (11)*(41)*(271)*(9091)] [ 11111111111, (513239)*(21649) ]

44

e.simplify:Hm simplify l mt hm mnh,dng rt gn cc biu thc.Sau y l mt s v d: f x*(x*(x-6)+11)-6 (1-x^2)/(1-x) (1/a^3+6/a^2+12/a+8)^(1/3) syms x y positive log(x*y) exp(x) * exp(y) besselj(2,x) - ... 2*besselj(1,x)/x + besselj(0,x) gamma(x+1)-x*gamma(x) cos(x)^2 + sin(x)^2 simplify(f) x^3-6*x^2+11*x-6 x+1 ((2*a+1)^3/a^3)^(1/3) log(x) + log(y) exp(x+y) 0

0 1

f.simple: Hm simple a ra dng ngn nht c th c ca mt biu thc.Hm ny c nhiu dng,mi dng tr v kt qu khc nhau.Dng: simple(f) hin th dng ngn nht.V d: syms x simple(cos(x)^2 + sin(x)^2) ans = 1 Trong mt s trng hp,p dng simple 2 ln nhn c hiu qu rt gn cao hn.V d: syms a f = (1/a^3+6/a^2+12/a+8)^(1/3); simple(simple(f)) cho ta: 1/a+2 Trong khi lnh : syms a simple(f) cho ta: (2*a+1)/a Hm simple c bit c hiu qu trn cc biu thc lng gic.Sau y l mt s v d: f cos(x)^2+sin(x)^2 2*cos(x)^2-sin(x)^2 cos(x)^2-sin(x)^2 cos(x)+(-sin(x)^2)^(1/2) cos(x)+i*sin(x) cos(3*acos(x)) simple(f) 1 3*cos(x)^2-1 cos(2*x) cos(x)+i*sin(x) exp(i*x) 4*x^3-3*x

45

2. Thay s: C hai hm dng thay tr l subexpr v subs a. subexpr:Lnh : syms a x s = solve(x^3+a*x+1) gii phng trnh : x^3+a*x+1 = 0 theo x. Kt qu: [ 1/6*(108+12*(12*a^3+81)^(1/2))^(1/3)-2*a/(-108+12*(12*a^3+81)^(1/2))^(1/3)] [ -1/12*(-108+12*(12*a^3+81)^(1/2))^(1/3)+a/(108+12*(12*a^3+81)^(1/2))^(1/3)+1/2*i*3^(1/2)*(1/6*(108+12*(12*a^3+81)^(1/2))^(1/3)+2*a/(-108+12*(12*a^3+81)^(1/2))^(1/3))] [ -1/12*(-108+12*(12*a^3+81)^(1/2))^(1/3)+a/(-108+12*(12*a^3+81)^(1/2))^(1/3)1/2*i*3^(1/2)*(1/6*(-108+12*(12*a^3+81)^(1/2))^(1/3)+2*a/(108+12*(12*a^3+81)^(1/2))^(1/3))] Dng lnh pretty nhn c dng d c hn: [ 1/3 a ] [ 1/6 %1 - 2 ----] [ 1/3 ] [ %1 ] [ ] [ 1/3 a 1/2 / 1/3 a \] [- 1/12 %1 + ----- + 1/2 i 3 | 1/6 %1 + 2 ----- | ] [ 1/3 | 1/3 | ] [ %1 \ %1 / ] [ ] [ 1/3 a 1/2 / 1/3 a \ ] [- 1/12 %1 + ----- - 1/2 i 3 | 1/6 %1 + 2 ----- | ] [ 1/3 | 1/3 | ] [ %1 \ %1 / ] 3 1/2 %1 := -108 + 12 (12 a + 81) Lnh pretty tha k khi nim %n(n l mt s nguyn) t Maple nh ngh biu thc con gp hiu ln trong i tng ch.Hm subexpr cho php ta lu cc biu thc con ny cng nh cc i tng ch c vit trong biu thc con.Cc biu thc con c lu trong mt ma trn ct gi l sigma. Tip tc v d ca ta: r = subexpr(s) cho ta sigma = -108+12*(12*a^3+81)^(1/2) r= [ 1/6*sigma^(1/3)-2*a/sigma^(1/3)] [ -1/12*sigma^(1/3)+a/sigma^(1/3)+1/2*i*3^(1/2)*(1/6*sigma^(1/3)+2*a/sigma^(1/3))]

46

[ -1/12*sigma^(1/3)+a/sigma^(1/3)-1/2*i*3^(1/2)*(1/6*sigma^(1/3)+2*a/sigma^(1/3))] ta thy rng subexpr to bin signma rg vng lm vic ca MATLAB. b.subs:Ta tm gi tr ring v vec t ring ca ma trn vng A: syms a b c A = [a b c; b c a; c a b]; [v,E] = eig(A) v= [ 1, -(a+(b^2-b*a-c*b-c*a+a^2+c^2)^(1/2)-b)/(a-c), -(a-(b^2-b*ac*b-c*a+a^2+c^2)^(1/2)-b)/(a-c)] [ 1, -(b-c-(b^2-b*a-c*b-c*a+a^2+c^2)^(1/2))/(a-c), -(b-c+(b^2-b*ac*b-c*a+a^2+c^2)^(1/2))/(a-c)] [ 1, 1, 1] E= [ b+a+c, 0, 0] [ 0, (b^2-b*a-c*b-c*a+a^2+c^2)^(1/2), 0] [ 0, 0, -(b^2-b*a-c*b-c*a+a^2+c^2)^(1/2)] Gi s ta mun thay biu thc kh di: (b^2-b*a-c*b-c*a+a^2+c^2)^(1/2) trong v v E.Trc ht ta dng subexpr: v = subexpr(v,'S') cho ta kt qu: S= (b^2-b*a-c*b-c*a+a^2+c^2)^(1/2) v= [ -(a+S-b)/(a-c), -(a-S-b)/(a-c), 1] [ -(b-c-S)/(a-c), -(b-c+S)/(a-c), 1] [ 1, 1, 1] Sau thay S vo E: E = subs(E,S,'S') E= [ S, 0, 0] [ 0, -S, 0] [ 0, 0, b+c+a] By gi gi s ta mun tnh v khi a = 10.Ta dng lnh sau: subs(v,a,10) s thay cc bin a trong v bng s 10: [ -(10+S-b)/(10-c), -(10-S-b)/(10-c), 1] [ -(b-c-S)/(10-c), -(b-c+S)/(10-c), 1] [ 1, 1, 1] Ch l cc biu thc c S khng b nh hng g c,ngha l bin a trong S khng c thay bng 10.Hm subs l hm hu ch thay th nhiu gi tr ca nhiu bin trong mt biu thc.Ta xem S.Gi s ngoi vic thay a =10 ta cng mun thay gi tr b = 2 v c = 10 vo biu

47

thc.Cch n gin nht l t gi tr a,b,c trong vng lm vic ca MATLAB.Sau subs s tnh kt qu. a = 10; b = 2; c = 10; subs(S) ans = 8 Lnh subs c th kt hp vi lnh double tnh tr s ca mt iu thc ch.Gi s ta c: syms t M = (1-t^2)*exp(-1/2*t^2); P = (1-t^2)*sech(t); 2 (1-t ) sech(t) v mun xem trn th P v M khc nhau nh th no. 1 Ta dng cc lnh: 0.8 ezplot(M); 0.6 hold on; 0.4 ezplot(P) v th nh hnh v.Tuy nhin 0.2 ta vn kh hnh dung c s sai 0 khc gia hai ng cong. -0.2 V vy tt hn chng ta kt hp -0.4 subs,double li -0.6 T =-6:0.05:6; MT = double(subs(M,t,T)); -0.8 PT = double(subs(P,t,T)); -6 -4 -2 0 2 4 6 plot(T,MT,'b',T,PT,'r-.') t title(' ') legend('M','P') xlabel('t'); grid1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -6 -4 -2 0 t 2 4 6 M P

to ra th nhiu mu.

48

5. Di s tuyn tnh 1. Cc ton t i s c bn:Cc ton t i s c bn trong cc i tng ch cng l cc ton t trong cc i tng s ca MATLAB.iu ny c minh ho trong v d sau.Bin i Givens to ra mt mt phng quay mt gc t.Cc pht biu: syms t; G = [cos(t) sin(t); -sin(t) cos(t)] to ra ma trn bin i: G= [ cos(t), sin(t) ] [ -sin(t), cos(t) ] Dng bin i Givens 2 ln n gin l quay mt gc gp i.Ma trn tng ng c th tnh bng cch nhn G vi chnh n hay nng G ln lu tha 2.C hai ch to ra cng mt kt qu: A = G*G hay A = G^2 cho ta: A= [cos(t)^2-sin(t)^2, 2*cos(t)*sin(t)] [ -2*cos(t)*sin(t), cos(t)^2-sin(t)^2] Hm simple A = simple(A) to ra kt qu: A= [ cos(2*t), sin(2*t)] [-sin(2*t), cos(2*t)] Mt php quay Givens l ma trn trc giao nn chuyn v ca n chnh l nghc o ca n. Tht vy: I = G.' *G to ra ma trn I: I= [cos(t)^2+sin(t)^2, 0] [ 0, cos(t)^2+sin(t)^2] v: I = simple(I) I= [1, 0] [0, 1] 2. Cc ton t i s tuyn tnh:Ta xt cc ton t i s tuyn tnh c bn.Lnh: H = hilb(3) to ra ma trn Hilbert 3 3.Vi format short,MATLAB in ra: H= 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000

49

Cc phn t c tnh ton ca H l s du chm ng m n l t s ca cc s nguyn nh nht.Tht vy.H l ma trn MATLAB lp double.Bin i H thnh ma trn ch: H = sym(H) cho kt qu: H= [ 1, 1/2, 1/3] [1/2, 1/3, 1/4] [1/3, 1/4, 1/5] iu ny cho php cc ton t k hiu sym(hilb(3)) trn H to ra kt qu tng ng vi ma trn Hilbert c chnh xc v cng,ch khng phi vi chnh xc ca s thc du chm ng.Do : inv(H) to ra ma trn: [ 9, -36, 30] [-36, 192, -180] [ 30, -180, 180] v det(H) cho kt qu: 1/2160 Chng ta c th dng du \ giaie h phng trnh tuyn tnh.Lnh: b = [1 1 1]' x = H\b % Solve Hx = b to ra nghim: x= [ 3] [ -24] [ 30] Tt c kt qu ny,nghch o,nh thc v nghim ca h phng trnh tuyn tnh l kt qu chnh xc tng ng vi chnh xc v cng,hu t ca ma trn Hilbert.Mt khc dng digits(16) lnh: V = vpa(hilb(3))%vpa l kt qu tnh chnh xc theo Maple cho kt qu: [ 1. , .5000000000000000, .3333333333333333] [.5000000000000000, .3333333333333333, .2500000000000000] [.3333333333333333, .2500000000000000, .2000000000000000] Kt qu c lm trn ti 16 ch s.Khi nghich o ma trn sai s tng ln.Do vy: inv(V) cho ta: [ 9.000000000000082, -36.00000000000039, 30.00000000000035] [-36.00000000000039, 192.0000000000021, -180.0000000000019 ] [ 30.00000000000035, -180.0000000000019, 180.0000000000019] v: det(V) cho: .462962962962958e-3

50

v V\b which is [ 3.000000000000041] [-24.00000000000021] [ 30.00000000000019] V ma trn H khng suy bin nn khng gian null ca H null(H) ans = [ empty sym ] v khng gian ct ca H: colspace(H) ans = [ 0, 0, 1] [ 1, 0, 0] [ 0, 1, 0] to ra ma trn rng v hon v ca ma trn n v. Ta tm gi tr s ca H(1,1) lm cho H suy bin.Lnh: syms s H(1,1) = s Z = det(H) sol = solve(Z) to ra cc kt qu: H= [ s, 1/2, 1/3] [1/2, 1/3, 1/4] [1/3, 1/4, 1/5] Z= 1/240*s-1/270 sol = 8/9 Vy: H = subs(H,s,sol) thay th gi tr sol tnh vo H: H= [8/9, 1/2, 1/3] [1/2, 1/3, 1/4] [1/3, 1/4, 1/5] By gi lnh: det(H) cho: ans = 0 v: inv(H) to ra thng bo li:

51

??? error using ==> inv Error, (in inverse) singular matrix v H l ma trn suy bin.Vi ma trn ny , Z = null(H) v C = colspace(H) l khng tm thng: Z= [ 1] [-4] [10/3] C= [ 0, 1] [ 1, 0] [6/5, -3/10] 3. Cc gi tr ring:Cc gi tr ring v vc t ring bng ch ca ma trn vung A c tnh bng lnh: E = eig(A) [V,E] = eig(A) Nu dng chnh xc c th bin i: E = eig(vpa(A)) [V,E] = eig(vpa(A)) Gi tr ring ca ma trn A l nghim ca a thc c tnh ca A,det(A x*I),c tnh bng: poly(A) Ta xt ma trn H v d trc: H= [8/9, 1/2, 1/3] [1/2, 1/3, 1/4] [1/3, 1/4, 1/5] Ma trn ny suy bin nn mt trong cc gi tr ring phi bng 0.Pht biu: [T,E] = eig(H) to ra ma trn T v E.Cc ct ca T l cc vec t ring ca H. T= [ 1, 28/153+2/153*12589^(1/2), 28/153-2/153*12589^(12)] [ -4, 1, 1] [ 10/3, 92/255-1/255*12589^(1/2) , 292/255+1/255*12589^(12)] Tng t,cc phn t trn ng cho ca E l gi tr ring ca H E= [0, 0, 0] [0, 45+1/180*12589^(1/2), 0] [0, 0, 32/45-1/180*12589^(1/2)] d thy cu trc ca ma trn T v E ta tnh c th tr ca n: Td = double(T) Ed = double(E) Kt qu l: Td = 1.0000 1.6497 -1.2837 -4.0000 1.0000 1.0000

52

3.3333 Ed =

0.7051

1.5851

0 0 0 0 1.3344 0 0 0 0.0878 Gi tr ring u tin l 0.Vec t ring tng ng(ct u tin ca Td) l c s ca khng gian null tm c trong phn trc.Hai gi tr ring khc l kt qu ca vic p dng cng thc cu phng i vi biu thc x^2-64/45*x+253/2160 m kt qu cha trong factor(poly(H)). syms x g = simple(factor(poly(H))/x); solve(g) Dng gn vi biu thc ca gi tr ring ch c th c khi a thc c tnh c th biu din bng tch ca d thc hu t bc 4 hay nh hn.Ma trn Rosser l ma trn th minh ho cho yu cu ny.Pht biu: R = sym(gallery('rosser')) to ra: R= [ 611, 196, -192, 407, -8, -52, -49, 29] [ 196, 899, 113, -192, -71, -43, -8, -44] [ -192, 113, 899, 196, 61, 49, 8, 52] [ 407, -192, 196, 611, 8, 44, 59, -23] [ -8, -71, 61, 8, 411, -599, 208, 208] [ -52, -43, 49, 44, -599, 411, 208, 208] [ -49, -8, 8, 59, 208, 208, 99, -911] [ 29, -44, 52, -23, 208, 208, -911, 99] Lnh: p = poly(R); pretty(factor(p)) to ra: [x (x - 1020) (x2 - 1020 x + 100)(x2- 1040500) (x - 1000)2 ] a thc c tnh (bc 8) c phn tch thnh tch ca 2 s hng tuyn tnh v 3 s hng bnh phng.Chng ta c th thy ngay rng 4 gi tr ring l 0,1020,v gi tr ring kp 1000.Bn gi tr ring khc nhn c t cc biu thc bc 2 cn li.Dng lnh: eig(R) ta tm c tt c cc cc gi tr ring: [ 0] [ 1020] [ 510+100*26^(1/2)] [ 510-100*26^(1/2) ] [ 10*10405^(1/2)] [ -10*10405^(1/2)] [ 1000] [ 1000]

53

Ma trn Rosser khng phi l v d in hnh.Rt him ma trn bc 8 c th phn tch thnh cc tha s n gin.Ta thay i phn t gc t 29 thnh 30 bng lnh: S = R; S(1,8) = 30; S(8,1) = 30; v ri dng tip lnh: p = poly(S) ta c: p= 40250968213600000+51264008540948000*x1082699388411166000*x^2+4287832912719760*x^-35327831918568*x^4+82706090*x^5+5079941*x^64040*x^7+x^8 v nu factor(p) ta c chnh n,ngha l a thc c tnh khng th phn tch thnh cc tha s l a thc hu t.Vi ma trn Rosser bin i: F = eig(S) cho ta: F= [ -1020.0532142558915165931894252600] [ -.17053529728768998575200874607757] [ .21803980548301606860857564424981] [ 999.94691786044276755320289228602] [ 1000.1206982933841335712817075454] [ 1019.5243552632016358324933278291] [ 1019.9935501291629257348091808173] [ 1020.4201882015047278185457498840] Ch l cc gi tr ny gn vi cc gi tr ca ma trn Rosser ban u.Hn na,gi tr s ca F l kt qu ca php tnh du chm ng ca Maple. Ta cng c th tnh cc gi tr ring ca ma trn ch,nhng nghim dng gn nhau l rt him.Bin i Givens c to ra nh l lu tha ca ma trn ban u. Cc lnh Symbolic Math Toolbox: syms t A = sym([0 1; 1 0]); G = expm(t*A) cho: [ cos(t), sin(t)] [ -sin(t), cos(t)] Tip theo lnh: g = eig(G) to ra: g= [ cos(t)+(cos(t)^2-1)^(1/2)] [ cos(t)-(cos(t)^2-1)^(1/2)] Ta c th dng lnh simple rt gn dng ny ca g.Thay v lp li simple: for j = 1:4 [g,how] = simple(g)

54

end to ra kt qu tt nht: g= [ cos(t)+(-sin(t)^2)^(1/2)] [ cos(t)-(-sin(t)^2)^(1/2)] how = simplify g= [ cos(t)+i*sin(t)] [ cos(t)-i*sin(t)] how = radsimp g= [ exp(i*t)] [ 1/exp(i*t)] how = convert(exp) g= [ exp(i*t)] [ exp(-i*t)] how = combine Ta thy rng ng dng u tin ca simple dng simplify to ta tng ca cc s hng sin v cosin.Tip simple gi radsim to ra cos(t) + i*sin(t) i vi vec t ring u tin.Ln th 3,simple dng convert(exp) thay i sin v cosin thnh s m phc.Ln cui simple dng combine c kt qu cui cng. 4. Dng Jordan chnh tc:Dng Jordan chnh tc xut pht t tng ng cho ho ma trn bng bin i ng dng.Vi mt ma trn cho A,tm mt ma trn khng suy bin V,sao cho inv(V)*A*V hay ngn gn J = V\A*V l gn vi vi ng cho.i vi phn ln cc ma trn dng Jordan chnh tc l ma trn ng cho ca cc gi tr ring v cc ct ca ma trn bin i l cc vec t ring.Mt vi ma trn khng i xng khng th ng cho ho.Dng Jordan c cc gi tr ring trn ng cho nhng mt s phn t pha trn l 1 thay v 0.Pht biu: J = jordan(A) tnh ma trn chnh tc Jordan ca ma trn A.Pht biu: [V,J] = jordan(A) cng tnh bin i ng dng.Cc ct ca ma trn V l cc vec t ring tng qut ho ca A. V d: A = sym([12,32,66,116; 25, 76, 164, 294; 21,66,143,256; 6, 19, 41, 73]) A= [ 12, 32, 66, 116] [ -25,-76, -164, -294] [ 21, 66, 143, 256]

55

[ -6, -19, -41, -73] v: [V,J] = jordan(A) to ra: V= [ 4, -2, 4, 3] [ -6, 8, -11, -8] [ 4, -7, 10, 7] [ -1, 2, -3, -2] J= [ 1, 1, 0, 0] [ 0, 1, 0, 0] [ 0, 0, 2, 1] [ 0, 0, 0, 2] Nh vy A c hai gi tr ring l 1,vi khi Jordan n v hai gi tr ring l 2 cng vi khi Jordan n.Ma trn ch c 2 vec t ring V(:,1) v V(:,3).Chng tho mn: A*V(:,1) = 1*V(:,1) A*V(:,3) = 2*V(:,3) Hai ct khc ca V l cc vec t ring tng qut ho cp 2.Chng tho mn: A*V(:,2) = 1*V(:,2) + V(:,1) A*V(:,4) = 2*V(:,4) + V(:,3) V khi nim ton hc,vi vj=v(:,j),ct ca V v cc gi tr ring tho mn quan h: (A-2I)v4 = v3 (A- 1I)v2 = v1 5. Phn tch gi tr k d:Nu A l ma trn k t hay du chm ng th : S = svd(A) tnh cc gi tr k d ca A vi chnh xc xc nh bi la chn s ch s hinh hnh.V: [U,S,V] = svd(A); to ra 2 ma trn trc giao U v V v mt ma trn ng cho S sao cho: A = U*S*V'; Ta xem ma trn n n vi cc phn t c xc nh bng: A(i,j) = 1/(i-j+1/2) C nhiu cch to ra ma trn A.Chng c m t sau.Vi n = 5 ta c: A= [ 2, -2, -2/3, -2/5, -2/7] [ 2/3, 2, -2, -2/3, -2/5] [ 2/5, 2/3, 2, -2, -2/3] [ 2/7, 2/5, 2/3, 2, -2] [ 2/9, 2/7, 2/5, 2/3, 2] C nhiu gi tr k d ca ma trn ny gn vi .Khi n = 16,ma trn tnh svd(A) vi du chm ng cho kt qu 3.14159265358979 3.14159265358979 3.14159265358979 3.14159265358979 3.14159265358976

56

3.14159265358767 3.14159265349961 3.14159265052655 3.14159256925492 3.14159075458606 3.14155754359918 3.14106044663470 3.13504054399745 3.07790297231120 2.69162158686066 1.20968137605669 Bn gi tr k d u tin xut hin bng vi chnh xc cao.Cch thng thy to ma trn A l: for i=1:n for j=1:n A(i,j) = sym(1/(i-j+1/2)); end end Tuy nhin m hnh tnh ton da trn ma trn ca MATLAB cho php mt cch khc,hiu qu hn gi l mo ca Tony to A l: m = ones(n,1); i=(1:n)'; j=1:n; A = sym(1./(i(:,m)-j(m,:)+1/2)); Cch hiu qu nht to ma trn ny l pht biu thun tu s: [J,I] = meshgrid(1:n); A = sym(1./(I - J+1/2)); Do cc phn t ca ma trn A l t s ca hai s nguyn nh nht,vpa(A) to ra mt biu din c chnh xc thay i.Do vy: S = svd(vpa(A)) tnh ton cc gi tr k d vi chnh xc rt cao.Vi n = 16 v digits(3) ta c kt qu: S= [ 1.20968137605668985332455685357 ] [ 2.69162158686066606774782763594 ] [ 3.07790297231119748658424727354 ] [ 3.13504054399744654843898901261 ] [ 3.14106044663470063805218371924 ] [ 3.14155754359918083691050658260 ] [ 3.14159075458605848728982577119 ] [ 3.14159256925492306470284863102 ] [ 3.14159265052654880815569479613 ] [ 3.14159265349961053143856838564 ] [ 3.14159265358767361712392612384 ] [ 3.14159265358975439206849907220 ] [ 3.14159265358979270342635559051 ] [ 3.14159265358979323325290142781 ]

57

[ 3.14159265358979323843066846712 ] [ 3.14159265358979323846255035974 ] C hai cch so snh S vi .Trong vec t bn di,phn t u tin c tnh bng cch thay th vi php ton c chnh xc bin i v ri bin i thanhd double.Phn t th hai c tnh vi du chm ng. [double(pi*ones(16,1)-S) pi-double(S)] ans = -0.00000000000000 -0.00000000000000 -0.00000000000000 -0.00000000000000 -0.00000000000000 -0.00000000000000 0 0 0.00000000000004 0.00000000000004 0.00000000000212 0.00000000000212 0.00000000009018 0.00000000009018 0.00000000306324 0.00000000306324 0.00000008433487 0.00000008433487 0.00000189900373 0.00000189900373 0.00003510999061 0.00003510999061 0.00053220695509 0.00053220695509 0.00655210959235 0.00655210959235 0.06368968127860 0.06368968127860 0.44997106672913 0.44997106672913 1.93191127753310 1.93191127753310 6. Gii phng trnh 1. Gii cc phng trnh i s:Nu S l biu thc ch th: solve(S) tm gi tr ca bin k t trong S lf 0.V d: syms a b c x S = a*x^2 + b*x + c; solve(S) cho ta: ans = [ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))] y l vec t ch m cc phn t ca n l 2 nghim ca phng trnh. Nu ta mun tm nghim vi mt bin c m t,ta phi ch r bin nh mt thng s ph.V d nu ta mun gii S theo b th phi vit: b = solve(S,b) v nhn c kt qu: b= -(a*x^2+c)/x Ch rng v d ny gi thit phng trnh c dng f(x) = 0.Nu ta mun gi phng trnh c dng f(x) = q(x) ta phi s dng chui.c bit lnh:

58

s = solve('cos(2*x)+sin(x)=1') cho 4 nghim: s= [ 0] [ pi] [ 1/6*pi] [ 5/6*pi] Phng trnh x^3-2*x^2 =x-1 gip ta hiu cch gii phng trnh .nh vo lnh: s = solve('x^3 2*x^2 = x 1') s= [ 1/6*(28+84*i*3^(1/2))^(1/3)+14/3/(28+84*i*3^(1/2))^(1/3)+2/3] [ -1/12*(28+84*i*3^(1/2))^(1/3)-7/3/(28+84*i*3^(1/2))^(1/3) +2/3+1/2*i*3^(1/2)*(1/6*(28+84*i*3^(1/2))^(1/3) -14/3/(28+84*i*3^(1/2))^(1/3))] [-1/12*(28+84*i*3^(1/2))^(1/3)-7/3/(28+84*i*3^(1/2))^(1/3) +2/3-1/2*i*3^(1/2)*(1/6*(28+84*i*3^(1/2))^(1/3) -14/3/(28+84*i*3^(1/2))^(1/3))] Ta tnh gi tr s ca nghim: double(s) ans = 2.24697960371747 + 0.00000000000000i -0.80193773580484 + 0.00000000000000i 0.55495813208737 - 0.00000000000000i N cho thy tt c cc nghim ca phng trnh l s thc.iu ny khng ng.Dng lnh vpa: vpa(s, 10) to ra: ans = [ 2.246979604+.1e-9*i] [ -.8019377357+.3e-9*i] [ .5549581323-.5e-9*i] iu ny ngha l phn o ca s rt nh nhng khc 0.Ta xem mt v d khc: syms x s = solve(tan(x)+sin(x) 2); Kt qu l mt vec t 41.Nh trn,ta dng lnh double: X = double(s) X= 0.88628729156094 -1.89793604072796 2.07662070137841 2.07662070137841 2. H phng trnh i s:By gi ta xt h phng trnh.Gi s ta c h phng trnh : x 2 y 2 = 0 x y = 2 v ta cn tm x v y.Trc ht ta to ra cc i tng cn thit:

59

syms x y alpha C nhiu cch biu din nghim.Mt trong cc cch l vit: [x,y] = solve(x^2*y^2, x (y/2) alpha) v c c kt qu: x= [ 0] [ 0] [ alpha] [ alpha] y= [ -2*alpha] [ -2*alpha] [ 0] [ 0] Sau vit vec t nghim: v = [x, y] cho ta: v= [ 0, -2*alpha] [ 0, -2*alpha] [ alpha, 0] [ alpha, 0] Ta xt tip phng trnh : eqs1 = 'x^2*y^2=1, x 1/2*y alpha' [x,y] = solve(eqs1) to ra cc nghim: x= [ 1/2*alpha+1/2*(alpha^2+2)^(1/2)] [ 1/2*alpha-1/2*(alpha^2+2)^(1/2)] [ 1/2*alpha+1/2*(alpha^2-2)^(1/2)] [ 1/2*alpha-1/2*(alpha^2-2)^(1/2)] y= [ -alpha+(alpha^2+2)^(1/2)] [ -alpha-(alpha^2+2)^(1/2)] [ -alpha+(alpha^2-2)^(1/2)] [ -alpha-(alpha^2-2)^(1/2)] Cch gn cc nghim nh trn chi thch hp vi h c t phng trnh.Vi h c nhiu phng trnh,solve to ra mt cu trc m cc trng ca n l cc nghim.Ta kho st h phng trnh: u^2 - v^2 = a^2 u+v=1 a^ - 2*a = 3 Lnh: S = solve('u^2 v^2 = a^2','u + v = 1','a^2 2*a = 3') Cho kt qu:

60

S= a: [2x1 sym] u: [2x1 sym] v: [2x1 sym] Cc nghim l cc trng ca S. l: S.a To ra: ans = [ -1] [ 3] Tng t ta tm c nghim u v v.Cu trc S by gi c th c x l bng trng v ch s truy cp n cc phn ring bit ca nghim.V d nu ta mun kim tra nghim th 2,ta c th dng pht biu sau: s2 = [S.a(2), S.u(2), S.v(2)] trch thnh phn t 2 ca mi trng. s2 = [ 3, 5, -4] Pht biu: M = [S.a, S.u, S.v] To ra ma trn nghim M: M= [ -1, 1, 0] [ 3, 5, -4] m mi hng l mt nghim ca h. Nu h phng trnh l tuyn tnh ta c th dng ma trn gii h.V d: clear u v x y syms u v x y S = solve(x+2*y u, 4*x+5*y v); sol = [S.x;S.y] v: A = [1 2; 4 5]; b = [u; v]; z = A\b cho: sol = [ -5/3*u+2/3*v] [ 4/3*u-1/3*v] z= [-5/3*u+2/3*v] [ 4/3*u-1/3*v] Nh vy ta c cng mt nghim cho d phng php gii khc nhau. 3. Gii phng trnh vi phn:Hm dsolve tnh nghim bng ch ca phng trnh vi phn thng.Cc phng trnh c m t bng cc biu thc ch cha cc ch ci D ch cc o hm.K hiu D2,D3,. . ,Dn tng ng vi o hm cp 1,cp 2,..,cp n.Nh vy D2y trong

61

d2y . Bin ph thuc l bin c x l bi D v bin c lp mc dx 2 nh l t.Nh vy tn cc bin k t khng c c D.C th dng bin c lp khc bng cch ch ra n nh l thng s cui cng trong lnh dsolve.iu kin u c th m t nh l mt phng trnh ph.Nu iu kin u khng c,nghim s cha cc hng s tch phn C1,C2 v.v.C php ca dsolve c m t trong bng sau:

Symbolic Math Toolbox l

C php y = dsolve(Dyt = y0*y) [u,v] = dsolve('Du = v', 'Dv = u') S = dsolve('Df=g','Dg=h','Dh=f') S.f, S.g, S.h

Phm vi Mt phng trnh ,mt nghim Hai phng trnh,hai nghim Ba phng trnh,ra l cu trc Nghim

1. V d 1:Ta dng lnh: dsolve('Dy=1+y^2') v c kt qu: ans = tan(t-C1) m ta iu kin u,ta dng: y = dsolve('Dy=1+y^2','y(0)=1') v c: y= tan(t+1/4*pi) Ch l y trong vng lm vic ca MATLAB nhng bin c lp t th khng.Nh vy lnh diff(y,t) gy ra li. t t vo vng lm vic ca MATLAB phi dng syms t 2. V d 2:Cc phng trnh phi tuyn c th c nhiu nghim,thm ch ngay c khi cho iu kin u. x = dsolve('(Dx)^2+x^2=1','x(0)=0') cho kt qu: x= [-sin(t)] [ sin(t)] 3. V d 3:y l mt phng trnh bc 2 vi 2 iu kin u.lnh: y = simplify(dsolve('D2y=cos(2*x) y','y(0)=1','Dy(0)=0', 'x')) to ra: y= -2/3*cos(x)^2+1/3+4/3*cos(x) gii phng trnh : d3u =u dx 3 u(0) = 1, u(0) = 1, u(0) = ta dng cc lnh sau: u = dsolve('D3u=u','u(0)=1','Du(0)= 1','D2u(0) = pi','x') 4. H phng trnh vi phn:Hm dsolve c th x l h phng trnh vi phn.c hay khng c iu kin u.V d ta c h phng trnh:

62

y=3f + 4g g = -4f + 3g gii h ta dng lnh: S = dsolve('Df = 3*f+4*g', 'Dg = 4*f+3*g') Nghim c tnh v tr v di dng cu trc S: S= f: [1x1 sym] g: [1x1 sym] Ta c th xc nh gi tr ca f v g bng lnh: f = S.f f= exp(3*t)*(cos(4*t)*C1+sin(4*t)*C2) g = S.g g= -exp(3*t)*(sin(4*t)*C1-cos(4*t)*C2) Nu ta cho c iu kin u th vit: [f,g] = dsolve('Df=3*f+4*g, Dg = 4*f+3*g', 'f(0) = 0, g(0) = 1') f= exp(3*t)*sin(4*t) g= exp(3*t)*cos(4*t) Bng sau m t mt vi v d v c php ca Symbolic Math Toolbox.

63

Phng trnh vi phn dy + 4 y( t ) = e t dt y( 0 ) = 1d2y + 4 y( x ) = e 2 x 2 dx y(0) = 0, y( ) = 0 d2y = xy( x) dx 2 1 y(0) = 0, y(3) = K 1 (2 3 ) 3 (phng trnh Airy)

Lnh MATLAB y = dsolve('Dy+4*y = exp(-t)','y(0) = 1')

y = dsolve('D2y+4*y = exp(-2*x)', 'y(0)=0', 'y(pi) = 0', 'x') y = dsolve('D2y = x*y','y(0) = 0', 'y(3) = besselk(1/3, 2*sqrt(3))/pi', 'x')

7. Bin i tch phn 1. Bin i Fourier v Fourier ngc: a. Bin i Fourier:Bin i Fourier dng bin di phng trnh vi phn thnh phng trnh i s.C php: F = fourier(f) F = fourier(f,v) F = fourier(f,v,u) F = fourier(f) l dng bin i Fourier ca bin k t v hng f vi bin c lp mc nh l x.Kt qu tr v mc nh l hm theo w.Bin i Fourier thc hin trn hm ca x v tr v hm ca w: f = f(x) F = F(w) Nu f = f(t) th bin i tr v F = F(t).Hm F(w) c nh ngha:F( w ) =

f ( x )e

iwx

dx

F = fourier(f,v) lm cho F l hm ca v thay v ca w.Trong :F( v ) =

f ( x )e

ivx

dx

F = fourier(f,v,u) lm cho f l hm ca u v F l hm ca v thay cho bin mc nh x v w:F( v ) =

f ( u )e

ivu

du

Ta c th xem cc bin i Fourier trong bng sau:

64

Bin i Fourierf ( x) = e x2

Lnh MATLAB2

F[ f ]( w ) = g( w ) = e

w

iwx w f (x)e dx = e

/4

f = exp(-x^2) fourier(f) cho: pi^(1/2)*exp(-1/4*w^2) g = exp(-abs(w)) fourier(g) cho 2/(1+t^2) f = x*exp(-abs(x)) f = x*exp(-abs(x)) cho -4*i/(1+u^2)^2*u

F[g]( t ) = f ( x) = xe F[ f ]( u) =

|x|

g( w ) e f ( x )e

iwt

dt =

2 1 + t2 4i (1 + u 2 ) 2 u

ixu

dx =

b. Bin i Fourier ngc:Khi bit hm nh Fourier dng bin i Fourier ngc ta tm c hm gc.C php: f = ifourier(F) f = ifourier(F,u) f = ifourier(F,v,u) f = ifourier(F) l bin i Fourier ngc ca mt i tng k t v hng F vi bin mc nh l w.Kt qu l hm ca x: F = F(w) f = f(x) Nu F = F(x) , ifourier tr li hm ca t f = f(t).Trong : 1 iwx f ( x) = F(w)e dw 2 f = ifourier(F,u) lm cho f thnh hm ca u thay v ca bin mc nh x.Trong : 1 iwu f ( u) = F(w)e dw 2 f = ifourier(F,v,u) coi F l hm ca v v f l hm ca u thay cho accs bin mc nh w v x. 1 ivu f ( u) = F(u)e dv 2 Bin i Fourier ngcw2

f (w) = e 4 a1

2

F [ f ]( x) = g( x) = e |x|

f ( w)e iwx dw =

a ( ax )2 e

Lnh MATLAB syms a real f = exp(-w^2/(4*a^2)) F = ifourier(f) F = simple(F) cho ha*exp(-x^2*a^2)/pi^(1/2) g = exp(-abs(x))

65

g( x) = e |x|F 1[g]( t ) = |w|

g( x ) e1

itx

dx =

1 + t2

ifourier(g) cho 1/(1+t^2)/pi f = 2*exp(-abs(w)) - 1 simple(ifourier(f,t)) cho (2-pi*Dirac(t)-pi*Dirac(t)*t^2)/ (pi+pi*t^2)

f (w) = 2e1

F [ f ]( t ) =

2 (t )(1 t 2 ) (1 + t )

f ( w )e

iwt

dw =

2. Bin i Laplace v Laplace ngc: a. Bin i Laplace:Bin i Laplace dng bin i phng trnh vi phn thnh phng trnh i s.C php: laplace(F) laplace(F,t) laplace(F,w,z) L = laplace(F) l bin i Laplace ca hm k t v hng F vi bin c lp t.Mc nh tr li l hm ca s.Bin i Laplace c p dng cho hm ca t v tr li hm ca s. F = F(t) L = L(s) Nu F = F(s) Laplace tr li hm ca t.Trong :L(s) = F( t )e st dt0

L = laplace(F,t) lm cho L thnh hm ca t thay cho bin mc nh s.L( t ) = F( x)e tx dx0

L = laplace(F,w,z) lm cho L thnh hm ca z v F l hm ca t thay cho cc bin mc nh s v t.L(z ) = F( w )e zw dw0

Bin i Laplacef (t) = t4

Lnh MATLAB f = t^4 laplace(f) cho 24/s^5 g = 1/sqrt(s) laplace(g) cho 1/(s^(1/2))*pi^(1/2)

L[ f ] = F( t )e st dt =0

24 s5

g(s) =

1 s 0

L[g]( t ) = g(s)e st ds = f (t) = e at

s

f = exp(-a*t) laplace(f) cho

66

L[ f ]( x) = f ( t )e tx dt =0

1 x+a

1/(x+a)

b. Bin i Laplace ngc:Khi c nh ca hm,ta c th tm li hm gc bng bin i Laplace ngc.C php: F = ilaplace(L) F = ilaplace(L,y) F = ilaplace(L,y,x) F = ilaplace(L) l bin i Laplace ngc ca mt i tng k t v hng L vi bin mc nh l s.Tr v mc nh l hm ca t. L = L(s) F = F(t) Nu L = L(t), ilaplace tr v hm ca x.F( t ) =c+ i c i

L(s)e

st

ds

F = ilaplace(L,y) lm cho F l hm ca y thay cho bin mc nh t.F( y) =c + i c i

L ( y )e L ( y )e

sy

ds

F = ilaplace(L,y,x) coi F l hm ca x v L l hm ca y thay cho bin mc nh t v s.F ( x) =c + i c i xy

dy

Bin i Laplace ngcf (s) =1

Lnh MATLAB f = 1/s^2 ilaplace(f) cho t

1 s2

1 c+i st L [f ] = f (s)e ds = t 2 i ci 1 g( t ) = ta 1 c+i xt ax L1[g] = g(t)e dt = xe 2 i ci 1 f ( u) = 2 u a2 1 c+i 1 1 1 xu L [f ] = g(u)e du = 2ae ax 2ae ax 2 i ci

g = 1/(t-a) ilaplace(g) cho x*exp(a*x)

f = 1/(u^2-a^2) ilaplace(f) cho 1/(2*a*exp(a*x))-1/(2*a*exp(-a*x))

3. Bin i z v z ngc: a. Bin i z:Thc hin php bin i z trn h thng ri rc a phng trnh vi phn v phng trnh i s.C php: F = ztrans(f)

67

F = ztrans(f,w) F = ztrans(f,k,w) F = ztrans(f) l php bin i z ca k hiu v hng f vi bin c lp mc nh n.Mc nh tr v hm ca z.Bin i z c nh ngha: f (n) F(z ) = n 0 z Trong n l bin k hiu ca f.Nu f = f(z) th ztrans tr v hm ca w F = F(w). F = ztrans(f,w) lm cho f thnh hm ca w thay cho bin mc nh z. f ( n) F( w ) = n 0 w F = ztrans(f,k,w) coi f l hm ca k f (k) F( w ) = n 0 k Bin i zf (n) = n 4 Z[ f ] = f ( n )z n =n =0

Lnh MATLAB f = n^4 ztrans(f) cho z*(z^3+11*z^2+11*z+1)/(z-1)^5 g = a^z ztrans(g) cho -w/(a-w) f = sin(a*n) ztrans(f) w*sin(a)/(1-2*w*cos(a)+w^2)

z(z 3 + 11z 2 + 11z + 1) (z 1)5 w aw

g( z ) = a z Z[g] = g(z )w z =

f ( n ) = sin an Z[ f ] = f ( n)w n =n =0

z =0

w sin a 1 2 w cos a + w 2

b. Bin i z ngc:Khi c nh ca bin i z ta c th tm li gc ca n nh bin i z ngc.C php: f = iztrans(F) f = iztrans(F,k) f = iztrans(F,w,k) f = iztrans(F) l bin i z ngc ca i tng k hiu F vi bin c lp z.Mc nh tr v hm ca n: 1 n 1 f ( n) = F(z)z dz n = 1,2,.... 2 i |z| =R Trong R l s dng c chn sao cho hm F(z) l gii tch trn v ngoi vng trn | z | = R.Nu F = F(n) iztrans tr v hm ca k: f = f(k). f = iztrans(F,k) coi f l hm ca k thay cho bin mc nh n. Trong k l i tng k hiu v hng. f = iztrans(F,w,k) coi F l hm ca w thay v ca bin mc nh. Bin i z ngc Lnh MATLAB

68

2z ( z 2) 2 1 n 1 n Z 1[ f ] = f (s)z dz = n 2 2 i |z|=R n( n + 1) g( n ) = 2 n + 2n + 1 1 k 1 k Z 1[ f ] = g(n)n dn = 1 2 i |z| =R z f (z ) = za 1 k 1 k Z 1[ f ] = f (z)z dz = a 2 i |z|=R f (z ) = x( x e z ) f ( x, z ) = 2 x 2 xe z + e 2 z 1 k 1 kz Z 1[ f ] = f (x, z)z dx = e 2 i |x| =R

f = 2*z/(z-2)^2 iztrans(f) cho n*2^n

g = n*(n-1)/(n^2+2*n+1) iztrans(g) cho (-1)^k f = z/(z-a) iztrans(f) cho a^k f = x*(x-exp(z))/(x^2-2*x*exp(z) + exp(2*z)) iztrans(f) cho exp(z)^k

69

chng 3: Giao din ho GUI1. Khi nim chung tin dng ta c th to nn giao din ho(GUI - Graphic User Interface) gia ngi dng v MATLAB. Trong giao din ny ta c th xut d liu di 2 dng: vn bn v ho. Mi mt GUI c mt hay nhiu layout(din mo). to ra v x l layout cia GUI ta nhp ln guide v nhn c mt layout rng v ca s Guide Control Panel. Vic to GUI to nn mt cng c ho phc v nhp xut d liu mt cch trc gic, rt thun tin. Ngoi ra c th dng GUI gim st cc qu trnh, hin th cc i tng. 2. nhp xut k t, s liu ra GUI 1. To khung hnh: Ta xt cc lnh sau: f = input('Enter temperature(degree K): '); c = (f - 32)*5/9; fprintf(1,'Temperature(degree C) is: %g\n',c) Ba dng lnh trn thc hin cc cng vic sau: - nhp gi tr u vo - thc hin php tnh quy i nhit - xut kt qu ra mn hnh By gi ta tm cch ci cc dng lnh trn sao cho chng thc hin trn khun kh mt khung ho no . to hai khung hnh ch nht trong ca s Figure hin hnh vi nn mu xm ta nhp vo cc lnh sau: set(gcf,'DefaultUicontrolUnit','Normalized') frame1_ = uicontrol(gcf,'Style','Frame','Position',[0.1 0.1 0.8 0.3]); frame2_ = uicontrol(gcf,'Style','Frame','Position',[0.1 0.6 0.8 0.3]); set(frame1_,'BackgroundColor',[0.5 0.5 0.5]); set(frame2_,'BackgroundColor',[0.5 0.5 0.5]); Hai khung (Frames) c to cc gc di tri l (0.1, 0.1) v (0.1, 0.6), cng chiu cao 0.3 n v v b rng 0.8 n v. n v c tnh bng % ca kch c ngoi ca Figure. Vy ta c th din gii nh sau: - Khung th nht cgc tri di ti im c to 10% chiu ngang v 10% chiu cao ca khung ngoi Figure. - Khung th 2 c gc tri pha di ti im c to ng vi 10% chiu ngang v 60% chiu cao ca khung ngoa Figure. - C hai khung c chiu cao bng 30% chiu cao v b ngang bng 80% b ngang ca khung ngoi Figure. 2. Dng lnh edit v text nhp xut k t v s liu: Trn y ta dng lnh uicontrol to v xc nh v tr hai khung hnh. on lnh sau y dng uicontrol vit chui k t Fahrenheit ln khung bn trn: text_f_=uicontrol(gcf,'Style','Text','String','Fahrenheit: ',... 'Position',[0.3 0.7 0.2 0.05],'HorizontalAlignment','Left'); Chui k t Fahrenhaeit c t vo ng v tr dn tri ca c Position ghi trong on chng trnh trn. on lnh sau dng Edit vit chui k r 68.0 vo v tr bn cnh ca Fahrenheit. Chui k t c v tr dn phi trong (Position Box). edit_f_=uicontrol(gcf,'Style','edit','String','68.0... ,'Position',[0.6 0.7 0.2 0.05],'HorizontalAlignment','Right,Callback,fc_calc');

Do s dng edit, chui k t 68.0 l chui c th vit li c trc tip trn GUI. Sau khi nhn nt trn, gi tr mi vit li c tip nhn v MATLAB s gi lnh vit trong phn callback: fc_calc. Cui cng ta cn phi dng uicontrol to ta chui text, hin th chui Celcius v 20.0 trong khung bn di. text_c1_= uicontrol(gcf,'Style','Text','String','Celcius: ',... 'Position',[0.3 0.3 0.2 0.05],'HorizontalAlignment','Left'); text_c2_= uicontrol(gcf,'Style','Text','String','20.0','Position',... [0.6 0.3 0.1 0.05],'HorizontalAlignment','Left'); thun tin ta nn vit cc lnh ny ny trong mt file script. 3. T ng cp nht gi tr ln GUI: hon thin v d GUI ta thc hin chng trnh vi nhim v tnh quy i t K sang C v t ng in kt qu vo cc bn ch chui Celcius. on chng trnh ny phc v mc ch callback (hon tr gi tr) c lu vo file fc_calc.m v c ni dung nh sau: f = get(edit_f_,'String'); f = str2num(f); c = (f-32)*5/9; c = num2str(c); set(text_c2_,'String',c); on m trn nhn gi tr do lnh uicontrol edit c vo di dng chui (string) v sau : - bin i t dng string sang dng s - tnh quy i t nhit fahrenheit sang nhit celcius - bin i t s sang string - xut kt qu di dng string ra GUI nh text_c2_ 3. nhp s liu t thanh trt Ngoa cch nhp s liu t bn phm, ta c th nhp s liu t thanh trt. MATLAB ch h tr cc thanh trt nm ngang ch khng h tr cc thanh trt thng ng. to thanh trt ta dng lnh: slider_f_ = uicontrol(gcf,'Style','Slider','Min',... 32.0,'Max',212.0,'Value',68.0,'Position',[0.6 0.8 0.2 0.05],... 'Callback','fc_slider_f;fc_calc'); Nh vy Callback c th gi mt chui cc lnh MATLAB, phn cch nhau bng du chm than hay du phy. Chui callback gi fc_silder_f.m: f = get(slider_f_,'Value'); f = num2str(f); set(edit_f_,'String',f); vi tc dng nhp nhit gi ti Value ca slider_f_ vo v tr bn cnh cha chui Fahrenheit. Sau Callback gi tip fc_calc.m tnh quy i gi tr nhit v gn vo cnh chui Celcius. Tuy nhin nhp c gi tr mi do ngi dng thanh trt gy nn , ta phi thay i li chui lnh nh sau: slider_f_ = uicontrol(gcf,'Style','Slider','Min',... 32.0,'Max',212.0,'Value',68.0,'Position',[0.6 0.8 0.2 0.05],... 'Callback','fc_edit_f, fc_calc'); Trong file fc_edit_f.m nh sau: f = get(edit_f_,'String'); f= str2num(f); set(slider_f_,'Value',f);

c nhim v cp nht gi tr gi ti Value ca slider_f_ ri sau fc_calc.m lm nt phn vic cn li: tnh i nhit v gn vo v tr cnh cha chui Celcius. 4. nhp s liu tu chn 1. Khi nim chung: Ngoi kh nng nhp d liu c nh theo kiu string hay kiu s, ta c th nhp d liu theo mt danh mc no . minh ho, ta to file test.m nh sau: f = input('Nhap nhiet do: '); r = f+459.7; c = (f-32)*5/9; k = c+273.15; choice = input(['Nhap 1 cho Rankie','2 cho Celcius','3 cho Kelvin: ']); if choice==1 fprintf(1,'Nhiet do (do R) la: %g\n',r); elseif choice==2 fprintf(2,'Nhiet do (do C) la: %g\n',c); elseif choice==3 fprintf(2,'Nhiet do (do C) la: %g\n',c); end T ca s lnh, nhp lnh test th MATLAB s hi nhit v ch quy i ri hin th kt qu. Tuy hhin cng c GUI ca MATLAB cho php ta thc hin vic la chn thun li hn. ta c th chn mt trong 4 phng n nhp d liu sau y: - dng menu - dng list box - dng radio button - dng check box 2. Dng menu: ta xo b chui Celcius trong lnh text_c1_ v thay vo kh nng chn theo popup menu nh sau: delete(text_c1_); pop_c_ = uicontrol( gcf, Style, Popupmenu,... String, Rankine|Celcius|Kelvin,... Value, 2,... Position, [0.0 .3 0.2 0.05],... Callback, fc_popup_c;fc_calc2); Khi kch chut vo Popup Menu , c ba kh nng chn la s xut hin. Tip tc nhy chut vo mt trong 3 kh nng , Popup Menu bin mt ch cn li n v c chn. Khi dng chut ko thanh trt frame pha trn, ta c c gi tr quy i sang n v c chn hin th pha di. Trong on chng trnh trn, gi tr Value t sn l 2. Khi Callback gi fc_popup_c.m: choice = get(popup_c_,Value); h gi tr ca bin choice c a ti Value. Sau Callback gi tip fc_calc2.m xem kt qu gi trong choice. File fc_calc2.m nh sau: f = get(edit_f_,'String'); f = str2num(f); r= f+459.7; c = (f-32)*5/9; k = c+273.15; choice = input(['Nhap 1 cho Rankie','2 cho Celcius','3 cho Kelvin: ']);

if choice==1 t = r; elseif choice==2 t = c; elseif choice==3 t= k end t = num2str(t); set(text_c2_,'String',t); Cn lu rng t c kt qu , ta cn phi bo cho edit v slider uicontrol bit dng fc_calc2.m bng cch b sung thm cc dng sau: set(edit_f_,... Callback,fc_edit_f;fc_calc2); set(edit_f_,... Callback,fc_slider_f;fc_calc2); Bng cch thay Popupmenu bng Listbox uicontrol ta c phng n listbox. im khc duy nht l khi chn, Popupmenu ch cha mt phn t th listbox c th ng thi cha nhiu phn t, ph thuc duy nht vo chiu cao ti v tr(Position property). 3. Dng radio button: Ta dng lnh delete(popup_c_) xo uicontrol to Popup Menu Rankine | Celcius | Kelvin v thm vo 3 uicontrol to 3 nt chn th nguyn nhit sau: delete(popup_c_); strings = [Rankine;Celcius;Kelvin]; show = [ 0 ; 1 ; 0 ]; ys = [ 3 ; 2 ; 1]* 0.075 + 0.075; for i = 1:3 radio_c_(i) = uicontrol( gcf, Style, Radiobutton,... String, strings(i),... Value, show(i),... Posiotion, [0.3 ys(i) 0.0 0.05],... Callback, fc_radio_c;fc_calc2); ta dng mt chui Callback cho c 3 nt. Trc ht Callbackgi fc_radio_c.m nh bit nt no(1, 2 hay 3) c chn, sau ct gi tr bin c chn vo choice. for i = 1:3 if gcbo == radio_c_(i) choice = i; set(radio_c_(i),Value,1); else set(radio_c_(i),Value,0); end; end; on script trn l mt vng lp, so snh s (handle) Callback thu c (gi tr do hm gcbo tr v) vi handle ca mi nut. Nt no c s trng s c ng (turn on, Value = 1) v ntno khc s s b ngt (turn off,Value = 0). Cui cng Callback gi fc_calc2.m thc hin vic tnh quy i c chn v hin th kt qu.