Ph lc-Lnh v hm 248 Phan Thanh Tao - 2004 Giaới hóỷ phổồng trỗnh õaỷi sọỳ symbolic Phổồng trỗnh mọỹt bióỳn: SOLVE(S), S laỡ phổồng trỗnh symbolic hoỷc laỡ mọỹt bióứu thổùc symbolic thỗ giaới phổồng trỗnh õaợ cho, hoỷc phổồng trỗnh S = 0, bióỳn tổỷ do cuớa noù õổồỹc xaùc õởnh bồới SYMVAR SOLVE(S,'v') giaới theo bióỳn 'v' Hóỷ phổồng trỗnh nhióửu bióỳn SOLVE(S1,S2, ,SN) giaới hóỷ N phổồng trỗnh symbolic N bióỳn xaùc õởnh bồới SYMVAR SOLVE(S1,S2, ,SN,'v1,v2, ,vn') giaới hóỷ N phổồng trỗnh symbolic N bióỳn chố õởnh bồới N õọỳi sọỳ nhỏỷp cuọỳi cuỡng [X1,X2, ,XN] = SOLVE(S1,S2, ,SN), vaỡ [X1,X2, ,XN] = SOLVE(S1,S2, ,SN,'v1,v2, ,vn') traớ vóử N vectồ symbolic chổùa caùc bióứu thổùc theo caùc bióỳn rióng bióỷt trong lồỡi giaới. Trong tỏỳt caớ caùc trổồỡng hồỹp thỗ traớ vóử giaù trở sọỳ nóỳu khọng tỗm thỏỳy lồỡi giaới symbolic Vờ duỷ: solve('log(x) = x/pi') x = solve('a*x^2 + b*x + c') b = solve('a*x^2 + b*x + c', 'b') [x,y] = solve('x^2 + 2*x*y + y^2 = 4', 'x^3 + 4*y^3 = 1') [u,v] = solve('a*u^2 + v^2', 'u - v = 1', 'u,v') [a,u,v] = solve('a*u^2 + v^2', 'u - v = 1', 'a^2 - 5*a + 6') SUBS Thay thóỳ kyù hióỷu trong mọỹt bióứu thổùc hoỷc ma trỏỷn symbolic SUBS(S,NEW) Thay bióỳn symbolic trong S bồới NEW SUBS(S,NEW,OLD) Thay tỏỳt caớ OLD trong S bồới NEW Vờ duỷ: subs sin(x) pi/3 = 'sin(1/3*pi)' subs sin(z) x+i*y = 'sin(x+i*y)' f = 'F(a*r^2)' r = 'sqrt(x^2+y^2)' subs(f,r,'r') = 'F(a*(x^2+y^2))' Phụ lục-Lệnh và hàm 249 Phan Thanh Tao - 2004 SVDVPA Tạch giạ trë biãún k dë SINGVALS cng cọ thãø tênh cạc giạ trë k dë. SVDVPA âỉåüc thay båíi SINGVALS. Nãn dng: S = SINGVALS(VPA(A)) thay cho S = SVDVPA(A) [U,S,V] = SINGVALS(VPA(A)) thay cho [U,S,V] = SVDVPA(A) SYM Tảo ra, truy cáûp hồûc sỉía âäøi mäüt ma tráûn symbolic Mäüt ma tráûn symbolic l mäüt mng vàn bn MATLAB cọ mäùi dng bàõt âáưu våïi '[', kãút thục våïi ']', v chỉïa cạc chùi con cạch nhau båíi cạc dáúu pháøy âãø biãøu hiãûn cạc pháưn tỉí riãng biãût . Cọ 3 cạch tảo ra cạc ma tráûn symbolic : SYM(X) chuøn ma tráûn säú X sang dảng symbolic ca nọ våïi cạc pháưn tỉí âỉåüc biãøu hiãûn bàòng phán säú (nháûn âỉåüc tỉì SYMRAT) SYM(m,n,'expr') tảo ra ma tráûn symbolic cåỵ mxn, cạc pháưn tỉí ca ma tráûn symbolic âỉåüc ỉåïc lỉåüng âäúi våïi i = 1:m v j = 1:n. Biãøu thỉïc expr l mäüt biãøu thỉïc symbolic thỉåìng chỉïa cạc k tỉû 'i', 'j', v cạc biãún tỉû do khạc SYM(m,n,'r','c','expr') dng 'r' v 'c' l cạc biãún dng v cäüt thay cho 'i' v 'j' SYM('[s11,s12, ,s1n; s21,s22, ; ,smn]') tảo ra ma tráûn symbolic cåỵ mxn bàòng cạch dng cạc pháưn tỉí symbolic s11, s12, , smn. Dảng ny ca symbolic giäúng hãût phạt sinh ma tráûn säú trong MATLAB. Cạc dáúu cháúm pháøy kãút thục cạc dng. Cọ 2 cạch âãø truy cáûp cạc pháưn tỉí riãng biãût ca ma tráûn symbolic: SYM(S,i,j,'expr') l phiãn bn symbolic ca S(i,j) = 'expr' r = SYM(S,i,j) l phiãn bn symbolic ca r = S(i,j) Vê dủ: M = sym(hilb(3)) l mäüt ma tráûn vàn bn våïi 3 dng, [ 1, 1/2, 1/3] [1/2, 1/3, 1/4] [1/3, 1/4, 1/5] M = sym(3,3,'1/(i+j-t)') phạt sinh [1/(2-t), 1/(3-t), 1/(4-t)] [1/(3-t), 1/(4-t), 1/(5-t)] [1/(4-t), 1/(5-t), 1/(6-t)] M = sym(M,1,3,'1/t') thay âäøi pháưn tỉí (1,3) ca M thnh '1/t' M = sym('a, 2*b, 3*c; 0, 5*b, 6*c; 0, 0, 7*c') phạt sinh ma tráûn symbolic tam giạc trãn cọ âënh thỉïc determ(M) = 35*a*b*c. Sau âọ M, sym(M,1,3)= '3*c' SYM2POLY Phụ lục-Lệnh và hàm 250 Phan Thanh Tao - 2004 Âäøi âa thỉïc symbolic sang vectå hãû säú ca âa thỉïc SYM2POLY(p) tr vãư vectå hãû säú ca âa thỉïc symbolic p Vê dủ: sym2poly('x^3 - 2*x - 5') = [1 0 -2 -5] SYMADD Cäüng symbolic SYMADD(A,B) tênh täøng symbolic A + B Vê dủ: symadd('cos(t)','t') = 'cos(t)+t' SYMDIFF Vi phán symbolic Hm ny thỉåìng âỉåüc gi båíi DIFF âãø tênh âảo hm SYMDIFF(S) vi phán S theo biãún tỉû do ca nọ SYMDIFF(S,'v') vi phán S theo biãún 'v' SYMDIFF(S,n) v SYMDIFF(S,'v',n) vi phán S n láưn SYMDIFF, khäng tham säú, vi phán biãøu thỉïc trỉåïc SYMDIV Chia symbolic SYMDIV(A,B), våïi cạc biãøu thỉïc hồûc ma tráûn symbolic A v B, tênh A / B Vê dủ: symdiv('2*cos(t)+6',3) tr vãưs 2/3*cos(t)+2 Nãúu A = [ 2, a + 3/2] [ 7/6, a/2 + 1] B = [ 1, 1/2] [ 1/2, 1/3] thç symdiv(A,B) tr vãư [ -1-6*a, 6+12*a] [-4/3-3*a, 5+6*a] SYMMUL Nhán symbolic SYMMUL(A,B), våïi cạc biãøu thỉïc hồûc ma tráûn symbolic A v B, tênh têch âải säú tuún tênh symbolic A * B Vê dủ: symmul('x','exp(x)') = 'x*exp(x)' SYMOP Tênh toạn symbolic SYMOP(arg1,arg2,arg3, ) láúy âãún 16 âäúi säú. Mäùi däúi säú cọ thãø l mäüt ma tráûn symbolic, mäüt ma tráûn säú, hồûc mäüt trong cạc phẹp toạn sau: '+', '-', '*', '/', '^', '(',')' Phụ lục-Lệnh và hàm 251 Phan Thanh Tao - 2004 SYMOP( ) näúi cạc âäúi säú v ỉåïc lỉåüng biãøu thỉïc kãút qu Vê dủ: x = 'x' f = symop(1,'+',x,'+',x,'^',2,'/',2); symop(f,'-',int(diff(f))) symop('exp(x)','/','(',f,'+',x,'^3','/',6,')') G = sym('[c, s; -s, c]') symop(G,'*',transpose(G)) Lỉu : Viãûc ha láùn cạc âải lỉåüng vä hỉåïng v cạc ma tráûn cọ thãø cọ cạc kãút qu khäng nhỉ mún . Vê dủ, symop(A,'+',x) cäüng x vo âỉåìng chẹo ca A SYMPOW Tênh ly thỉìa ca mäüt biãøu thỉïc hồûc ma tráûn symbolic SYMPOW(S,p) tênh S^p. Nãúu S l mäüt biãøu thỉïc symbolic thç p cọ thãø l mäüt biãøu thỉïc symbolic vä hỉåïng hồûc biãøu thỉïc säú vä hỉåïng. Nãúu S l ma tráûn symbolic thç S phi vng, v p phi l mäüt säú ngun Vê dủ: sympow('exp(t)',2) = 'exp(t)^2' SYMRAT Xáúp xè phán säú symbolic SYMRAT(X), våïi vä hỉåïng X, l mäüt chùi biãøu hiãûn mäüt säú ngun, phán säú, phán säú nhán 'pi' hồûc säú ngun m 2. Khi chùi âỉåüc ỉåïc lỉåüng våïi säú cháúm âäüng ca MATLAB thç kãút qu cho lải âụng giạ trë X Vê dủ: symrat(22/7) = '22/7' symrat(2*pi/3) = '2*pi/3' symrat(1.e12) = '100000000000' symrat(eps) = '2^(-52)' SYMSIZE Kêch thỉåïc ma tráûn symbolic D = SYMSIZE(S), våïi ma tráûn S cåỵ MxN, tr vãư hai vectå dng gäưm 2 pháưn tỉí D = [M, N] chỉïa säú dng v säú cäüt trong ma tráûn. [M,N] = SYMSIZE(S) tr vãư säú dng v säú cäüt trong 2 biãún xút riãng biãût M = SYMSIZE(S,1) tr vãư âụng säú dng N = SYMSIZE(S,2) tr vãư âụng säú cäüt SYMSUB Trỉì symbolic SYMSUB(A,B) våïi cạc biãøu thỉïc hồûc ma tráûn symbolic A v B, tênh A - B SYMSUM Täøng symbolic Phụ lục-Lệnh và hàm 252 Phan Thanh Tao - 2004 SYMSUM(S) l täøng vä hản S theo biãún symbolic ca nọ SYMSUM(S,'v') l täøng vä hản S theo biãún v SYMSUM, khäng âäúi säú, l täøng vä hản theo biãún symbolic ca ca biãøu thỉïc trỉåïc SYMSUM(S,a,b) l täøng vä hản S theo biãún symbolic ca nọ tỉì a âãún b SYMSUM(S,'v',a,b) l täøng vä hản S theo biãún v tỉì a âãún b Vê du: symsum k^2 1/3*k^3- 1/2*k^2+1/6*k symsum k^2 0 n-1 1/3*n^3- 1/2*n^2+1/6*n symsum k^2 0 10 385 symsum k^2 11 10 0 symsum 1/k^2 -Psi(1,k) symsum 1/k^2 1 Inf 1/6*pi^2 symsum x^k/k! k 0 Inf exp(x) SYMVAR Xạc âënh cạc biãún symbolic trong mäüt biãøu thỉïc SYMVAR(S) tçm trong chùi s âãø láúy mäüt k tỉû chỉỵ thỉåìng riãng biãût, khạc 'i' hồûc 'j', âọ l mäüt pháưn ca 1 tỉì tảo thnh tỉì mäüt säú k tỉû. Nãúu cọ k tỉû âọ v l duy nháút thç tr vãư k tỉû âọ. Nãúu khäng cọ thç tr vãư ‘x’ Nãúu k tỉû khäng duy nháút thç tr vãư mäüt k tỉû gáưn ‘x’ Nãúu cọ rng büc thç mäüt k tỉû la tinh âỉåüc chn SYMVAR(S,'t') chn biãún gáưn 't' thay cho 'x' SYMVAR(S,N), våïi säú ngun vä hỉåïng N, tçm N k tỉû khạc nhau trong, kãø c 'i' v 'j' Nãúu cọ N k tỉû thç tr vãư danh sạch chụng. Ngỉåüc lải thi kãút qu l mäüt läùi SYMVAR(S,N), våïi vectå ngun êt nháút 2 thnh pháưn thç tçm mäüt säú k tỉû khạc nhau Khi N l mäüt vectå thç SYMVAR(S,N) khäng bao giåì thäng bạo läùi. Nãúu säú tçm tháúy giỉỵa min(N) v max(N), thç tr vãư mäüt danh sạch. Nãúu säú tçm tháúy êt hån min(N), thç tr vãư mäüt ma tráûn räùng . Nãúu säú tçm tháúy låïn hån max(N), thç tr vãư NaN Vê dủ: symvar('sin(x)') = 'x' symvar('sin(pi*t)') = 't' symvar('a+y') = 'y' symvar('3*i+4*j') = 'x' symvar('pi',[1 1]) = räùng f = '3*x+4*y'; symvar(f) = 'x' symvar(f,2) = 'x, y' g = 'Dx = y; Dy = -x + sin(t)'; symvar(g,2:3) = 't,x,y' symvar(g,[1 1]) = NaN Ph lc-Lnh v hm 253 Phan Thanh Tao - 2004 symvar(g,n) vồùi vọ hổồùng n ~= 3 laỡ mọỹt lọựi SYMVARS Thay thóỳ bióỳn symbolic F = SYMVARS(F,Y,X) thay õọỳi bióỳn symbolic trong F tổỡ Y sang X Haỡm naỡy giọùng nhổ SUBS(F,Y,SYMVAR(F)) khọng duỡng Maple TAYLOR Khai trióứn chuọựi Taylor TAYLOR(f) traớ vóử khai trióứn chuọựi Taylor cuớa f theo bióỳn xaùc õởnh bồới SYMVAR TAYLOR(f,'v') duỡng bióỳn 'v' TAYLOR(f,n) khai trióứn n haỷng tổớ thay cho ngỏửm õởnh n = 6 TRANSPOSE Chuyóứn vở ma trỏỷn symbolic TRANSPOSE(A) tờnh chuyóứn vở cuớa ma trỏỷn symbolic hoỷc ma trỏỷn sọỳ A Vờ duỷ: transpose(sym('[cos(x), sin(x); -sin(x), cos(x)]')) VECTORIZE Vectồ hoùa mọỹt bióứu thổùc symbolic VECTORIZE(F) cheỡn mọỹt '.' vaỡo trổồùc mọựi '^', '*' vaỡ '/' trong F VPA Chờnh xaùc sọỳ hoỹc VPA(A) ổồùc lổồỹng sọỳ mọựi phỏửn tổớ cuớa A bũng caùch duỡng õọỹ chờnh xaùc sọỳ hoỹc dỏỳu chỏỳm õọỹng vồùi D chổợ sọỳ thỏỷp phỏn , D laỡ caỡi õỷt hióỷn thồỡi cuớa DIGITS VPA(A,D) duỡng D chổợ sọỳ, thay cho caỡi õỷt hióỷn thồỡi cuớa DIGITS. Mọựi phỏửn tổớ cuớa kóỳt quaớ laỡ mọỹt "sọỳ symbolic ", laỡ mọỹt chuọựi chổùa nhióửu chổợ sọỳ VPA, khọng õọỳi sọỳ, ổồùc lổồỹng bióứu thổùc symbolic trổồùc Vờ duỷ, ma trỏỷn : vpa(hilb(2),25) traớ vóử [1. , .5000000000000000000000000] [.5000000000000000000000000, .3333333333333333333333333] vpa(hilb(2),5) traớ vóử [1. , .50000] [.50000, .33333] Vờ duỷ, daỷng haỡm: phi = '(1+sqrt(5))/2' laỡ "tố lóỷ vaỡng " vpa(phi,75) laỡ chuọựi chổùa 75 chổợ sọỳ cuớa phi Vờ duỷ, daỷng lóỷnh: Ph lc-Lnh v hm 254 Phan Thanh Tao - 2004 vpa pi 1919 laỡ mọỹt maỡn hỗnh õỏửy caùc sọỳ cuớa pi vpa exp(pi*sqrt(163)) 36 hióỷn mọỹt sọỳ "gỏửn nguyón" ZETA Haỡm Zeta Riemann ZETA(s) = sum(1/k^s,k=1 infinity) ZTRANS Bióỳn õọứi Z F = ZTRANS(f) laỡ bióỳn õọứi Z cuớa bióứu thổùc symbolic f, F(z) = symsum(f(n)/z^n,'n',0,inf) F = ZTRANS(f,'v') laỡ haỡm theo bióỳn 'v' thay cho 'z' F = ZTRANS(f,'v','x') giaớ thióỳt f laỡ haỡm theo bióỳn 'x' thay cho 'n' F = ZTRANS, khọng õọỳi sọỳ, bióỳn õọứi kóỳt quaớ trổồùc Vờ duỷ: ztrans 1 z/(z-1) ztrans a^n z/(z-a) ztrans sin(n*pi/2) z/(1+z^2) ztrans('x^k/k!','z','k') exp(1/z*x) ztrans('f(n+1)') z*ztrans(f(n),n,z)-f(0)*z ******************** Phan Thanh Tao - 2004 TAÌI LIÃÛU THAM KHAÍO [1] USER’S GUIDE - MATHWORKS [2] WWW.MATHWORKS.COM [3] ÂÄÖ HOÜA VÅÏI MATLAB - ÂÀÛNG MINH HOAÌNG [4] CÅ SÅÍ MATLAB & ÆÏNG DUÛNG - NGUYÃÙN HÆÎU TÇNH . [1/3, 1/4, 1/5] M = sym(3,3,'1/(i+j-t)') phạt sinh [1/(2-t), 1/(3-t), 1/(4-t)] [1/(3-t), 1/(4-t), 1/(5-t)] [1/(4-t), 1/(5-t), 1/(6-t)] M = sym(M,1,3,'1/t') thay. Phan Thanh Tao - 2004 TAÌI LIÃÛU THAM KHAÍO [1] USER’S GUIDE - MATHWORKS [2] WWW.MATHWORKS.COM [3] ÂÄÖ HOÜA VÅÏI MATLAB - ÂÀÛNG MINH HOAÌNG [4] CÅ SÅÍ MATLAB & ÆÏNG DUÛNG - NGUYÃÙN HÆÎU. 3/2] [ 7/6, a/2 + 1] B = [ 1, 1/2] [ 1/2, 1/3] thç symdiv(A,B) tr vãư [ -1 -6 *a, 6 +12* a] [-4 / 3-3 *a, 5+6*a] SYMMUL Nhán symbolic SYMMUL(A,B), våïi cạc biãøu thỉïc hồûc ma tráûn