Phụ lục-Lệnh và hàm 232 Phan Thanh Tao - 2004 values(5) 'supernd' 3 1 values(6) 'rreduce' 3 1 values(7) 'wh_frac' 0.5 0.5 values(8) 'autommd' 1 values(9) 'aug_rel' 0.001 values(10) 'aug_abs' 0 nghéa cạc tham säú l: spumoni: Xút cháøn âoạn cạc âiãưu khiãøn Sparse Monitor Flag; 0 cho khäng cọ, 1 cho mäüt vi, 2 cho quạ nhiãưu thr_rel, thr_abs: Ngỉåỵng báûc täúi thiãøu l thr_rel*mindegree + thr_abs exact_d: Khạc 0 âãø dng cạc báûc chênh xạc trong báûc täúi thiãøu, 0 dng cho cạc báûc xáúp xè supernd: If > 0, MMD cạc siãu nụt häùn håüp mäùi giạ trë supernd rreduce: If > 0, MMD thu gn dng mäùi giạ trë rreduce wh_frac: Cạc dng våïi density > wh_frac âỉåüc b qua trong COLMMD autommd: Khạc 0 âãø dng báûc täúi thiãøu våïi \ v / aug_rel, aug_abs: Tham säú tè lãû thàûng dỉ cho cạc phỉång trçnh gia säú l aug_rel*max(max(abs(A))) + aug_abs. Vê dủ, aug_rel = 0, aug_abs = 1 âàût mäüt ma tráûn âån vë khäng chia tè lãû vo khäúi (1,1) ca ma tráûn gia säú SPAUGMENT SPAUGMENT Trçnh by bi toạn bçnh phỉång täúi thiãøu nhỉ mäüt hãû tuún tênh låïn S = SPAUGMENT(A,c) tảo ma tráûn báút âënh âäúi xỉïng, thỉa, vng S = [c*I A; A' 0].Ma tráûn ny liãn quan våïi bi toạn bçnh phỉång täúi thiãøu min norm(b - A*x) båíi r = b - A*x S * [r/c; x] = [b; 0]. Giạ trë täúi ỉu ca nhán tỉí tè lãû thàûng dỉ c, bao gäưm min(svd(A)) v norm(r), thỉåìng quạ täún nhiãưu phẹp tênh S = SPAUGMENT(A), khäng chè âënh giạ trë ca c, dng giạ trë màûc âënh ca SPPARMS, thỉåìng l max(max(abs(A)))/1000. Ma tráûn gia säú âỉåüc dng tỉû âäüng båíi viãûc gii phỉång trçnh tuún tênh, \ v /, cho cạc bi toạn khäng vng Ph lc-Lnh v hm 233 Phan Thanh Tao - 2004 SYMBOLIC TOOLBOX ALLVALUES Tỗm tỏỳt caớ caùc giaù trở cuớa bióứu thổùc RootOf ALLVALUES(S), vồùi S laỡ mọỹt bióứu thổùc symbolic hoỷc mọỹt vectồ cọỹt chổùa bióứu thổùc con 'RootOf(EXPR)', tỗm nghióỷm cuớa EXPR rọửi tờnh S. Kóỳt quaớ laỡ mọỹt vectồ chổùa tỏỳt caớ caùc giaù trở coù õổồỹc cuớa S Vờ duỷ: p = 'x^5 + x^4 + 2'; s = solve(p); allvalues(s) AR2SM ọứi maớng Maple sang ma trỏỷn symbolic A = AR2SM(M) õọứi caùc daỷng cuớa MATRIX([[ ],[ ]]) hoỷc VECTOR([ ]) cho ra bồới caùc haỡm õaỷi sọỳ tuyóỳn tờnh cuớa Maple sang ma trỏỷn symbolic CHARPOLY a thổùc õỷc trổng symbolic CHARPOLY(A) tờnh õa thổùc õỷc trổng cuớa ma trỏỷn A. Kóỳt quaớ laỡ mọỹt õa thổùc symbolic theo bióỳn 'x' CHARPOLY(A,'v') duỡng 'v' thay cho 'x' Trổỡ sai sọỳ laỡm troỡn, charpoly(A) nhổ poly2sym(poly(A)) vaỡ poly(A) nhổ sym2poly(charpoly(A)) Vờ duỷ: charpoly(gallery(3)) COLLECT Tỏỷp hồỹp caùc hóỷ sọỳ COLLECT(S) xem mọựi phỏửn tổớ cuớa S nhổ mọỹt õa thổùc bióỳn symbol cuớa S. Nóỳu bióỳn symbol cuớa S laỡ 'x', thỗ COLLECT(S) tỏỷp hồỹp tỏỳt caớ caùc hóỷ sọỳ vồùi cuỡng muợ cuớa 'x' COLLECT(S,'v') lỏỳy 'v' laỡm bióỳn symbolic trong mọựi phỏửn tổớ cuớa S COMPOSE Haỡm tờch COMPOSE(f,g), vồùi f vaỡ g laỡ caùc bióứu thổùc symbolic bióứu hióỷn caùc haỡm, goỹi laỡ f(y) vaỡ g(x), thỗ traớ vóử mọỹt bióứu thổùc symbolic bióứu hióỷn haỡm f(g(x)) COMPOSE(f,g,'u') duỡng bióỳn 'u' cho caớ f vaỡ g. f vaỡ g coù daỷng sau: f = f(u,a1,a2, ); g = g(u,b1,b2, ) COMPOSE(f,g,'u','v') duỡng bióỳn 'u' cho f vaỡ vaỡ 'v' cho g. f vaỡ g coù daỷng sau: f = f(u,a1,a2, ); g = g(v,b1,b2, ) Vờ duỷ: compose 1/(1+x^2) sin(x) laỡ 1/(1+sin(x)^2) Phụ lục-Lệnh và hàm 234 Phan Thanh Tao - 2004 COMSTACK Sàõp xãúp cạc dáúu pháøy trong mäüt ma tráûn symbolic A = comstack(A) chn cạc khong träúng trong ma tráûn symbolic A âãø táút c cạc dáúu pháøy ca nọ tạch dng COSINT Hm têch phán cosin COSINT(x) = gamma+ln(i*x)-i*pi/2+int((cos(t)-1)/t, t=0 x) DETERM Âënh thỉïc ma tráûn symbolic DETERM(A) tênh âënh thỉïc symbolic ca ma tráûn A, våïi A l mäüt ma tráûn symbolic hồûc ma tráûn säú DETERM(VPA(A)) dng chênh xạc säú hc Vê dủ: determ(sym(5,5,'1/(i+j-t)')) DIGITS Âàût säú chỉỵ säú ca Maple Âäü chênh xạc cạc phẹp tênh säú ca Maplêỉåüc xạc âënh båíi cạc chỉỵ säú Chênh DIGITS hiãøn thë säú chỉỵ säú hiãûn thåìi DIGITS(D) Âàût säú chỉỵ sävo D cho cạc phẹp tênh tiãúp sau D = DIGITS tr vãư säú chỉỵ säú hiãûn thåìi DSOLVE Gii hãû phỉång trçnh vi phán thỉåìng symbolic DSOLVE('eqn1','eqn2', ) cháúp nháûn âãún 12 âäúi säú nháûp, l cạc phỉång trçnh symbolic biãøu hiãûn cạc phỉång trçnh vi phán thỉåìng v cạc âiãưu kiãûn âáưu. Cạc phỉång trçnh hồûc cạc âiãưu kiãûn âáưu cọ thãø nhọm lải, cạhc nhau dáúu pháøy trong mäüt âäúi säú nháûp. Biãún âäüc láûp thỉåìng dng 'x'. Cọ thãø âäøi thnh 't' bàòng cạch dng 'x' l biãún phủ thüc, hay dng 't' thay cho 'x' l biãún tỉû do trong mäüt phỉång trçnh. Biãún âäüc láûp cọ thãø thay âäøi tỉì 'x' sang k tỉû thỉåìng no âọ bàòng cạch âỉa vo k tỉû âọ nhỉ mäüt âäúi säú cúi cng. K tỉû 'D' biãøu hiãûn vi phán tỉång ỉïng biãún âäüc láûp, nghéa l thỉåìng dng d/dx. Mäüt chỉỵ D cọ mäüt chỉỵ säú km theo biãøu hiãûn vi phán làûp, nghéa l D2 l d^2/dx^2. Cạc k tỉû báút k theo sau ngay cạc phẹp toạn vi phán ny âãø láúy biãún phủ thüc, nghéa l D3y biãøu hiãûn âảo hm báûc ba ca y(x) hồûc y(t). Cạc âiãưu kiãûn âáưu âỉåüc chè âënh båíi cạc phỉång trçnh nhỉ 'y(a)=b' hồûc 'Dy(a) = b, åí âáy y l mäüt biãún phủ thüc v a, b l cạc hàòng. Nãúu säú cạc âiãưu kiãûn âáưu êt hån säú biãún phủ thüc thç cạc nghiãûm kãút qu nháûn âỉåüc cạc hàòng ty C1, C2, Nãúu âäúi säú xút êt hån säú biãún phủ thüc thç DSOLVE âån gin tr vãư mäüt danh sạch cạc låìi gii [Y1,Y2, ] = DSOLVE( ) tr vãư cạc nghiãûm, theo thỉï tỉû alphabet, trong cạc âäúi säú xút. Ph lc-Lnh v hm 235 Phan Thanh Tao - 2004 Vồùi hóỷ phi tuyóỳn , nóỳu nghióỷm khọng duy nhỏỳt thỗ caùc giaù trở xuỏỳt coù thóứ laỡ caùc vectồ symbolic Vờ duỷ: Phổồng trỗnh vi phỏn bỏỷc 1 dsolve('Dy = a*y') dsolve('Df = f + sin(t)') y = dsolve('(Dy)^2 + y^2 = 1','s') Phổồng trỗnh vi phỏn bỏỷc 1 vồùi 1 õióửu kióỷn õỏửu dsolve('Dy = a*y', 'y(0) = b') dsolve('Df = f + sin(t)', 'f(pi/2) = 0') y = dsolve('(Dy)^2 + y^2 = 1', 'y(0) = 0', 's') Phổồng trỗnh vi phỏn bỏỷc 2 dsolve('D2y = -a^2*y') Phổồng trỗnh vi phỏn bỏỷc 2 vồùi caùc õióửu kióỷn bión dsolve('D2y = -a^2*y', 'y(0) = 1, Dy(pi/a) = 0') Hai phổồng trỗnh vi phỏn bỏỷc 1 [x,y] = dsolve('Dx = y', 'Dy = -x') [f,g] = dsolve('Df = 3*f+4*g', 'Dg = - 4*f+3*g') Hai phổồng trỗnh vi phỏn bỏỷc 1 vồùi caùc õióửu kióỷn õỏửu [x,y] = dsolve('Dx = y', 'Dy = -x', 'x(0)=0', 'y(0)=1') [f,g] = dsolve('Df = 3*f+4*g, Dg = - 4*f+3*g', 'f(0)=0, g(0)=1') Ba phổồng trỗnh vi phỏn bỏỷc 1 vồùi caùc õióửu kióỷn õỏửu [u,v,w] = dsolve('Du=v, Dv=w, Dw=- u','u(0)=0, v(0)=0, w(0)=1') Cuỡng baỡi toaùn laỡ mọỹt phổồng trỗnh vi phỏn bỏỷc 3 w = dsolve('D3w = -w','w(0)=1, Dw(0)=0, D2w(0)=0') EIGENSYS Ma trỏỷn rióng vaỡ vectồ rióng symbolic EIGENSYS(A) tờnh caùc giaù trở rióng symbolic cuớa ma trỏỷn A EIGENSYS(VPA(A)) tờnh caùc giaù trở rióng sọỳ bũng caùch duỡng sọỳ hoỹc [V,E] = EIGENSYS(A) tờnh mọỹt vectồ symbolic E chổùa caùc giaù trở rióng vaỡ mọỹt ma trỏỷn symbolic V chổùa caùc vectồ rióng cuớa mọỹt ma trỏỷn sọỳ hoỷc symbolic A. Caùc vectồ rióng coù thóứ õổồỹc bióứu dióựn trong caùc phỏửn tổớ cuớa E(n), ồớ õỏy n laỡ sọỳ nguyón dổồng óứ õaùnh chố sọỳ cho vectồ giaù trở rióng E [V,E] = EIGENSYS(VPA(A)) tờnh caùc giaù trở rióng vaỡ caùc vectồ rióng bũng sọỳ, bũng caùch duỡng sọỳ hoỹc Vờ duỷ: eigensys(rosser) [v,e] = eigensys(sym('[a,b,c; b,c,a; c,a,b]')) Ph lc-Lnh v hm 236 Phan Thanh Tao - 2004 EXPAND Khai trióứn symbolic EXPAND (S) khai trióứn mọựi phỏửn tổớ cuớa S, S laỡ ma trỏỷn symbolic EXPAND khai trióứn chuớ yóỳu laỡ caùc õa thổùc. Noù cuợng khai trióứn mọỹt sọỳ caùc haỡm toaùn hoỹc, nhổ haỡm lổồỹng giaùc, haỡm muợ vaỡ haỡm loga EZPLOT Duỡng õóứ veợ õọử thở haỡm EZPLOT(f) veợ õọử thở cuớa f(x), vồùi f laỡ mọỹt bióứu thổùc symbolic bióứu hióỷn mọỹt bióứu thổùc toaùn boa gọửm mọỹt bióỳn symbolic, goỹi laỡ 'x'. Mióửn giaù trở cuớa truỷc x trong khoaớng -2*pi vaỡ 2*pi EZPLOT(f,[xmin xmax]) duỡng õóứ chố õởnh mióửn giaù trở cuớa x thay cho ngỏửm õởnh laỡ [-2*pi, 2*pi] EZPLOT(f,[xmin xmax],fig) duỡng hỗnh veợ chố õởnh thay cho hỗnh aớnh hióỷn thồỡi Vờ duỷ: ezplot('erf(x)') ezplot erf(x) ezplot('tan(sin(x))-sin(tan(x))') ezplot tan(sin(x))-sin(tan(x)) FACTOR Thổỡa sọỳ symbolic FACTOR(S), nóỳu S laỡ mọỹt ma trỏỷn symbolic matrix õỷt thổỡa sọỳ mọựi phỏửn tổớ cuớa S FACTOR(N), nóỳu N laỡ mọỹt ma trỏỷn nguyón thỗ thờnh thổỡa sọỳ nguyón tọỳ cuớa mọựi phỏửn tổớ cuớa N FINDCOMMA Tỗm caùc dỏỳu phỏứy khọng coù bón trong cỷp ngoỷc õồn FINDCOMMA(S) laỡ vectồ caùc chố sọỳ cuớa caùc dỏỳu phỏứy (',') trong chuọựi S maỡ khọng ồớ trong caùc cỷp ngoỷc õồn phuỡ hồỹp k = findcomma('fun1(x), fun2(x,y), fun3(x), fun4(x,y), fun5') traớ vóử k = [8 19 28 39] Khọng õóỳm caùc cỷp ngoỷc õồn trong [16 36] Phụ lục-Lệnh và hàm 237 Phan Thanh Tao - 2004 FINVERSE Hm nghëch âo g = FINVERSE(f) tra vãư hm ngỉåüc ca f. f l mäüt biãøu thỉïc symbolic biãøu hiãûn mäüt hm mäüt biãún, gi l 'x'. Thç g l mot biãøu thỉïc symbolic tha mn g(f(x)) = x g = FINVERSE(f,'v') dng biãún symbolic 'v' l biãún âäüc láûp. Thç g l mot biãøu thỉïc symbolic tha mn g(f(v)) = v Dng dảng ny khi f chỉïa nhiãưu hån mäüt biãún symbolic Vê dủ: finverse('1/tan(x)') l 'arctan(1/x)' FOURIER Biãún âäøi têch phán Fourier F = FOURIER(f) l biãún âäøi Fourier ca biãøu thỉïc symbolic f, F(w) = int(f(t)*exp(-i*w*t),'t',-inf,inf) F = FOURIER(f,'v') l hm ca 'v' thay cho 'w' F = FOURIER(f,'v','x') gi thiãút f l hm ca 'x' thay cho 't' F = FOURIER, khäng âäúi säú, biãún âäøi kãút qu trỉåïc Vê dủ: fourier exp(-t)*Heaviside(t) 1/(1+i*w) fourier exp(-t^2) pi^(1/2)*exp(- 1/4*w^2) FUNTOOL Tênh hm FUNTOOL l mäüt mạy tênh tỉång tạc âäư ha âãø thỉûc hiãûn cho cạc hm mäüt biãún . Cọ hai hm hiãøn thë l f(x) v g(x). Kãút qu ca háưu hãút cạc tênh toạn âãưu thay thãú f(x). Cạc âiãưu khiãøn cọ nhn 'f = ' v 'g = ' cọ thãø sỉía âäøi âãø cọ thãø ci mäüt hm måïi. Âiãưu khiãøn cọ nhn 'x = ' cọ thay âäøi miãưn xạc âënh. . Âiãưu khiãøn cọ nhn 'a = ' cọ thãø thay âäøi âãø chè âënh mäüt giạ trë måïi cho tham säú. Cạc biãún cọ tãn f, g, x v a täưn tải trong vng lm viãûc ca MATLAB khi FUNTOOL âỉåüc gi s âỉåüc dng thay cho cạc giạ trë màûc âënh. Dng âènh ca nụt âiãưu khiãøn l cạc phẹp toạn âån hảng vãư hm, chè cọ f(x). Cạc phẹp toạn ny l: D f - Vi phán symbolic ca f(x) I f - Têch phán symbolic ca f(x) Simp f - Âån gin họa biãøu thỉïc symbolic nãúu cọ thãø Num f - Láúy tỉí säú ca mäüt biãøu thỉïc hỉỵu tè Den f - Láúy máùu säú ca mäüt biãøu thỉïc hỉỵu tè 1/f - Thay f(x) båíi 1/f(x). finv - Thay f(x) båíi hm ngỉåüc ca nọ Phụ lục-Lệnh và hàm 238 Phan Thanh Tao - 2004 Cạc phẹp toạn I f v finv cọ thãø tháút bải nãúu cạc biãøu thỉïc symbolic tỉång ỉïng khäng thüc dảng âọng. Dng thỉï hai ca cạc nụt dëch v chia trủc f(x) theo tham säú 'a' Cạc phẹp toạn l: f + a - Thay f(x) båíi f(x) + a f - a - Thay f(x) båíi f(x) - a f * a - Thay f(x) båíi f(x) * a f / a - Thay f(x) båíi f(x) / a f ^ a - Thay f(x) båíi f(x) ^ a f(x+a) - Thay f(x) båíi f(x + a) f(x*a) - Thay f(x) båíi f(x * a) Dng thỉï ba ca cạc nụt l cạc phẹp toạn nhë hảng tênh trãn c hai f(x) v g(x). Cạc phẹp toạn l: f + g - Thay f(x) båíi f(x) + g(x) f - g - Thay f(x) båíi f(x) - g(x) f * g - Thay f(x) båíi f(x) * g(x) f / g - Thay f(x) båíi f(x) / g(x) f(g) - Thay f(x) båíi f(g(x)) g = f - Thay g(x) båíi f(x) swap - Âäøi f(x) v g(x) Ba nụt âáưu trãn dng thỉï tỉ qun l mäüt danh sạch cạc hm. Nụt Insert âàût hm âang kêch hoảt vo danh sạch. Nụt Cycle cün qua danh sạch hm. Nụt Delete xọa hm kêch hoảt ra khi danh sạch. Danh sạch cạc hm cọ tãn fxlist. Ngáưm âënh fxlist chỉïa mäüt säú hm âạng quan tám Nụt Reset âàût f, g, x, a v fllt vo cạc giạ trë âáưu. Nụt Help in ra vàn bn tråü giụp ny Nụt Demo chaỷ máùu Nụt Close âọng c ba cỉía säø HORNER Biãøu hiãûn âa thỉïc dảng Horner HORNER(P) biãún âäøi âa thỉïc symoblic, P, sang biãøu hiãûn dảng Horner ca nọ Vê dủ: Nãúu p = 'x^3-6*x^2+11*x-6' thç horner(p) l 'x*(x*(x-6)+11)-6' INT Têch phán INT(S) l têch phán báút âënh ca S tỉång ỉïng våïi biãún symbolic ca nọ INT(S,'v') l têch phán báút âënh ca S tỉång ỉïng våïi biãún v INT, khäng tham säú, l têch phán báút âënh ca biãøu thỉïc trỉåïc âọ tỉång ỉïng våïi biãún symbolic ca nọ INT(S,a,b) l têch phán xạct âënh ca S tỉång ỉïng våïi biãún symbolic ca nọ tỉì a âãún b INT(S,'v',a,b) l têch phán xạct âënh ca S tỉång ỉïng våïi biãún v tỉì a âãún b Vê dủ: int('1/(1+x^2)') l arctan(x) . Ph lc-Lnh v hm 239 Phan Thanh Tao - 2004 INVERSE Nghởch õaớo ma trỏỷn symbolic INVERSE(A) tờnh nghởch õaớo symbolic cuớa ma trỏỷn A, vồùi A laỡ mọỹt ma trỏỷn symbolic hoỷc ma trỏỷn sọỳ INVERSE(VPA(A)) duỡng õọỹ chờnh xaùc sọỳ hoỹc thay õọứi Vờ duỷ: inverse(sym(5,5,'1/(i+j-t)')) INVFOURIER Bióỳn õọứi tờch phỏn nghich õaớo Fourier f = INVFOURIER(F) laỡ bióỳn õọứi tờch phỏn nghich õaớo Fourier cuớa bióứu thổùc F, f(t) = 1/(2*pi)*int(F(w)*exp(i*w*t),'w',- inf,inf) f = INVFOURIER(F,'x') laỡ haỡm cuớa 'x' thay cho 't' f = INVFOURIER(F,'x','v') giat thióỳt F laỡ haỡm cuớa 'v' thay cho 'w' f = INVFOURIER, khọng õọỳi sọỳ nhỏỷp, bióỳn õọứi kóỳt quaớ trổồùc Vờ duỷ: invfourier exp(-w^2) 1/2/pi^(1/2)*exp(-1/4*t^2) invfourier 1/(w-i) i*exp(- t)*Heaviside(t) INVLAPLACE Bióỳn õọứi nghởch õaớo Laplace f = INVLAPLACE(F) laỡ bióỳn õọứi nghởch õaớo Laplace cuớa bióứu thổùc symbolic F, f(t) = int(F(s)*exp(s*t),'s',0,inf) f = INVLAPLACE(F,'x') laỡ haỡm cuớa 'x' thay cho 't' f = INVLAPLACE(F,'x','v') giaớ thióỳt F laỡ haỡm cuớa 'v' thay cho 's' f = INVLAPLACE, khọng õọỳi sọỳ nhỏỷp, bióỳn õọứi kóỳt quaớ trổồùc Vờ duỷ: invlaplace 1/(s-1) exp(t) invlaplace('(2*s^2+2+s^3)/s^3/(s^2+1)') t^2+sin(t) invlaplace('t^(-5/2)','x') 4/3/pi^(1/2)*x^(3/2) invlaplace('laplace(f(t))') f(t) INVZTRANS Bióỳn õọứi nghởch õaớo Z f = INVZTRANS(F) laỡ bióỳn õọứi nghởch õaớo Z cuớa bióứu thổùc symbolic F, f(n) = 1/(2*pi*i)*(mọỹt tờch phỏn õổồỡng mổùc phổùc cuớa F(z)*z^(n-1) dz) f = INVZTRANS(F,'x') laỡ haỡm cuớa 'x' thay cho 'n' f = INVZTRANS(F,'x','v') giaớ thióỳt F laỡ haỡm cuớa 'v' thay cho 'z' f = INVZTRANS, khọng õọỳi sọỳ nhỏỷp, bióỳn õọứi kóỳt quaớ trổồùc . l: f + a - Thay f(x) båíi f(x) + a f - a - Thay f(x) båíi f(x) - a f * a - Thay f(x) båíi f(x) * a f / a - Thay f(x) båíi f(x) / a f ^ a - Thay f(x) båíi f(x) ^ a f(x+a) - Thay f(x). sọỳ nhỏỷp, bióỳn õọứi kóỳt quaớ trổồùc Vờ duỷ: invfourier exp(-w ^2) 1/2/pi^(1 /2)* exp (-1 /4*t ^2) invfourier 1/(w-i) i*exp (- t)*Heaviside(t) INVLAPLACE Bióỳn õọứi nghởch õaớo Laplace f. Thay f(x) båíi f(x) - g(x) f * g - Thay f(x) båíi f(x) * g(x) f / g - Thay f(x) båíi f(x) / g(x) f(g) - Thay f(x) båíi f(g(x)) g = f - Thay g(x) båíi f(x) swap - Âäøi f(x) v g(x)