Học matlab bằng ví dụ

Embed Size (px)

Citation preview

  • 8/2/2019 Hc matlab bng v d

    1/50

    HOC MATLAB BANG TH DUTrnh Anh Ngoc

    8/5/2009

  • 8/2/2019 Hc matlab bng v d

    2/50

    Hoc MATLAB bang th du 1

    Tai lieu nay c viet vi muc ch hng dan cac sinh vien hoc nhanh ve Matlab.Phan au tai lieu la noi dung bai giang cua tac gia ve Matlab trong hoc phan "Giai phng trnh bang may tnh". Mot so th du, chng trnh tnh toan so c lay t baigiang "Giai tch so 1" cho lp c nhan tai nang, "C hoc chat long" cung cua tac gia.

    Matlab la phan mem tr giup tnh toan so va ky hieu, do o tai lieu gom hai phan: (1)tnh toan ky hieu, va (2) tnh toan so. Sau khi oc xong tai lieu nay, sinh vien co the:- Dung Matlab giai cac bai toan giai tch, ai so va ai so tuyen tnh;- Dung Matlab e viet chng trnh tnh toan cho cac mon nh Phng phap phan

    t hu han, Giai tch so, C hoc vat ran bien dang, C hoc chat long . . .

    1 Vai tro cua may tnh trong nghien cu va ngdung toan hoc

    Cong cu tr giup tnh toan so va ky hieu.Ve tnh toan so: giup mo phong cac bai toan thuoc lanh vc khoa hoc thuat, phan tch d lieu.

    Ve tnh toan ky hieu: cho phep thc hien, kiem tra cac phep bien oi thoc; d oan, th nghiem cac d oan toan hoc; anh gia thc hanh cac kethuyet.

    Hien th cac ket qua bang o hoa.

    2 Matlab - phan mem toan hocMatlab la mot ngon ng thc hien danh cho tnh toan, ac biet la cac tnh toathuat. Vi Matlab ta co the tnh toan, hnh dung, va lap trnh cho cac oi ttoan hoc.

    Matlab la mot he thong tng tac ma phan t d lieu c ban cua no la(array). ieu nay, the hien trong ten goi cua no (Matlab la viet tat cuaMatrixlaboratory), cho phep ta thc hien de dang cac tnh toan ma tran va vect thgap trong cac bai toan ky thuat.

    He thong Matlab gom nam phan chnh:1) Ngon ng Matlab2) Moi trng lam viec Matlab3) Quan ly o hoa4) Th vien cac ham toan hoc Matlab5) Giao dien chng trnh ng dung MatlabTrong tai lieu nay ta se lam quen vi cac phan 1) - 4). Ban oc nen tm

  • 8/2/2019 Hc matlab bng v d

    3/50

    2 Trnh Anh Ngoc

    tai lieu:Getting Started with MATLAB, MathWorks, Inc., 1998.Symbolic Math Toolbox User's Guide, MathWorks, Inc., 1998.

    trong tu sach cua MathWorks e oc them ve Matlab khi can.

    3 Lt qua Matlab - cai nhn auTrong muc nay ta se lt qua mot vong Matlab e co mot cai nhn khai quat vnang va nhng ac iem ang lu y cua no. e hoc nhanh Matlab ban phai lieu nay vi may tnh trc mat. Hay th thc hien cac th du c a ra trolieu. Quan sat "phan ng" cua Matlab khi x ly cac lenh a vao. T at ra du e th nghiem, oc ky cac dong canh bao, thong bao loi neu co.

    Hnh 1: Ca so Matlab.

    e khi ong Matlab ta ch can nhap kep (double click) vao bieu tng c

  • 8/2/2019 Hc matlab bng v d

    4/50

    Hoc MATLAB bang th du 3

    no, hoac vao menustart \All programs \Matlab 7.1 roi chonMatlab 7.11.

    Mot ca so co tenMatlab (hayMatlab command ) xuat hien cung vi dau nhaclenh>>(hnh 1). Cac lenh cua Matlab c nhap vao t ay.

    e thoat (quit) ch can nhap chuot vao dau X goc tren ben phai cMatlab .

    Tat ca cac oi tng a vao Matlab phai c "khai bao" bang cach nh "noi dung" cua no.Vect

    e tao mot vect, th dua , trong ca soMatlab command ta nhap vao>> a = [1 2 3 4 5 6 9 8 7 6 5]sau khi nhan enter Matlab tra ve:a =1 2 3 4 5 6 9 8 7 6 5Chu y: cac thanh phan cua vect nam gia hai dau ngoac vuong, cach nhakhoang trang. Dien ng "Matlab tra ve" se c hieu ngam trong cac th du s

    Tao vectb vi cac thanh phan lay gia tr nguyen t 0 en 10>> b = 0:10b =0 1 2 3 4 5 6 7 8 9 10Neu muon cac thanh phan lien tiep cach nhau 2 th nhap vao>> c = 0:2:10c =0 2 4 6 8 1 0Kch thc (chieu dai) cua vect c cho nh hamlength ,>> dai=length(c)

    dai=6

    Tnh toan tren vect cung rat n gian. Cong cac thanh phan cua vectavi3>> a + 3ans =4 5 6 7 8 9 12 11 10Chu y: cac lenh, cac bien a vao c Matlab lu gi trongworkspace (vung lamviec). Co the hnh dungworkspace nh la t giay nhap ta dung khi lam tnh, cacphep tnh c viet tuan t t tren xuong di, ta co the xem lai nhng ket thc hien, xoa nhng bien hoac bieu thc c a vao (dung lenhclear tenbienhoacclear all - xoa tat ca). Noi dung cuaworkspace c hien th tren caso Matlab ta co the dung thanh trt ben phai ca so Matlab e xem cac noicu(hnh 2).

    Trong tnh toan tren, do ta khong ch nh phep gan, Matlab lu tr ket qua

    1TenMatlab 7.1 co the khac tuy thuoc phien ban Matlab ma ban dung.

  • 8/2/2019 Hc matlab bng v d

    5/50

    4 Trnh Anh Ngoc

    Hnh 2: Noi dungworkspace c hien th tren ca so Matlab.

    tnh toan trong mot bien tam thi goi la "ans ".Ve mat toan hoc ta khong the cong vect vi mot so! Trong th du tren Ma

    a m rong3 ra thanh ma tran[ 3 3 3 3 3 3 3 3 3 ] co cung o dai nh vecta roi thc hien phep cong.

    Neu can thc hien lai mot lenh a c a vao trc o ta co the talai lenh nay bang cach nhan phmmot so lan thch hp ma khong can phai go lailenh.Tnh vectd la tong cua hai vecta vab

    >> d = a + bd =

    1 3 5 7 9 11 15 15 15 15 15Chu y: muon cong hai vect th chung phai co cung o dai. Phep tr trecung c thc hien tng t.

    Ma tran

    Nhap ma tran vao Matlab giong nh nhap mot vect, ngoai tr moi docach nhau bi dau cham phay hoac enter (return):

  • 8/2/2019 Hc matlab bng v d

    6/50

    Hoc MATLAB bang th du 5

    >> B = [1 2 3 4 ; 5 6 7 8 ; 9 10 11 12]hay>> B = [1 2 3 45 6 7 8

    9 10 11 12]B =1 2 3 45 6 7 89 10 11 12Kch thc ma tran c cho bang hamsize ,>> size(B)ans=3 4

    Matlab co the thc hieu nhieu phep tnh ma tran, di ay la mot so ptnh thng dung (ban oc t a ra th du e th nghiem), danh sach cac lenh hien th khi dung lenhhelp . T danh sach nay ta co the tra cu cu phap lenh vacac thong tin lien quan.

    Phep cong (tr) hai ma tran tng t nh trng hp vect. ac biet, nhan tran vi mot so co the viet theo th t nao cung c. Th du, neuA la ma transla mot so th hai lenhs*A vaA*s cho cung mot ket qua.

    Chuyen v:>> C = B

    NeuB la ma tran phc thB cho chuyen v cua lien hp phc cuaB. Trongtrng hp muon lay chuyen v cuaB ta phai dung ".'">> D = B .

    Nhan hai ma tran:>> D = A * BNeu muon nhan cac phan t tng ng cua hai ma tran co cung kch th

    dung ".*">> G = E . * F

    NeuE la ma tran vuong th phep nhan ma tranE vi chnh no n lan co thethc hien bang phep lay luy tha. Th du:>> E3

    Neu muon luy tha tng phan t cua ma tran ta dung ". ". Th du:>> E .3

    Nghch ao ma tran vuong:>> inv(E)Cac gia tr rieng:

    >> eig(E)a thc ac trng:

    >> poly(E)

  • 8/2/2019 Hc matlab bng v d

    7/50

    6 Trnh Anh Ngoc

    Ham so

    Matlab co mot th vien cac ham toan hoc rat phong phu nh :sin, cos,log, exp, sqrt, . . . Cac so thng dung nh : , i (hayj ) = 1 cung c nhngha san trong Matlab.>> sin(pi/4)ans =0.7071

    oi so cua ham co the la mot ma tran. Th du,x=[1 2; 3 4] , lenhexp(x)tra veans =2.7183 7.389120.0855 54.5982o chnh la ma tran

    exp(1) exp(2)

    exp(3) exp(4).

    e tm hieu cach dung mot ham Matlab bat ky ch can go>> help [ten ham]

    Matlab cung cho phep ngi s dung tao cac ham rieng cho mnh bang lefunction (se c gii thieu di ay).o thTrong Matlab e ve o th mot ham so ta dung hamplot . Th du e ve o

    th hamsin(t) , trc het ta tao vect thi giant va roi tnh gia tr hamsin taimoi thi iem>> t = 0:0.25:7;y =sin(t);>> plot(t,y)Chu y: ten ham (plot ) viet bang ch thng, dau cham phay cuoi moi cau lenh cth Matlab khong the hien ket qua tnh toan ra man hnh.

    M-fileM-file la cac file van ban (text) cha ma Matlab. Ten M-file co phan m r

    ".m". Co hai loai M-file:

    Script, khong co oi so nhap/xuat, giong nh mot "kch ban" ghi cac letnh toan tuan t ma ngi s dung yeu cau. Khi go ten file dau nhac lnhan phm enter, Matlab se thc hien cac lenh ghi trong file, tren d lieu hien hatrong vung lam viec (workspace). Trong thc hanh, e kiem soat d lieu tnh tscript file thng bat au bang lenhclear all xoa tat ca cac bien lu tr trongworkspace , va khi tao lai cac bien ma script file can dung.

    Function, co oi so nhap/xuat. Loai file nay thng c dung e nh nham (giong nh chng trnh con). Th du M-file rank.m

  • 8/2/2019 Hc matlab bng v d

    8/50

    Hoc MATLAB bang th du 7

    Hnh 3: o th hamy = sin( t ) vi0 t 7.

    function r = rank(A,tol)% RANK Matrix rank.% RANK(A) provides an estimate of the number of linearly% independent rows or columns of a matrix A.% RANK(A,tol) is the number of singular values of A% that are larger than tol.% RANK(A) uses the default tol = max(size(A)) * norm(A) * eps.s = svd(A);if nargin = =1tol = max(size(A)) * max(s) * eps;

    endr = sum(s > tol);Chu y:function trong dong th nhat la t khoa. Dong nay cho ten function vath t cac oi so. Tiep theo dong au la cac dong bnh luan, bat au bangau tien trong chung se c Matlab hien th khi ta go lenhhelp rank . Phan conlai cua file la cac dong kha thi.

    4 Gii thieu ve Symbolic Math ToolboxMuc nay gii thieu cac net chnh cua Symbolic Math Toolbox, mot thanh phan Matlab am trach viec tnh toan ky hieu.

  • 8/2/2019 Hc matlab bng v d

    9/50

    8 Trnh Anh Ngoc

    4.1 oi tng ky hieuoi tng ky hieu (symbolic object) hay sym la mot cau truc d lieu lu tr mo(string) bieu dien cua ky hieu. oi tng ky hieu c dung e bieu dien ccac bieu thc va cac ma tran ky hieu. e tao cac bien va bieu thc ky hihamsym. Th du,>> x = sym(x)tao mot bien ky hieux lu tr ky tx va>> a = sym(alpha)tao mot bien ky hieua lu tr chuoi cac ky talpha . Th du khac,>> rho = sym((1 + sqrt(5))/2)tao mot bien ky hieu bieu dien t le vang (golden ratio).

    4.2 Cac phep tnh ky hieu thng dung

    Ta co the thc hien nhieu phep tnh tren cac bien ky hieu. Di ay la mphep tnh thng dung.

    SUBS- thay the ky hieu.

    subs(s) thay the tat ca cac bien trong bieu thc ky hieus bang cac gia trnhan c t ham goi, hay vung lam viec. Th du, gia sa=980, C1=3 a ton taitrong vung lam viec.>> y=exp(-a*t)*C1;>> subs(y)tra veans=3*exp(-980*t)

    subs(s,new) thay the cac bien ky hieu t do trongs bangnew. Th du,sla bieu thcf=x 2>> subs(s,2)tra veans=4 (x c thay bang2 trong bieu thcs ).

    subs(s,old,new) thay the old bangnew trong bieu thcs . ayoldla bien ky hieu, chuoi bieu dien mot ten bien hay chuoi dien ta mot bieu thnewla mot bien ky hieu hoac bien so hoac bieu thc. Th du,subs(a+b,a,4) tra ve4+b (a c thay the bang4).

    Lenhsubs cung cho phep thay the nhieu bien cung mot luc. Th du,subs(cos(a)+sin(b), {a,b }, {sym(alpha),2 })tra vecos(alpha)+sin(2) (a c thay the bang chuoialpha , b c thay the bang2).

    Neuold vanew la cac vect hay mang co cung kch thc, th moi phan tcuaold c thay bi phan t tng ng cuanew. Neus vaold la cac vo hngconnew la mang hay mang ma tran (cell array), th cac vo hng c m rone cho ket qua mang. Th du,subs(exp(a*t),a,-[1 3; 4 2]) tra ve[ exp(-t), exp(-3*t) ]

  • 8/2/2019 Hc matlab bng v d

    10/50

    Hoc MATLAB bang th du 9

    [ exp(-4*t), exp(-2*t) ]Trong th du naya c m rong ra thanh mang roi thay the cac phan t tng cua no bang cac phan t tng ng cua mang-[1 3; 4 2] . Ve mat toan hoc, cacphep tnh c thc hien nh sau

    exp 1 34 2

    t = exp t 3t4t 2t

    = exp(t) exp( 3t)exp(4t) exp( 2t)

    Neunew la cac ma tran mang hay ma tran so, th s thay the c thc hietng phan t; ngha lasubs(x*y, {x,y }, {A,B}) tra veA.*B khi A, B la ma trancac so). Th du,subs(x*y, {x,y }, {[0 1;-1 0],[1 -1;-2 1] }) tra ve[ 0, -1 ][ 2, 0 ]

    EXPAND- khai trien bieu thc ky hieu.expand(s) viet moi phan t cua bieu thc ky hieus nh la tch cac tha so cua no.expand hay c dung vi a thc, ngoai ra no cung c dung e khtrien cac bieu thc lng giac, ham mu va ham logarit.

    Th du:1)((x-2)*(x-4)) tra vex2-6*x+8 .2)expand(cos(x+y)) tra vecos(x)*cos(y)-sin(x)*sin(y) .3)expand(exp((a+b) 2)) tra veexp(a 2)*exp(a*b) 2*exp(b 2) .4)expand([sin(2*t), cos(2*t)]) tra ve[2*sin(t)*cos(t), 2*cos(t) 2-

    1] .

    SIMPLIFY- n gian bieu thc ky hieu.simplify(s) n gian moi phan t cua ma tran ky hieus .Th du:1)simplify(sin(x) 2 + cos(x) 2) tra ve 1.2) Virho la bien bieu dien t le vang (th du tren).

    >> f = rho 2-rho-1f =(1/2+1/2*5 (1/2)) 2-3/2-1/2*5 (1/2)>> simplify(f)f =0

    3)simplify(exp(c*log(sqrt(alpha+beta)))) tra ve(alpha+beta) (1/2*c) .Chu y, lenh gan bieu thc di ay

    >> f = sym(a*x 2 + b*x + c)khong tao cac bien tng ng vi cac ta, b, c , vax cua bieu thc. e thiet lapcac phep toan ky hieu (e.g., tch phan, vi phan, thay the, etc.) trenf , ta can phai tao

  • 8/2/2019 Hc matlab bng v d

    11/50

    10 Trnh Anh Ngoc

    cac bien mot cach tng minh>> a = sym(a)>> b = sym(b)>> c = sym(c)

    >> x = sym(x)hay n gian>> syms a b c x

    SIMPLE- tm dang n gian nhat cua bieu thc ky hieu hay ma tran.simple(s) co gang th nhieu bien oi ai so khac nhau e n gians , roi

    tra ve bieu thc ngan nhat.Di ay la ket qua tra ve cuasimple(s) kem theo ch nh phep bien oi

    c dung.

    s ket qua phng phapcos(x) 2+sin(x) 2 1 simplify2*cos(x) 2-sin(x) 2 3*cos(x) 2-1 simplifycos(x) 2-sin(x) 2 cos(2*x) combine(trig)cos(x)+(-sin(x) 2) (1/2) cos(x)+i*sin(x) radsimpcos(x)+i*sin(x) exp(i*x) convert(exp)(x+1)*x*(x-1) x 3-x combine(trig)x3+3*x 2+3*x+1 (x+1) 3 factorcos(3*acos(x)) 4*x 3-3*x expandlog(x) + log(y) log(x*y) combine

    4.3 Mot so cach dung khac cua hamsyma) Chuyen oi mot ma tran t dang so sang dang ky hieu. LenhA = hilb(3)

    sinh ra ma tran Hilbert 3x3A =1.0000 0.5000 0.33330.5000 0.3333 0.25000.3333 0.2500 0.2000Ap dungsym cho A>> A = sym(A)ta c (chnh xac vo cung) dang ky hieu cua ma tran Hilbert 3x3A =[ 1, 1/2, 1/3 ][ 1/2, 1/3, 1/4 ][ 1/3, 1/4, 1/5 ]

    b) Xay dng cac bien thc va phc. Lenhsym cho phep ch nh cac tnh chattoan hoc cua bien ky hieu bang cach dung tuy chonreal . Ngha la, cac lenh

  • 8/2/2019 Hc matlab bng v d

    12/50

    Hoc MATLAB bang th du 11

    >> x = sym(x,real);>> y = sym(y,real);hay hieu qua hn>> syms x y real

    tao cac bien ky hieux vay co tnh chat toan hoc them vao la cac bien thc. ieunay co ngha la bieu thcf = x2 + y2la khong am. Suy ra,z = x + I*yla mot (hnh thc) bien phc va co the tnh toan nh so phc. Cac lenhconj(x),conj(z), expand(z*conj(z)) tra laix, x - i*y, x 2 + y2 (lenhconj latoan t lien hp phc). Neuconj(x) == x tra lai1, th x la mot bien thc. exoa tnh chat "thc" cuax, ta dung lenh>> syms x unrealhay

    >> x = sym(x,unreal)>> clear xkhong lamx tr thanh bien khong thc!

    c) Dungsym e truy xuat cac ham Maple. Ta co the truy xuat ham giai thak! cua Maple, bang cach dungsym,>> kfac = sym(k!) .e tnh6! hayn! , go>> syms k n>> subs(kfac,k,6)ans =720

    >> subs(kfac,k,n)ans =n!

    d) Tao cac ham tru tng. Lenh>> f = sym(f(x))tao bien ky hieuf tac ong giong nh f(x) va co the c tnh toan bang cac lenhcua Symbolic Math Toolbox. Th du, xay dng t sai phan cap 1, lenh>> df = (subs(f,x,x+h) - f)/hhay>> syms x h>> df = (subs(f,x,x+h)-f)/htra vedf =(f(x+h)-f(x))/h

    e) Tao cac ham toan hoc ky hieuCach 1 - dung cac bieu thc ky hieu. Day cac lenh

    >> syms x y z

  • 8/2/2019 Hc matlab bng v d

    13/50

    12 Trnh Anh Ngoc

    >> r = sqrt(x 2 + y2 + z2)>> t = atan(y/x)>> f = sin(x*y)/(x*y)sinh ra cac bieu thc ky hieur , t , vaf . Ta co the dungdiff (ao ham),int (tch

    phan),subs , va cac ham Symbolic Math Toolbox khac e tnh toan nhng bieu thnh vay.Cach 2 - tao mot M-File. Muon tao hamsinc (=sin(x)/x) , ta tao mot M-

    file trong th muc @sym.function z = sinc(x)% SINC The symbolic sinc function% sin(x)/x. This function% accepts a sym as the input argumen.if is equal(x,sym(0))z = 1 ;else

    z = sin(x)/x;endHamplot c dung e ve o th cua cac ham c cho di dang "so", t

    th du ve o th tren, hamy=sin(t) ham c cho di dang "so" nh la day caciem hnh hoc(t(i),y(i)) (i=1,2,...,29 ) c xac nh bi hai vectt vay.Hamplot ve o th nay bang cach noi cac iem bi cac oan thang. Vi catoan hoc c nh ngha bang ky hieu Matlab cung cap hamezplot e ve o thcua chung,>> syms x real>> ezplot(sin(x))cho ta o th cua ham sin trong khoang mac nhien[

    2, 2]. Neu muon ve o th

    Hnh 4: o th hamsin(x ) dung lenhezplot(sin(x)) .

    trong khoang[0, 7] th ta phai ch nh ro

  • 8/2/2019 Hc matlab bng v d

    14/50

    Hoc MATLAB bang th du 13

    >> ezplot(sin(x),[0 7])

    Hnh 5: o th hamsin(x ) dung lenhezplot(sin(x),[0 7]) .

    4.4 Bien ky hieu mac nhienKhi ta a vao mot ham toan hoc bang bieu thc cua no, th du>> clear all>> syms x n a t b>> f = xn>> g = sin(a*t+b)Matlab se t ong nhan dang au la bien ky hieu. Va khi c yeu cau tnham cua cac ham nay, khong ch nh bien oc lap, th Matlab se tnh theo caky hieu mac nhien. Vi cac ham tren chung ta nhan cn*x(n-1)a*cos(a*t+b)

    Lam the nao e biet bien ma Symbolic Math Toolbox lay ao ham? Cauli la lenhfindsym .>> findsym(f,1)tra veans =xNeu trongfindsym vang mat oi so th hai th Matlab tra ve mot danh sach tat cacac bien>> findsym(g)ans =a, b, t

  • 8/2/2019 Hc matlab bng v d

    15/50

    14 Trnh Anh Ngoc

    Quy tac: Bien ky hieu mac nhien trong mot bieu thc ky hieu la ch cai gax nhat.Neu co hai ch cai gan x nh nhau, ch cai ng sau trong bang ch cai

    4.5 Cac th du tnh toan ky hieuBay gi chung ta bat au hoc cach dung Matlab, cu the la Symbolic Math Tooe tnh toan ky hieu thong qua cac th du.

    Th du 1.Dung phng phap kh Gauss giai he phng trnh ai so tuyen tnh

    x + 2 y + 4 z = 315x + y + 2 z = 29

    3x y + z = 10

    a vao ma tran cac he so ni rong>> clear all >> a=[1 2 4 31; 5 1 2 29; 3 -1 1 10]a =

    1 2 4 315 1 2 293 -1 1 10

    Dung dong 1 kh cac so hang ben dia11>> a(2,:)=a(2,:)-5*a(1,:)a =

    1 2 4 31

    0 -9 -18 -1263 -1 1 10

    >> a(3,:)=a(3,:)-3*a(1,:)a =

    1 2 4 310 -9 -18 -1260 -7 -11 -83

    Dung dong 2 kh cac so hang ben dia22>> a(2,:)=a(2,:)/(-9)a =

    1 2 4 310 1 2 140 -7 -11 -83

    >> a(3,:)=a(3,:)+7*a(2,:)a =

    1 2 4 31

  • 8/2/2019 Hc matlab bng v d

    16/50

    Hoc MATLAB bang th du 15

    0 1 2 140 0 3 15

    Ban oc thc hien not phan con lai (phep the ngc).

    Th du 2.Giai va bien luan he phng trnh ai so tuyen tnh

    x + 2 y + 2 z = 0

    2x + ( m 2)y + ( m 5)z = 2mx + y + ( m + 1) z = 2

    Dung quy tac Cramer>> clear all>> syms m>> a=[1 2 2; -2 m-2 m-5; m 1 m+1];>> b=[0; 2; -2];

    Tnh cac nh thc c ban>> d1=det(a)d = m2-4*m+3d=factor(d1)d =(m-1)*(m-3)Thay cot 1 cuaa bangb. e tranh thay oi ta a vao ma tranad=a>> ad=a;>> ad(:,1)=b;>> d1=det(ad)

    d1 =-4*m+12Lam tng t>> ad=a;>> ad(:,2)=b;>> d2=det(ad)d2 =0>> ad=a;>> ad(:,3)=b;>> d3=det(ad)

    d3 =2*m-6Khim = 1 vam = 3 he co nghiem duy nhat>> x=d1/dx =(-4*m+12)/(m 2-4*m+3)>> x=simplify(x)

  • 8/2/2019 Hc matlab bng v d

    17/50

    16 Trnh Anh Ngoc

    x =-4/(m-1)>> y=d2/dy =

    0>> z=d3/dz =(2*m-6)/(m 2-4*m+3)>> z=simplify(z)z =2/(m-1)Trng hpm = 1>> subs(d1)ans =8

    he vo nghiem. Trng hpm = 3 ta cod1 = d2 = d3 = 0 trng hp nay phai xetcu the va dung phng phap Gauss, danh cho ban oc.

    Chu thch 1.Lenhfactor(s) tra ve vect cha cac tha so nguyen to cuas . Trongth du nay ta thayfactor co the phan tch a thc thanh tch.

    Th du 3.Cho day

    un =1

    n + 1+

    1n + 2

    +1

    n + 3+ . . . +

    1n + n

    .

    Chng minh day{un}hoi tu va tm gii han cua no.Thong thng, e tm gii han cua cac day so ma so hang tong quat cumot tong, trc het ta tnh tong e xac nhun di dang cong thc ong2 . TrongMatlab lenhsymsum cho ta cong cu tnh tong rat tien li3 .>> clear all>> syms n,i>> un=symsum(1/(i+n),i,1,n)un =Psi(2*n+1)-Psi(n+1)en ay ta gap mot ham ac biet, ham digamma (ban co the dunghelp Psi ebiet them ve ham nay). Tuy nhien, neu tiep tuc dung lenhlimit ta se c gii

    2 Cong thc ong cua mot bieu thc la cong thc ma so phep tnh can thc hienh. ay cong thc cuau n co so phep tnh tang theo ch so n (khong xac nh).

    3 T ay, ngoai mot vai trng hp, cu phap cua cac lenh Matlab se khong c ptng minh, ban nen hoc (oan) cu phap cua no thong qua th du hien hanh, va chdung enhelp khi thay that can thiet.

  • 8/2/2019 Hc matlab bng v d

    18/50

    Hoc MATLAB bang th du 17

    han cua day>> limit(un,n,inf)ans =log(2)

    Ket qua tra ve cung bieu thc xac nhun gi y cho ta,un la tong tch phan cuahamf (x) = 1 / (1 + x) tren oan[0, 1] vi phan hoach eu x i = 1 /n va cac iemi la iem cuoi cua cac oan con. Ta co

    un =1

    1 + 1 /n1n

    +1

    1 + 2 /n1n

    +1

    1 + 3 /n1n

    + . . . +1

    1 + 11n

    suy ra

    limn

    un =

    1

    0

    dx1 + x

    = ln(1 + x)|10 = ln(2) .

    Chu thch 2. ay ta gap lenhlimit - lay gii han mot bieu thc. Lenh nay xuathien di nhieu dang thc:

    limit(F,x,a) lay gii han cua bieu thc ky hieuF khi x a .limit(F,a) dungfindsym(F) nh la bien oc lap.limit(F) dunga = 0 nh la iem gii han.limit(F,x,a,right) haylimit(F,x,a,left) lay gii han mot pha.

    Th du:>> syms x a t h

    Khi o:limit(sin(x)/x) tra ve1limit((x-2)/(x 2-4),2) tra ve1/4limit((1+2*t/x) (3*x),x,inf) tra veexp(6*t)limit(1/x,x,0,right) tra veinflimit(1/x,x,0,left) tra ve-inflimit((sin(x+h)-sin(x))/h,h,0) tra vecos(x)v = [(1 + a/x) x, exp(-x)];limit(v,x,inf,left) tra ve[exp(a), 0]

    Th du 4.Khao sat s hoi tu cua day{xn}xac nh bi cong thc truy hoix1 = 2, xn = 2 xn1 (n 2).

    Y tng au tien en vi ta la ap dung nh ly hoi tu cho day n ienhien, dung Matlab tnh 20 so hang au cua day

  • 8/2/2019 Hc matlab bng v d

    19/50

    18 Trnh Anh Ngoc

    >> clear all>> x(1)=sqrt(2);>> for i=2:20, x(i)=sqrt(2-x(i-1)); end>> x

    x =Columns 1 through 151.4142 0.7654 1.1111 0.9428 1.0282 0.9858 1.0071 0.9965 1.0018 0.99911.0004 0.9998 1.0001 0.9999 1.0000Columns 16 through 201.0000 1.0000 1.0000 1.0000 1.0000 1.4142 0.7654 1.1111 0.9428 1.02820.9858 1.0071 0.9965 1.0018

    Ket qua tra ve cho thay day khong n ieu. Nhng "hnh nh" day hoi tu1 (dao ong quanh gia tr 1). ieu nay dan ta en y tng dung nguyen ly anDe thay, vi moin

    0 xn

    2 < 1.5.Ky hieuf (t) = 2 t , ta coxn = f (xn1). Hn na,xn xn1 = f (x)( xn1 xn2) xn2 < x< x n1 hayxn1 < x< x n2.

    Dung Matlab khao sat ham so f (t) tren oan[0, 1.5]>> syms t>> f=sqrt(2-t);>> df=diff(f)df =-1/2/(2-t) (1/2)>> ezplot(df,[0 1.5])

    o th (hnh 6) cho thaymax [0,1.5] |f (t)| < 1, f la anh xa co tren[0, 1.5]. Chngminh chi tiet danh cho ban oc.Th du 5.Giai phng trnh vi phan(x2 +1) dy + ydx = 0 vi ieu kien auy(1) = 1 .

    Ta co the giai ngay phng trnh tren bang cach goi hamdsolve . Muc chva cu phap cua ham nay c the hien neu ta goihelp dsolve t dau nhac Matlab.>> y=dsolve((1+x 2)*Dy+y,y(1)=1,x)y =1/exp(-1/4*pi)*exp(-atan(x))

    ay ta ch dung Matlab tr giup khi tnh toan. ay la phng trnh vi phanbien phan ly, tach bien ta c:

    dyy

    +dx

    x2 + 1.

    >> clear all>> syms x y

  • 8/2/2019 Hc matlab bng v d

    20/50

    Hoc MATLAB bang th du 19

    Hnh 6: o th hamf (t ), th du 4.

    >> tp1=int(1/y,y)tp1 =log(y)>> tp2=int(1/(x 2+1),x)tp2 =atan(x)

    Nghiem tong quat cua phng trnh la

    ln y + arctg x = C.

    e tm nghiem rieng ta dung Matlab tr giup viec xac nh hang so tch phanC .>> syms c>> pt=subs(tp1+tp2+c, {x,y }, {1,1 })pt =1/4*pi+c>> c=solve(pt,c)c =-1/4*pi

    Vay nghiem can tm la

    ln y + arctg x =

    4.

    Chu thch 3.Trong th du ta gap hai lenh mi cua Matlab:int vasolve .INT- tch phan ham so. Cu phap:int(s) la tch phan bat nh cuas oi vi bien ky hieu nh c xac nh

    bifindsym . Neus la hang th tch phan c lay vix.

  • 8/2/2019 Hc matlab bng v d

    21/50

    20 Trnh Anh Ngoc

    int(s,v) la tch phan bat nh cuas lay oi viv. v la bien ky hieu vohng.

    int(s,a,b) la tch phan xac nh cuas oi vi bien ky hieu cua no taenb. a, b la cac so hay bien ky hieu vo hng.

    int(s,v,a,b) la tch phan xac nh cuas oi viv ta enb.SOLVE- giai phng trnh ai so. Cu phap:solve(eqn 1,eqn 2,...,eqn N)solve(eqn 1,eqn 2,...,eqn N,var 1,var 2,...,var N)solve(eqn 1,eqn 2,...,eqn N,var 1,var 2,...var N)Caceqn i la cac bieu thc ky hieu hay chuoi cac phng trnh ch nh. Ca

    var j la cac bien ky hieu hay chuoi ch nh cac bien cha biet. Neu cacvar jkhong c ch nh th cac an c xac nh bifindsym .

    Neu khong co nghiem giai tch c tm thay va so phng trnh bang soth nghiem so c tm.

    e biet cach xuat ket qua cuasolve xem cac th du sau.1)solve(p*sin(x) = r) chon 'x' nh la an, tra veans = asin(r/p) .

    Chu y, thay v vietp*sin(x) = r ta co the vietp*sin(x) - r ; Matlab macnhien hieu ve hai la 0.

    2)[x,y] = solve(x 2 + x*y + y = 3,x 2 - 4*x + 3 = 0) tra vex =[ 1][ 3]y =[ 1][ -3/2 ]

    3)s = solve(x 2*y2 - 2*x - 1 = 0,x 2 - y 2 - 1 = 0) tra venghiem dang cau trucs =x: [8x1 sym]y: [8x1 sym]

    4)[u,v] = solve(a*u 2 + v2 = 0,u - v = 1) xema nh la thamso va giai hai phng trnh tmu,v . So sanh vi th du ben di 5).

    5) s = solve(a*u 2 + v2,u - v = 1,a,u) xemv nh la thamso, giai hai phng trnh, va tra ves.a, s.u .

    Th du 6.Giai phng trnh vi phanxy y = x2 cos x.Phng trnh co the viet lai di dang chuan,

    y yx

    = x cos x.

  • 8/2/2019 Hc matlab bng v d

    22/50

    Hoc MATLAB bang th du 21

    ay la phng trnh vi phan tuyen tnh cap mot. Nghiem tong quat:

    y + p(x)y = q(x).

    Nhac lai, nghiem tong quat cua phng trnh vi phan tuyen tnh cap mot co da

    y = y p + Cy1

    viCy1 la nghiem tong quat cua phng trnh thuan nhat tng ng (y1 la nghiemc s);y p la mot nghiem rieng cua phng trnh xac nh bi:

    y p = G1(x, s )q(s)dstrong o

    G1(x, s ) = y1(x)

    y1(s)

    la ham Green cap mot, vas c thay bangx sau khi lay tch phan.Bay gi ta giai phng trnh. Phng trnh thuan nhat tng ng (phng trnh

    co bien phan ly)

    y yx

    = 0 hay dyy

    =dxx

    .

    Dung Matlab tr giup lay tch phan>> clear all>> syms x>> int(1/x,x)ans =log(x)

    V ln y = ln x nen nghiem c s:y1 = x.Ham Green cap mot:G1(x, s ) = x/s . Dung Matlab tr giup tm nghiem rieng

    >> y1=x;>> syms s>> yp=subs(int(y1/subs(y1,x,s)*s*cos(s),s),s,x)yp =x*sin(x)

    Vay nghiem tong quat cua phng trnh:y = ( C + sin x)x.

    Th du 7.Cho phng trnh vi phan tuyen tnh cap hai thuan nhat

    y + a(x)y + b(x)y = 0 .

  • 8/2/2019 Hc matlab bng v d

    23/50

    22 Trnh Anh Ngoc

    Gia s phng trnh co nghiem c sy1, tm nghiem c s con lai.Nghiem c s th hai c tm di dang:

    y2(x) = u(x)y1(x).

    Dung Matlab e xac nhu(x)>> syms xa vao cac ham tru tng>> a=sym(a(x));>> b=sym(b(x));>> y1=sym(y1(x));>> u=sym(u(x));>> y2=u*y1;Thayy2 vao phng trnh vi phan>> p=simple(diff(y,2)+a*diff(y)+b*y)p =diff(u(x), $(x,2))*y1(x)+2*diff(u(x),x)*diff(y1(x),x)+u(x)* diff(y1(x), $(x,2))+a(x)*(diff(u(x),x)*y1(x)+u(x)*diff(y1(x),x))+b(x)*u(x)*y1(x)Nhom cac so hang co chau>> p=collect(p,u)p =(diff(y1(x), $(x,2))+diff(y1(x),x)*a(x)+b(x)*y1(x))*u(x)+diff(u(x), $(x,2))*y1(x)+2*diff(u(x),x)*diff(y1(x),x)+a(x)*diff(u(x),x)*y1(x)e thay ro ket qua nhom ta dung lenhpretty>> pretty(pp)

    d2

    dx2y1(x) + a(x)

    ddx

    y1(x) + b(x)y1(x) u(x) +d2

    dx2u(x) y1(x)

    +2d

    dxu(x)

    ddx

    y1(x) + a(x)d

    dxu(x) y1(x)

    He so cuau bang khong doy1 la nghiem c s. Matlab khong phat hien c ieunay. Ta phai giup!>> p=subs(p,diff(y1,2)+diff(y1)*a+b*y1,0);>> pretty(p)

    d2

    dx2u(x) y1(x) + 2

    ddx

    u(x)d

    dxy1(x) + a(x)

    ddx

    u(x) y1(x)

  • 8/2/2019 Hc matlab bng v d

    24/50

    Hoc MATLAB bang th du 23

    e ha bac atv = u hayu = vdx . Trc het a vao ham tru tngv>> v=sym(v(x));>> p=subs(p,u,int(v));>> pretty(p)

    ddx

    v(x) y1(x) + 2 v(x)d

    dxy1(x) + a(x)v(x)y1(x)

    Phng trnh nhan c la phng trnh vi phan cap mot co bien phan ly. Tabien. Ta thc hien lien tiep hai lan lenhcollect ; xem chu thch ben di ve lenhcollect va giai thch ly do phai thc hien hai lan.>> p=collect(collect(p/v/y1,v),y1)p =diff(v(x),x)/v(x)+2*diff(y1(x),x)/y1(x)+a(x)Lay tch phan. Ta can tnh tch phan tng so hang cuap. e ch nh so hangtrong mot bieu thc ta goi lenhop cua Maple. Cu phap cua lenh nay trong Maplelaop(i,s) - lay so hang thi trong bieu thcs . e goi mot lenh cua Maple. Neutrong Maple lenh o c viet la

    function(arg1, arg2, ...)th trong Matlab e thc hien lenh o ta viet

    maple(function,arg1,arg2,..,) .>> p=int(maple(op,1,pp))+int(maple(op,2,pp))+ int(maple(op,3,pp))Warning: Explicit integral could not be found.In D: \MATLABR11\toolbox \symbolic \@sym\ int.m at line 58p =log(v(x))+2*log(y1(x))+int(a(x),x)Xac nhv ta lam nh sau>> p1=subs(p,v,m);>> v=solve(p1,m)v =1/exp(int(a(x),x))/y1(x) 2Tai sao ta khong giai trc tiep rav? Vmcha c khai bao bien sym nen ta phaiat no gia hai dau nhay, ch nh chuoi.>> u=int(v)Warning: Explicit integral could not be found.In D:

    \MATLABR11

    \toolbox

    \symbolic

    \@sym

    \int.m at line 58

    u =int(1/exp(int(a(x),x))/y1(x) 2,x)

    Tom lai,

    y2 = y1 dxy21 exp( adx ). (1)

  • 8/2/2019 Hc matlab bng v d

    25/50

    24 Trnh Anh Ngoc

    Chu thch 4.Cu phap cua lenhcollect lacollect(s,v) trong os, v la cacbieu thc ky hieu. Vi lenh nay Matlab tra ve bieu dien mi cuas nh la mot athc theov.

    Lenhpretty , co cu phap:pretty(s) - xuats di dang thc toan hoc, de

    oc hn.Canh bao cua Matlab "Explicit integral could not be found " va chobiet "van e" nay sinh au la hien nhien v cac ham cho trc khong cothc toan hoc cu the.

    Th du 8.Tm nghiem c s cua phng trnh Cauchy - Euler

    x2y + axy + by = f (x),

    trong oa, b la cac hang so.Ta tm nghiem di dangy = xm . Dung Matlab e xac nhm .

    >> clear all>> syms a b x m>> y=x my =x mThayy vao phng trnh vi phan>> p=simple(x 2*diff(y,2)+a*x*diff(y)+b*y)p =x m*(m2-m+a*m+b)Goi lenhcoeff cua Maple e lay he so cuax trong bieu thcp>> p=maple(coeff,p,x m)

    p = m2-m+a*m+bGiai phng trnh xac nhm. Chu y, ay khong can ch nh an (tai sao?)>> m=simple(solve(p)) m =[1/2-1/2*a+1/2*(1-2*a+a 2-4*b) (1/2) ][ 1/2-1/2*a-1/2*(1-2*a+a 2-4*b) (1/2) ]

    Nh vay, noi chung, co hai gia trm

    m12 =1 a

    (1 a)2 4b2

    .

    Cac nghiem c s:

    y1,2 = x1 a (1 a ) 2 4 b

    2 .

  • 8/2/2019 Hc matlab bng v d

    26/50

    Hoc MATLAB bang th du 25

    Th du 9.Bai toan gia tr rieng Sturm-Liouville chnh quy

    Toan t vi phanL, tac ong len cac hamy(x) xac nh trenI = [a, b], nhbi:

    Ly =d

    dx p(x)dydx + q(x)y

    c goi la toan t vi phan Sturm-Liouville tong quat.

    Bai toan tm nghiem khong tam thng cua phng trnh vi phan tuyen tnthuan nhat:L + w (x) = 0 ,

    thoa ieu kien bien thuan nhat dang:1(a) + 2 (a) = 0 , 3(b) + 4 (b) = 0

    c goi la bai toan gia tr rieng Sturm-Liouville chnh quy viw la ham trong lng.Cac ieu kien han che at len he la, tren khoang hu hanI , cac hamp(x),

    q(x) vaw(x) la cac ham thc lien tuc,p(x) vaq(x) la dng tren khoang nay. Cacieu kien bien c cho tach biet theo tng iem.

    Tai mot iem bien, th dua, ieu kien bien chnh quy c phan thanh baloai:

    1) Loai 1 -- ieu kien Dirichlety(a) = 0 .2) Loai 2 -- ieu kien Neumanny (a) = 0 .3) Loai 3 -- ieu kien Robiny (a) + hy(a) = 0 .

    Cac gia trn lam cho bai toan gia tr rieng Sturm-Liouville co nghiem khongtam thng c goi la gia tr rieng, nghiem tng ngn c goi la ham rieng.Ta co cac tnh chat sau:(i) Ton tai vo so cac gia tr rieng co the sap theo th t o ln tangn

    vin = 0 , 1, 2, . . .(ii) Tat ca cac gia tr rieng la thc.(iii) Vi moi gia tr rieng tng ng vi mot ham rieng duy nhat.(iv) Cac ham rieng tng ng vi cac gia tr rieng khac nhau trc giao o

    ham trong lngw trenI . Neu cac ham rieng c chuan hoa th

    b

    an (x)m (x)w(x)dx = mn .

    Ta co the chuan hoa cac ham rieng bang cach chia no cho chuan (o dai) cu

    n = b

    an (x)2w(x)dx.

  • 8/2/2019 Hc matlab bng v d

    27/50

    26 Trnh Anh Ngoc

    Mot trng hp ac biet cua phng trnh Sturm -- Liouville vip(x) = 1 ,q(x) = 0 vaw(x) = 1 la phng trnh Euler

    y + y = 0

    Tm gia tr rieng va ham rieng tng ng cho phng trnh Euler tren khoanI = (0 , 1) vi cac ieu kien bieny (0) = 0 , y(1) = 0 .>> clear all>> syms x c k c1 c2 real

    a) Trng hp = c2 = 0Nghiem ac trng>> solve(k 2-c 2,k);Phng trnh bac hai co hai nghiem. e truy xuat ta vietk(1), k(2).Nghiem c s, nghiem tong quat>> y1=exp(k(1)*x);>> y2=exp(k(2)*x);>> y=c1*y1+c2*y2;Dung ieu kien bien>> eq1=subs(y,x,1);>> eq2=subs(diff(y),x,0);Ta xac nhc e he gomeq1 vaeq2 co nghiem khong tam thng, ngha la tmce nh thc c s cua he bang khong>> delta=det([maple(coeff,eq1,c1) maple(coeff, eq1, c2);

    maple(coeff, eq2, c1) maple(coeff, eq2, c2)])delta =-exp(c)*c-exp(-c)*c>> delta=simplify(delta)delta =-c*(1+exp(-2*c))*exp(c)luon khac khong ( = 0 ), bai toan ch co nghiem tam thng.

    b) Trng hp = 0>> clear all>> syms x c k c1 c2 real>> k=solve(k 2)k =[ 0][ 0]phng trnh ac trng co nghiem kep

    k = 0.

    >> y1=exp(k(1)*x); y2=x*y1; y=c1*y1+c2*y2;>> eq1=subs(y,x,1); eq2=subs(diff(y),x,0);>> delta=det([maple(coeff,eq1,c1) maple(coeff, eq1, c2);

    maple(coeff, eq2, c1) maple(coeff, eq2, c2)])delta =1

  • 8/2/2019 Hc matlab bng v d

    28/50

    Hoc MATLAB bang th du 27

    bai toan ch co nghiem tam thng.c) Trng hp = c2

    >> clear all>> syms x c k c1 c2 n real

    >> k=solve(k 2+c2,k)k =[ i*c ][ -i*c ]Trng hp nghiem ac trng phc>> y1=cos(c*x); y2=sin(c*x); y=c1*y1+c2*y2;>> eq1=subs(y,x,1); eq2=subs(diff(y),x,0);>> delta=det([maple(coeff, eq1, c1), maple(coeff, eq1, c2);

    maple(coeff, eq2, c1), maple(coeff, eq2, c2)])delta =cos(c)*c>> solve(ans,c)ans=[ 1/2*pi ][ 0]Chu y, oi vi phng trnhcos(c)*c (=0) ch cho nghiemacos(0) . Loai nghiemc=0 .>> cn=pi/2+n*pi;>> eq1=subs(eq1,c,cn)eq1 =-c1*sin(n*pi)+c2*cos(n*pi)Matlab khong phan biet cn la so nguyen nen khong anh gia csin(n*pi)vacos(n*pi) ta phai giup!>> eq1=subs(eq1,sin(n*pi),0); eq1=subs(eq1, cos (n*pi), (-1) n)eq1=c2*(-1) n>> eq2=subs(eq2,c,cn(1))eq2 =c2*(1/2*pi+n*pi)Nh vayc2=0 conc1 tuy y. Ta chonc1=1>> phi n=subs(y, { c,c1,c2 }, {cn,1,0 })phi n=cos((1/2*pi+n*pi)*x)

  • 8/2/2019 Hc matlab bng v d

    29/50

    28 Trnh Anh Ngoc

    Cac gia tr rieng va cac ham rieng tng ng:

    n =(2n + 1) 2 2

    4,

    n = cos(2n + 1) x

    2,

    n = 0 , 1, 2, . . .Chuan hoa cac ham rieng>> phi n=cos((pi/2+n*pi)*x);>> norm=sqrt(int(phi n*phi n,0,1));>> norm=simple(subs(norm,sin(n*pi),0));>> phi n=phi n/normphi n=cos((1/2*pi+n*pi)*x)*2 (1/2)Vay cac ham rieng chuan hoa:

    n = 2cos (2n + 1) x2 n = 0 , 1, 2, . . .

    Th du 10.Phng trnh song 1-chieu - Phng phap tach bienXet phng trnh ao ham rieng, mo ta phan bo songu(x, t ) cho dao ong doc

    trong thanh,

    u tt = c2uxx u t 0 < x < 1; t > 0.ieu kien bien:

    u(0, t ) = 0 ,ux (1, t ) + u(1, t ) = 0 .

    ieu kien au:

    u(x, 0) = f (x),u t (x, 0) = g(x).

    Ta tm nghiem di dang tach bien,

    u(x, t ) = X (x)T (t).

    Thay vao phng trnh ao ham rieng, roi chia hai ve phng trnh choc2XT tac

    T + T c2T

    =XX

    .

  • 8/2/2019 Hc matlab bng v d

    30/50

    Hoc MATLAB bang th du 29

    V ve trai la ham ch cuat con ve phai la ham ch cuax nen ch co the xay ra neuton tai hang so e cho

    T + T + c2T = 0 va X + X = 0 .

    Phng trnh vi phan au tien la phng trnh vi phan tuyen tnh thuan nhat caphai he so hang. Tng t, phng trnh vi phan th hai cung la phng trnh vi phatuyen tnh thuan nhat cap hai. Ta de dang nhan ra chung thuoc loai Sturm-Liouvi

    Vi ieu kien bien a cho bai toan Sturm-Liouville theo bien khong gian phng trnh Euler

    X + X = 0

    vi cac ieu kien bien

    X (0) = 0 ,

    X (1) + X (1) = 0 .

    e tranh lap lai lap luan a lam trong th du trc, ta ch xet trng = c2 > 0. Khi o nghiem c s cua phng trnh Euler:X 1 = sin( cx),X 2 = cos( cx).>> clear all>> syms x c c1 c2 real>> X=c1*sin(c*x)+c2*cos(c*x);>> eq1=subs(diff(X,x),x,0)eq1 =c2>> eq2=subs(diff(X,x)+X,x,1)eq2 =c1*cos(c)*c-c2*sin(c)*c+c1*sin(c)+c2*cos(c)>> delta=det([maple(coeff,eq1,c1) maple(coeff,eq1,c2);

    maple(coeff,eq2,c1) maple(coeff,eq2,c2)])delta=-cos(c)*c-sin(c)Nh vay cac gia tr riengn la nghiem cua phng trnh

    tan( n ) = n ()va cac ham rieng tng ng la (doc2=0 )X n (x) = sin( n x).

    Chuan hoa ham rieng:>> syms lambda n>> X n=sin(sqrt(lambda n)*x);

  • 8/2/2019 Hc matlab bng v d

    31/50

    30 Trnh Anh Ngoc

    >> norm2 n=int(X n 2,x,0,1)norm2 n=1/2*(-cos(lambda n (1/2))*sin(lambda n (1/2))+lambda n (1/2))

    /lambda n (1/2)

    Ket qua tnh bang Matlab cho

    norm2 n= cos(n ) sin(n ) + nn .

    e y rang,sin(n ) = n cos(n ) (do (*)), nen ta co the thu gon bieu thc cuanorm2 n va chuan hoa cacX n nh sau>> norm2 n=simplify(subs(ans,sin(sqrt(lambda n)),-sqrt(lambda n)

    *cos(sqrt(lambda n))))

    norm2 n=1/2*cos(lambda n (1/2)) 2+1/2>> X n=X n/sqrt(norm2 n)X n=2*sin(lambda n (1/2)*x)/(2*cos(lambda n (1/2)) 2+2) (1/2)

    X n (x) =2sin(n x)

    cos2(n ) + 1vin = 1 , 2, . . .

    Nghiem tong quat tng ng cua phng trnh vi phan theo bien thi gian laT n (t) = et/ 2(An cos(n t) + Bn sin( n t)) n = 1 , 2, . . . ,

    trong o

    n =12 4 n c2 2.

    Ban hay t tm ket qua nay bang Matlab.Nghiem tong quat cua phng trnh, bang phep chong chap nghiem

    u(x, t ) =

    n =1X n T n =

    n=1

    et/ 2(An cos(n t) + Bn sin( n t))2 sin(n x)

    cos2(n ) + 1.

    trong o cac hang so An , Bn c xac nh nh ieu kien au cua bai toan.

  • 8/2/2019 Hc matlab bng v d

    32/50

    Hoc MATLAB bang th du 31

    Bay gi ta xet cach a ieu kien au vao nghiem tong quat. Thay ieuth nhat vao nghiem tong quat, tai thi iemx = 0 ,

    f (x) =

    n=1 An X n (x). ()

    e dung ieu kien th hai ta lay ao ham nghiem tong quat theot

    u t (x, t ) =

    n=1X n et/ 2

    An 2

    + Bn n cos(n t) An n +Bn

    2sin( n t) .

    Tai thi iemt = 0 ,

    g(x) = n =1

    X n Bn n An 2

    . ()

    Nhac lai rang cac ham rieng cua bai toann Sturm-Liouville chnh quy lap thanhtap ay u oi vi cac ham trn tng khuc tren khoang hu hanI . Vay, ca haiphng trnh tren la khai trien Fourier tong quat cua hai hamf (x) vag(x) theo cacham rieng cua he. Cac he so An vaBn co mat trong cac he so cua hai khai triennay. Bay gi ta tnh cac he so An vaBn .

    Lay tch trong hai ve cac phng trnh (**), (***) vi cac ham rieng. Do tntrc chuan cua cac ham rieng, ta co:

    An = b

    af (x)X n (x)dx,

    Bn n An

    2=

    b

    ag(x)X n (x)dxBn =

    1n

    b

    a

    f (x)2

    + g(x) X n (x)dx.

    Vay, ta co the viet nghiem hnh thc cua bai toan gia tr au cho phng tsong:

    u(x, t ) =

    n=1X n (x)et/ 2

    b

    af (x)X n (x)dx cos(n t)

    +1

    n b

    a

    f (x)2

    + g(x) X n (x)dx sin( n t) .

  • 8/2/2019 Hc matlab bng v d

    33/50

    32 Trnh Anh Ngoc

    Tat ca cac phep toan c thc hien tren da tren gia thiet cac chuoi (hoi tu eu va s thay oi th t lay tong va thc hien phep toan la co hiethe chng to rang neuf (x) vag(x) thoa cac ieu kien bien nh cac ham rieng, thca hai chuoi hoi tu eu.

    e cu the, ta tnh cac he so An vaBn cho trng hpc = 1 / 4, = 1 / 5, vacac ham trong ieu kien au:

    f (x) = x 2x2

    3, g(x) = x.

    Trc het ta thiet lap cong thc tnhA n, B n>> clear all>> syms n lambda n x real>> c=1/4; gamma=1/5;>> f=x-2*x 2/3; g=x;>> omega n=sqrt(4*lambda n*c 2-gamma2)/2;omega n=1/20*(25*lambda n-4) (1/2)>> A n=int(f*sqrt(2)*sin(sqrt(lambda n)*x)/sqrt(cos(sqrt(lambda n)) 2+1),x,0,1)A n=-1/3*2 (1/2)*(sin(lambda n (1/2))*lambda n (3/2)+4*cos(lambda n (1/2))*lambda n+cos(lambda n (1/2))*lambda n 2-4*lambda n)/lambda n (5/2)/(cos(lambda n (1/2)) 2+1) (1/2)>> A n=simplify(subs(A n,sin(sqrt(lambda n)),-sqrt(lambda n)*cos(sqrt(lambda n))))A n=-4/3*2 (1/2)*(cos(lambda n (1/2))-1)/lambda n (3/2)/(cos(lambda n (1/2)) 2+1) (1/2)>> B n=int(g*sqrt(2)*sin(sqrt(lambda n)*x)/sqrt(cos(sqrt(lambda n)) 2+1),x,0,1)/omega n;>> B n=simplify(subs(B n,sin(sqrt(lambda n)),-sqrt(lambda n)*cos(sqrt(lambda n))))B n=-40*2 (1/2)*cos(lambda n (1/2))/lambda n (1/2)/(cos(lambda n (1/2)) 2+1) (1/2)/(25*lambda n-4) (1/2)

  • 8/2/2019 Hc matlab bng v d

    34/50

    Hoc MATLAB bang th du 33

    e tien theo doi ta viet lai cac cong thc va tm:

    n =25n 4

    20,

    An = 42(cos( n ) 1)33/ 2n cos2(n ) + 1

    ,

    Bn = 82(15 cos(n )n + cos( n ) 1)325 n 4

    3/ 2n cos2(n ) + 1

    .

    vin = 1 , 2, . . .e hoan tat ta can tm cac gia tr rieng n la nghiem cua phng trnh (*).

    Phng trnh nay ch co the giai xap x. e cu the ta giai tm ba gia tr rietien. Trc het ta ve o th hamy = tan( v) va hamy = v e xac nh tho nghiemcua phng trnh>> syms v real>> hold on( lenhhold on nham muc ch gi lai o th a co khi ve o th mi)>> ezplot(tan(v),[0 20])>> ezplot(-v,[0 20])

    T o th (hnh 7), cac gia tr ban au cua nghiem xap x nen chon la2, 5, 8.>> lambda 1=fsolve(inline(tan(v)+v),2) 2Optimization terminated: first-order optimality is less than op-

    tions.TolFun.lambda 1 =4.1159>> lambda 2=fsolve(inline(tan(v)+v),5) 2Optimization terminated: first-order optimality is less than op-tions.TolFun.lambda 2 =24.1393>> lambda 3=fsolve(inline(tan(v)+v),2) 3Optimization terminated: first-order optimality is less than op-tions.TolFun.

    lambda 3 =63.6591

    Phan con lai, thay cac gia tr va tm vao chuoi chat cut gi ba so hanvi ba gia tr n va tm) c danh lai cho ban oc.Chu thch 5.Lenhfsolve giai cac phng trnh phi tuyen dangF(X)=0 bangphng phap bnh phng toi thieu. Cu phap n gian nhat:x=fsolve(fun,x0)

  • 8/2/2019 Hc matlab bng v d

    35/50

    34 Trnh Anh Ngoc

    Hnh 7: o th hamy = tan( v) vay = v.

    bat au taix0 va giai cac phng trnh mo ta trongfun . Ta co the ch nh fun

    la mot oi tng ham inline, th du,x = fsolve(inline(sin(x.*x)),x0) . ay lenhinline(bieuthuc) tao mot oi tng ham inline t mot bieu thc chatrong chuoibieuthuc . fun cung co the la mot chuoi cha ten mot ham (mot M-fihay mot ham nh san) cho phep tnh gia tr cua cac phng trnh vi moi gia the cuax, F=fun(x) .

    5 Viet chng trnh bang MatlabChng trnh viet bang ngon ng Matlab gan giong cac ngon ng cap cao quen thnh Pascal, C. Di ay ta se hoc cach viet chng trnh thong qua cac th du cu Nhng trc het ta can biet cac cau truc thng dung trong ngon ng Matlab.

    5.1 Cac cau truc trong ngon ng MatlabIF- thc hien cac lenh co ieu kienDang chung cua lenhif la

  • 8/2/2019 Hc matlab bng v d

    36/50

    Hoc MATLAB bang th du 35

    if bieu thccac lenh

    elseif bieu thccac lenh

    else cac lenhend

    Cac lenh c thc hien neu phan thc cua bieu thc khac khong. Cac phaelsevaelseif la tuy chon. 'bieu thc' trong lenhif thng co dang:

    bieu thc 1R bieu thc 2trong o

    Rla==, , =, hay

    =.FOR- lap lai cac lenh mot so lan c ch nhDang chung cua lenhfor la

    for bien= gia tr au : bc gia tang : gia tr cuoicac lenh

    end

    'bien' lay gia tr 'gia tr au', sau moi lan thc hien cac lenh c tang thelng 'bc gia tang', neu 'bien' van con "nho hn" th cac lenh van c thc

    WHILE- lap lai cac mot so lan khong xac nhDang chung cua lenhwhile la

    while bieu thccac lenh

    end

    Cac lenh c thc hien khi phan thc cua 'bieu thc' khac khong. 'bieu thclenhwhile thng co dang:

    bieu thc 1R bieu thc 2trong oRla==, , =, hay=. Lenhbreak co the c dung e dng vonglap.

    SWITCH- chuyen oi gia nhieu trng hp tren c s bieu thcDang chung cua lenh switch la

  • 8/2/2019 Hc matlab bng v d

    37/50

    36 Trnh Anh Ngoc

    switch bieu thccase trng hp 1,cac lenh

    case trng hp 2cac lenh...otherwisecac lenh

    end

    Cac lenh theo saucase th i c thc hien khi 'bieu thc' co gia tr 'trng hp i'Ngoai cac trng hp c liet ke th cac lenh theo sauotherwise c thc hien.

    5.2 Mot so chng trnh th duMuc nay cha ng mot so chng trnh n gian viet bang ngon ng Matlab. th du bat au bang c s thuat toan va cuoi cung la chng trnh tnh. Ban ooc ky phan thuat toan e hieu muc ch va noi dung cua chng trnh. Hay th va tm cach sa oi no neu c.Th du 11.Giai phng trnh ai so tuyen tnhAX = B - Phep kh Gauss

    Nhac lai, he phng trnh ai so tuyen tnh co dang

    a11 x1 + a12x2 + . . . + a1n xn = b1a21x1 + a22x2 + . . . + a2n xn = b2

    ... ... ... ...an1x1 + an2x2 + . . . + ann xn = bn ,

    trong o ve phaibi , i = 1 , . . . , n , va cac he so a ij , i, j = 1 , . . . , n la cac d lieu chotrc;x1 , . . . , x n la an.

    Y tng ang sau phng phap kh Gauss la dung cac phep bien oi s kh cac an cua he. He phng trnh tng ng, sau khi bien oi, co dang tamtren, c giai bang phep the ngc.

    Neua11 = 0 , th bc au tien ta khx1 khoi(n 1) phng trnh cuoibang cach tr phng trnh thi vi nhan tm i1 = a i1/a 11 , i = 2 , . . . , n

    lan phng trnh au. ieu nay sinh ra mot he rut gon gom(n 1) phng trnhvi cac anx2, . . . , x n , trong o cac he so mi c cho bi

    a (2)ij = a ij m i1a1 j , b(2)i = bi m i1b1, i = 2 , . . . , n .

  • 8/2/2019 Hc matlab bng v d

    38/50

    Hoc MATLAB bang th du 37

    Neua (2)22 = 0 , tiep theo bang cach tng t ta khx2 t(n 2) phng trnh cuoicua he phng trnh nay. Sauk 1 bc,k n, cua phep kh Gauss ma tranA trthanh ma tran co dang

    A(k) =

    a (1)11 a (1)12 . . . a (1)1k . . . a (1)1n0 a (2)22 . . . a

    (2)2k . . . a

    (2)2n... ... ... ...

    0 0 . . . a (k)kk . . . a(k)kn... ... ... ...

    0 0 . . . a (k)nk . . . a(k)nn

    , b(k) =

    b(1)1b(2)2...b(k)k...b(k)n

    ,

    trong o ta a atA(1) = A, b(1) = b. Cac phan t cheoa (1)11 , a (2)22 ,. . . , xuat hien trong

    qua trnh kh c goi la cac phan t tru.Ky hieuAk la ma tran con chnh cuaA,

    Ak =

    a11 a12 . . . a 1ka21 a22 . . . a 2k... ... ...

    ak1 ak2 . . . a kk

    .

    V nh thc cua ma tran khong thay oi di phep bien oi s cap th ba ne

    det( Ak ) = a (1)11 a (2)22 a(k)kk , k = 1 , . . . , n .

    Cac phan t trua (i)ii , i = 1 , . . . , n , trong phep kh Gauss la khac khong neu va chneudet( Ak) = 0 , k = 1 , . . . , n . Trong trng hp nay ta co the kh cho en sau bcth(n 1), con lai mot phng trnh duy nhat

    a (n )nn xn = b(n )n (a

    (n )nn = 0) .

    Cac an cua phng trnh co the tnh bang cong thc truy hoi

    xn = b(n )n /a(n )nn , xi = b

    ( i)i

    n

    k= i+1

    a ( i)ik xk /a(i)ii , i = n 1, . . . , 1.

    Qua trnh nay goi la the ngc.

  • 8/2/2019 Hc matlab bng v d

    39/50

    38 Trnh Anh Ngoc

    Gia s bc thk cua phep kh Gauss ta co

    a (k)kk = 0 .

    NeuA khong suy bien, thk cot au cua ma tranAla oc lap tuyen tnh. ieu naycung ung vi ma tran a bien oi. Ngha la ton taia pk = 0 (k < p n). Bang cachhoan v dongk va dongp th phan t nay co the lay lam phan t tru va phep khc tiep tuc. Tom lai,ma tran khong suy bien bat ky co the dan ve dang tam giactren bang phep kh Gauss neu phep hoan v dong c dung neu can.

    Neu rank(A) < n th co the xay ra bc thk 1 nao o

    a (k)ik = 0 , i = k , . . . , n .

    Neu toan bo cac phan ta (k)ij = 0 , i, j = k , . . . , n th rank(A) = k 1 va ta dng lai.Ngc lai, neu co phan t khac khong, chang hana (k) pq ,

    ta co the mang no en v tr tru bang cach hoan v dongk vip, cotk viq (khi cotcua ma tranAb hoan v th ta cung phai hoan v cac phan t tng ng trong vecx. Tien hanh theo cach nay moi ma tranAeu co the a ve dang hnh thang

    A(r ) =

    a (1)11 . . . a(1)1r a

    (1)1,r +1 . . . a

    (1)1n

    0 ... ... ... ...... a (r )rr a (r )r,r +1 . . . a

    (r )rn

    0 . . . 0 0 . . . 0... ... ... ...0 . . . 0 0 . . . 0

    , b(r ) =

    b(1)1

    ...b(r )rb(r )r +1...b(r )n

    ,

    bcr = rank(A).Cac phan t tru nho co the dan en ket qua khong chnh xac. Co mot

    tranh phan t tru nho c goi la phep xoay cuc bo. Theo cach nay, khi khxk , tachon he so ln nhat (ve gia tr tuyet oi) cuaxk trongn k +1 phng trnh cuoi nh la phan t tru. Ngha la, neu|a

    (k)lk | la ln nhat cua cac|a

    (k) jk | vij = k, k + 1 , . . . , n

    ta hoan v dongk val. Bang cach anh so lai ta co the gia s rang phan t trua (k)kkco o ln ln nhat.

  • 8/2/2019 Hc matlab bng v d

    40/50

    Hoc MATLAB bang th du 39

    Ap dung giai he phng trnh

    x1 + x2 + x3 = 13x1 + x2

    3x3 = 5

    x1 2x2 5x3 = 10

    e lu gi ma tran cac he so a va ve phaib, trong chng trnh ta a vao ma trancac he so ni rongad . Lenh[v,index]=max(ad(k:n,k)) tra ve hai gia tr:v laphan t ln nhat cua vectad(k:n,k) conindex la v tr cua phan t o.

    % chuong trinh 1 - giai he phuong dsttclear alla=[1 1 1; 3 1 -3; 1 -2 -5];

    b=[1;5;10];n=size(a,1);% ma tran noi rongad=a;ad(:,n+1)=b;for k=1:n-1

    % tim phan tu tru[v,index]=max(ad(k:n,k));if v==0

    disp(he phuong trinh suy bien)return

    end% dong chua phan tu truindex=index+k-1;% hoan vi dong k va dong indextam=ad(index,:);ad(index,:)=ad(k,:);ad(k,:)=tam;% dung dong k khu cac dong duoifor i=k+1:n

    for j=k:n+1ad(i,k:n+1)=ad(i,k:n+1)-(ad(i,k)/ad(k,k))*ad(k,k:n+1);

    endendend% phep the nguocif ad(n,n)==0

    disp(he phuong trinh suy bien)return

  • 8/2/2019 Hc matlab bng v d

    41/50

    40 Trnh Anh Ngoc

    endx(n)=ad(n,n+1)/ad(n,n);for i=n-1:-1:1

    x(i)=ad(i,n+1);

    for j=i+1:nx(i)=x(i)-ad(i,j)*x(j);endx(i)=x(i)/ad(i,i);

    enddisp(nghiem cua he:)x

    Ket qua tnh toan

    nghiem cua he:x =6.0000 -7.0000 2.0000

    Th du 12.Giai phng trnhf (x) = 0 - Thuat toan chia oi khoang

    Hnh 8: o th ham so f (x ) = x 3 3x 2 + x + 1 .

    Neu ham lien tucf (x) co dau oi nhau tai cac iemx = B vax = C , th noco t nhat mot khong iem trong khoang giaB vaC . Phng phap chia oi (haytm kiem nh phan) c at tren s kien nay. Neuf (B )f (C ) < 0, hamf (x) canh gia tai iem giaM = ( B + C )/ 2 cua khoang. Neuf (M ) = 0 , mot khongiem c tm thay. Neu khac,f (B)f (M ) < 0 hoacf (M )f (C ) < 0. Trong trnghp au co t nhat mot khong iem giaM vaB , va trong trng hp th hai cot nhat mot nghiem giaC vaM . Theo cach nay mot khoang cha nghiem ctm thay ma co chieu dai bang na chieu dai khoang ban au. Thu tuc ccho en khi nh v c nghiem vi o chnh xac mong muon.

  • 8/2/2019 Hc matlab bng v d

    42/50

    Hoc MATLAB bang th du 41

    Ap dung giai phng trnhx3 3x2 + x + 1 = 0 (phng trnh nay co nghiemchnh xac:1, 1 2). e co cai nhn s bo ve phng trnh cho ta dung Matlab veo th cua hamf (x) = x3 3x2 + x + 1 . T o th (hnh 8) ta thay phng trnh coba nghiem n, lan lt nam trong cac khoang[0.5, 0], [0.5, 1.5], [2, 3]. Nh mot thdu ap dung ta viet chng trnh tm nghiem xap x cua phng trnh trong khoan[0.5, 0].

    % chuong trinh 2 - giai phuong trinh bang phuong phap chia% doi khoang% chuong trinh goi function f1clear allb=-0.5;c=0;epsilon=10^(-4);

    m=b; % m duoc khoi tao bang bwhile (abs(c-b)>=epsilon)&(f1(m)~=0) m=(b+c)/2;if f1(b)*f1(m)

  • 8/2/2019 Hc matlab bng v d

    43/50

    42 Trnh Anh Ngoc

    L(x) = 0 . Phng phap Newton layy = L(x) la tiep tuyen vi ng congy = f (x)tai iem xap x trc ox i va lay iem xap x ke tiepx i+1 la nghiem cua phngtrnh L(x) = 0 , theo cong thc taylor, ta cof (x) f (x i ) + f (x i )(x x i ) = 0 , suy ra

    x i+1 = x i f (x i )f (x i )

    .

    Thuat toan day cung nhan c t thuat toan Newton bang cach xap xf (x i ) bang

    Hnh 9: Thuat toan Newton.

    t sai phan

    f (x i) f (x i) f (x i1)

    x i x i1.

    T ay ta suy ra cong thc lap cua thuat toan day cung

    x i+1 = x i f (x i)x i x i1

    f (x i ) f (x i1).

    Ap dung giai phng trnhx2 2 = 0 (phng trnh co nghiem chnh xac la2). Ta ap dung thuat toan Newton vi iem xap x ban au lay bang 2. kien dng thuat toan la|x i+1 x i | < va e tranh trng hp xau - chng trnhthc hien qua lau ta dung vong lapfor ch nh so lan lap toi a.

    % chuong trinh 3 - giai phuong trinh bang phuong phap Newton% chuong trinh goi function f2 va df2clear allxc=2; % diem xap xi ban dauepsilon=10^(-4);

  • 8/2/2019 Hc matlab bng v d

    44/50

    Hoc MATLAB bang th du 43

    Hnh 10: Thuat toan day cung.

    nmax=100; % so lan lap toi dafor i=1:nmax

    xm=xc-f2(xc)/df2(xc);if abs(xm-xc)

  • 8/2/2019 Hc matlab bng v d

    45/50

    44 Trnh Anh Ngoc

    1.4142

    Ap dung thuat toan day cung chng trnh viet cho thuat toan Newton bien oi mot chut

    % chuong trinh 4 - giai phuong trinh bang phuong phap day cung% chuong trinh goi function f2clear allx1=2;xc=3; % hai diem xap xi ban dauepsilon=10^(-4);nmax=100; % so lan lap toi dafor i=1:nmax

    xm=xc-f2(xc)*(xc-x1)/(f2(xc)-f2(x1));if abs(xm-xc)

  • 8/2/2019 Hc matlab bng v d

    46/50

    Hoc MATLAB bang th du 45

    vectx = ( x(t), y(t), z(t)) thoa phng trnh vi phan

    dxdt

    = v (x , t ) ()

    va ieu kien aux (0) = x 0.Mot thuat toan n gian giai bai toan nay la xet s thay oi v tr cu

    trong khoang thi gian t, va thay phng trnh vi phan (??) bang cac phng trnhai so

    x(t + t) x(t) t

    = vx (x,y,z , t ),

    y(t + t)

    y(t)

    t = vy(x ,y,z , t ),

    z(t + t) z(t) t

    = vz (x ,y,z , t ).

    e nhan c cac phng trnh nay ta a thay ao ham theo thi gian ben ve phng trnh (*) bang sai phan tien cuax tait.

    Giai cac phng trnh tren, ta c

    x(t + t) = x(t) + tvx (x,y,z , t ),

    y(t + t) = y(t) + tvy(x,y,z , t ),z(t + t) = z(t) + tvz (x,y,z , t ).

    Ve mat vat ly, cac phng trnh tren phat bieu rang v tr cua mot hat tai tht + t bang v tr tai thi iem trct cong them mot dch chuyen be trong khoangthi gian t. Trong khoang thi gian nay hat xem nh co van toc khong oi banvan toc cua hat tai thi iemt.

    Thuat toan

    1. Ch nh thi iem au (t = 0 ).

    2. Chon bc li thi gian.

    3. Ch nh toa o aux(0) , y(0) , z(0) .

    4. Tnh cac van tocvx (x,y,z , t ), vy(x,y,z , t ) vavz (x,y,z , t ).

    5. Tnh ve phai cua (??), roi toa o cua hat tai thi iemt + t.

  • 8/2/2019 Hc matlab bng v d

    47/50

    46 Trnh Anh Ngoc

    6. Dng hoac tr ve tnh t bc 4 en bc 6.

    Ap dung thuat toan, xac nh quy ao cua hat ban au v tr(1, 1, 1) co van toc:

    v=

    xi + y j+ cos tk.

    (Nghiem giai tch trong trng hpk = a = = 1 : x = et , y = et , z = sin t + 1) ).% Chuong trinh 5 - xac dinh quy dao cua diem bang phuong phap% Eulerclear alltmax=2; % thoi gian khao satN = 100; % so nut thoi giandt=tmax/(N-1);t=0:dt:tmax; % cac nut thoi gian% vi tri ban dau cua diemx(1) = 1;y(1) = 1;z(1) = 1;for i = 2:N

    x(i) = x(i-1) + dt*f(x(i-1),y(i-1),z(i-1),t(i-1));y(i) = y(i-1) + dt*g(x(i-1),y(i-1),z(i-1),t(i-1));z(i) = z(i-1) + dt*h(x(i-1),y(i-1),z(i-1),t(i-1));

    end% ve quy daoplot3(x,y,z)

    Chng trnh goi cac hamf.m, g.m, h.m

    function v=f(x,y,z,t)v=-x;function v=g(x,y,z,t)v=y;function v=h(x,y,z,t)v=cos(t);

    Ban oc nen so sanh nghiem xap x thu c t chng trnh nay vi nghichnh xac cua bai toan.

    Nh a biet, phng trnh vi phan cap hai tng ng vi he hai phngtrnh vi phan cap mot. Ban hay t a ra thuat toan giai so phng trnh vi phcap hai da tren thuat toan a ra ay.

    KET LUAN

    Tai lieu "Hoc Matlab bang th du" c trnh bay theo quan iem thc dung,ch hoc nhng g can thiet va hoc chung tai ni chung xuat hien. ieu nay

  • 8/2/2019 Hc matlab bng v d

    48/50

    Hoc MATLAB bang th du 47

    Hnh 11: Quy ao cua hat(1, 1, 1) , th du 14.

    tien nham at muc ch hoc nhanh ve Matlab, ngoai ra, cach hoc nay con coiem la ngi hoc de nh va biet ap dung ngay kien thc ang hoc. Tuy nhiecha phai la tat ca. Noi dung cua Matlab rat phong phu, kha nang tnh toanMatlab rat a dang. Van con rat, rat nhieu nhng ieu can biet ve Matlab, vala cho en cuoi tai lieu nay chung ta van cha ban en nhng han che cua Ban oc trong nhng ng dung cua mnh se nhan thay nhng gii han o, se

    can phai biet them nhng g ve Matlab - nhng noi dung cha c ban en Khi viet tai lieu nay chung toi ap u mot hy vong - vi tai lieu nay ban othay hng thu hoc va ap dung Matlab trong cong viec hoc tap va nghien cmnh.

    Nh moi th thuoc ve con ngi, tai lieu nay at ham cha nhng ieu schung toi rat mong nhan c nhng ong gop giup hieu chnh nhng sai sotai lieu. Xin gi nhng y kien nhan xet, nhng ong gop giup hoan thienen cho chung toi theo a ch email: [email protected]. Xin chan thanh camn.

    Trnh Anh Ngoc

  • 8/2/2019 Hc matlab bng v d

    49/50

    48 Trnh Anh Ngoc

  • 8/2/2019 Hc matlab bng v d

    50/50

    Muc luc

    1 Vai tro cua may tnh trong nghien cu va ng dung toan hoc . . . . . 2 Matlab - phan mem toan hoc . . . . . . . . . . . . . . . . . . . . . . . . . 13 Lt qua Matlab - cai nhn au . . . . . . . . . . . . . . . . . . . . . . . . 24 Gii thieu ve Symbolic Math Toolbox . . . . . . . . . . . . . . . . . . . . 7

    4.1 oi tng ky hieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.2 Cac phep tnh ky hieu thng dung . . . . . . . . . . . . . . . . . 84.3 Mot so cach dung khac cua hamsym . . . . . . . . . . . . . . . . 104.4 Bien ky hieu mac nhien . . . . . . . . . . . . . . . . . . . . . . . . 134.5 Cac th du tnh toan ky hieu . . . . . . . . . . . . . . . . . . . . . 14

    5 Viet chng trnh bang Matlab . . . . . . . . . . . . . . . . . . . . . . . . 345.1 Cac cau truc trong ngon ng Matlab . . . . . . . . . . . . . . . . 345.2 Mot so chng trnh th du . . . . . . . . . . . . . . . . . . . . . . 36

    49