Huong Dan Su Dung Scilab

download Huong Dan Su Dung Scilab

of 17

description

Hướng dẫn sử dụng Scilab cho học phần Toán cao cấp

Transcript of Huong Dan Su Dung Scilab

Hng dn s dng

PHN MM SCILAB(Cho hc phn Ton cao cp)

L VN TUN I HC THNG MI

LI NI UScilab is the closest that you can get to Matlab without spending a penny Scilab l gi phn mm tnh ton s pht trin t nm 1990 bi cc nh nghin cu t INRIA v cole nationale des ponts et chausses (ENPC). To ra vo thng 5 nm 2003, n c pht trin v duy tr bi INRIA. Scilab l ngn ng lp trnh hng s bc cao. Ngn ng ny cung cp mt mi trng lp trnh din gii, vi ma trn nh kiu d liu chnh. Bng cch tnh ton da trn ma trn, kiu ng, v qun l b nh t ng, nhiu vn c th c th hin trong mt s t cc dng m lnh hn so vi cc gii php tng t trong cc ngn ng truyn thng nh Fortran, C, hoc C++. iu ny cho php ngi dng nhanh chng xy dng cc m hnh trong phm vi ton hc. Trong khi ngn ng cung cp cc php ton ma trn c bn nh php nhn, gi Scilab cng cung cp mt th vin cc php ton bc cao. Phn mm ny c th c s dng cho x l tn hiu, phn tch thng k, x l nh, m phng ng lc cht lu, v ti u ha. C php ca Scilab tng t nh MATLAB, Scilab bao gm b chuyn i m ngun t MATLAB. Scilab hin sn dng min ph di giy php m ngun m. Do tnh cht mt s ng gp ca ngi dng c tch hp vo Scilab. Ti liu ngn ny ti vit da theo Scilab Help nhm gip cc bn sinh vin lm quen vi vic s dng mt phn mm ton hc gii cc bi ton ca hc phn Ton cao cp.

L VN TUN

MC LC

Ch 0. Download v ci t Ch 1. Tnh ton trn trng s thc Ch 2. Ma trn v nh thc Ch 3. Gii h phng trnh tuyn tnh Ch 4. V th Ch 5. Tch phn Ch 6. o hm Ch 7. Phng trnh vi phn Ch 8. Phng trnh sai phn

Ch 0. Download v ci tBn truy cp vo trang ch: http://www.scilab.org/ (giao din nh hnh di), click vo Download Scilab bn s download c file scilab-5.3.1.exe (thng 4/2010), ci t nh cc phn mm khc.

Sau khi ci t, Shoutcut chy phn mm s xut hin trn Desktop, bn click chy phn mm. Ca s lnh ca phn mm s nh hnh di, ti du nhc --> bn c th g cu lnh v nhn Enter () yu cu phn mm thc hin cu lnh.

Ghi ch:Bn c th click vo du ? trn menu vo Scilab Help. Trong s lit k cc ch ca Scilab v hng dn ca tng ch . Bn c th click vo biu tng hnh knh lp tm kim vn c th mnh quan tm (bng ting Anh), v d: matrix.

Ch 1. Tnh ton trn trng s thcCc php ton trn trng s thc l: cng (+), tr (-), nhn (*), chia (/), ly tha (^) Cc hm thng dng:

(%pi biu din s VD: -->7/3.5

; %e biu din s e)

(ghi s thp phn: 3.5 ) VD: Tnh a = (4^5 1/6)( )

-->a=(4^5-1/6)*(%e^(1/3)+%pi); Ghi ch: Nu thm du ; vo cui cu lnh th s khng hin th kt qu ra mn hnh. VD: Tnh log3(4) -->log(4)/log(3) (log = ln, y ta dng cng thc i c s) VD: Tnh arcsin ca 1/2 -->asin(1/2) Ghi ch: n v l rad; nu cn phi tnh sin(27o) ta i sang radian VD: Cho f(x) = (sin(x) + x2)/(ex + 1), tnh f( )

-->(sin(%pi/6)+(%pi/6)^2)/(exp(%pi/6)+1)

Ch 2. Ma trn v nh thc1. Khai bo bin ma trn VD: Khai bo ma trn c 1x3 (vec t dng): -->a=[1,2,4] VD: Khai bo ma trn c 3x3: -->b=[11,4,3;4,9,6;20,8,9]; Ghi ch: Mi dng ca ma trn cch nhau bi du ; mi phn t ca dng cch nhau bi du , 2. Cc php ton trn ma trn Phn mm ang nh cc bin a v b c khai bo 2 cu lnh trn, ta khai bo thm bin c: -->c=[0,-2,3.5;4,5,8;17,8,-9.2] Ta c th thc hin cc php ton cng (+), tr (-), nhn (*), ly tha (^) VD: Cng -->b+c hoc -->d=b+c ( y ta to thm bin d = b+c ) VD: -->b*c; -->b^2; -->5*b 3. Ma trn chuyn v VD: -->b VD: -->[1,2,3;3,5,5] (thm du cui ma trn) 4. Tm hng ca ma trn VD: -->rank(b) 5. Tm ma trn nghch o VD: -->inv(b) 6. Tnh nh thc (ca ma trn vung) VD: -->det(b) Ghi ch:Nu tnh c p s (chng hn) 1.954D-14 th hiu l -1.954*10-14 ~ 0 (kt qu chc l 0, nhng c sai s trong tnh ton ca Scilab) .

Ch 3. Gii h phng trnh tuyn tnhScilab gii h phng trnh tuyn tnh dng: A*x+b=0 (nn ta phi bin i h v dng ny).VD1: Gii h PTTT: ; Khi : v

Ta thc hin nh sau: -->A=[1,1,1;1,-1,0;1,1,2] -->b=[-6;1;-9] -->[x,kerA]=linsolve(A,b)

Trn mn hnh s xut hin kt qu l: kerA = [] x = 1. 2. 3.

Ghi ch: kerA ti s gii thch VD2 & VD3, trong v d ny ta c nghim duy nht, x=(1, 2, 3) VD2: Gii h PTTT:

Ta thc hin nh sau: -->A=[1,1,-1;3,0,-1] -->b=[0;-3] -->[x,kerA]=linsolve(A,b)

Trn mn hnh s xut hin kt qu l: kerA = 0.2672612 0.5345225 0.8017837 x = 1.0714286

- 0.8571429 0.2142857 Ghi ch: Trong v d ny h c 1 tham s, kerA lu cc h s ca tham s (trong v d 1, h c nghim duy nht, khng c tham s nn kerA bng rng; v d 3 l trng hp h c nhiu tham s) nghim ca h hiu l: x1 = 1.0714286 + t*0.2672612 ; x2 = - 0.8571429 + t*0.5345225 ; x3 = 0.2142857 + t*0.8017837 (c l gii thut tnh ton ca Scilab khng tt nn cho kt qu khng c p v khng chnh xc!!!, khng bit l x l th no???) VD3: Gii h PTTT

Ta thc hin nh sau: -->A=[1,1,-1]

Trn mn hnh s xut hin kt qu l: kerA = - 0.5773503 0.5773503 0.7886751 0.2113249 x = 1. 1. - 1. 0.2113249 0.7886751

-->b=[-3] -->[x,kerA]=linsolve(A,b)

Ghi ch: Trong v d ny h c 2 tham s, kerA lu cc h s ca tham s (n y bn t rt ra y ngha tng qut ca kerA) nghim ca h hiu l: x1 = 1 - 0.5773503*t + 0.5773503*s x2 = 1 + 0.7886751*t + 0.2113249*s x3 = -1 + 0.2113249*t + 0.7886751*s

Ch 4. V th1. Hm 1 bin (2D) VD: V th hm s: y = x2 + 1 trn on [-10; 10] Cch 1. Thc hin nh sau: -->x=[-10:10] -->plot(x^2+1) hoc -->plot2d(x^2+1) Phn mm s xut ra th (trn 1 ca s khc Graphic window) nh hnh di (bn c th vo File -> Copy to clipboard v paste vo word)

Cch 1. C th thc hin nh sau: -->x=[-10:0.1:10] -->plot(x^2+1) Ghi ch: S 0.1 l bc nhy ca bin x, bn th v cho 2 trng hp x=[-1:1] v x=[-1:0.1:1] hiu y ngha ca tham s ny (trng hp khng c bc nhy, bc nhy ngm nh l 1). Cch 2. C th thc hin nh sau: -->deff('[y]=ham(x)',['y=x^2+1']); -->x=(-10:0.1:10)'; -->fplot2d(x,ham)

Ghi ch: Cc cu lnh trong cch 2 phc tp hn cch 1 nhng cho php v c c dng hm kiu:x^x. Thao kho Ch 1 khi cn v cc hm phc tp. 2. Hm 2 bin (3D) VD: V th hm z=sin(x)*y vi x [0; 2], y [0; 5] -->x=[0:%pi/16:2*%pi]' (c du chuyn v x thnh ct) -->y=[0:0.5:5]; -->z=sin(x)*y; -->plot3d(x, y, z)

Ghi ch: Trong ca s Graphic, bn vo Edit ---> Axes properties ghi ch cho hnh.

Ch 5. Tch phn1. Tch phn hm 1 bin (1 lp)10

VD: Tnh x*exdx

9

-->function y=f(x),y=x*(%e^x),endfunction -->I=intg(9,10,f) (dng trn l khai bo hm s f(x), dng di tnh tch phn vi cn t 9 -> 10) Ghi ch: Tham kho Ch 1 khi phi lm vic vi cc hm phc tp. 2. Tch phn mt (2 lp) VD: Tnh tch phn 2 lp ca hm z = cos(x+y) trn min [0 1]x[0 1] -->X=[0,0;1,1;1,0]; -->Y=[0,0;0,1;1,1]; -->deff('z=f(x,y)','z=cos(x+y)') -->[I,err]=int2d(X,Y,f) err = 3.569D-11 I = 0.4967514 Ghi ch: Min ly tch phn c chia thnh 2 tam gic. Bin X lu honh cc nh ca 2 tam gic (tam gic th nht l: 0; 1 ; 1 t m) ; bin Y lu tung ca 2 tam gic. Nh vy, tnh tch phn mt, bn phi chia min ly tch phn thnh cc tham gic. err l sai s: err = 3.569D-11 ~ 3.569*10-11~ 0.

Ch 6. o hm1. o hm ca hm (gi tr thc) 1 bin s VD: Tnh o hm ca hm s y = x^3 + 1 ti x = 2 Ta thc hin nh sau: -->function y=F(x) --> y=x^3 + 1; -->endfunction -->x=[2]; -->derivative(F,x)

ans = 12.Ghi ch: Tham kho Ch 1 khi phi lm vic vi cc hm phc tp. 2. o hm ca hm (gi tr thc) nhiu bin s Ghi ch: Cho hm thc nhiu bin y = f(x1, x2,....xn) Ma trn Jacobian (cc o hm ring cp 1):J = ( Ma trn Hessian (cc o hm ring cp 2): ;...; )

VD: Tnh cc o hm ring cp 1 (ma trn J) v cc o hm ring cp 2 (ma trn H) ca hm s: y= ti im (1; 2) Ta thc hin nh sau: -->function y=F(x) --> y=[x(1)^2 + x(2)^2]; -->endfunction -->x=[1;2]; -->[J,H]=derivative(F,x,H_form='hypermat') H = 2. 0. J = 2. 4. 0. 2.

Ch 7. Phng trnh vi phn1. Phng trnh vi phn cp 1 Ghi ch: Xt PTVP: dy/dx = f(x,y) Gi s ta cn gii PTVP: dy/dx = x2. Phng trnh ny c nghim tng qut l: y = x3/3 + C. Vi iu kin y(0) = 1 ta c nghim ring: y = x3/3 + 1, ta s v th ca nghim ring ny. Ti khng bit cch hin th nghim tng qut ca PTVP bng Scilab, ti on l Scilab khng lm c Scilab khng sinh ra lm vic , v c l Matlab cng vy, y l nhng phn mm tnh ton s; Maple v Mathematica th c, l nhng phn mm tnh ton trn biu tng. Bn lu y l Scilab (v c l c Matlab) lu mi th ca n trong ma trn, s thc 5 cng c lu trong ma trn [5], hm s cng lu trong ma trn nn cng thc ca n khng hin th ra c nhng vn v c th (y l ni v nguyn tc, v c th c nhng gi cng c no m ti khng bit cho php cc phn mm ny hin th ra cng thc ca hm s). VD1: V th nghim ring ca phng trnh vi phn dy/dx = x2 vi iu kin ban u y(0) = 5 trn min [0, 10]. Ta thc hin nh sau: -->function ydot=f(x,y),ydot=x^2,endfunction -->y0=5;x0=0;x=0:0.1:10; -->y=ode(y0,x0,x,f) -->plot(x,y)

Ghi ch: Tham kho Ch 1 khi phi lm vic vi cc hm phc tp.

Trong ca s Graphic, bn vo Edit ---> Axes properties ghi ch cho hnh.VD2: V th nghim ring ca phng trnh vi phn

vi iu kin ban u y(4) = 2 trn min [4, 10]. Ta lm nh sau: -->function ydot=f(x,y),ydot=-x/(1-x^2)*y+x*y^(1/2),endfunction -->y0=2;x0=4;x=4:0.1:10; -->y=ode(y0,x0,x,f) -->plot(x,y)

Ch 8. Phng trnh sai phn1. Phng trnh sai phn cp 1 Ghi ch: Xt PTSP: y(k+1) = f(k, y(k)) Ta s v th nghim ring ca phng trnh ny trn 1 min ri rc no (xem thm phn l gii Ch 7). VD1: V th nghim ring ca phng trnh sai phn: y(n+1) + 2y(n) = 0 vi iu kin ban u y(2) = 3 trn dy cc s nguyn [2, 20] Ta thc hin nh sau: -->function z=f(k,y),z=-2*y,endfunction -->kvect=2:20; -->y=ode("discrete",3,2,kvect,f); -->plot2d2(kvect,y)

Ghi ch:V nghim ca PTSP l hm ri rc nn ta dng hm plot2d2() v th. hin th cc gi tr ca y bn g tip: -->y (khng c du ; )

Lu y ham y l dy y(2), y(3), ...., y(20). hin th y(2) (l s u tin) bn g:-->y(1)

hin th y(20) (l s th 19) bn g:-->y(19) Ghi ch: tnh y(30) chng hn, bn m rng min kvect ln qu 30. Tham kho Ch 1 khi phi lm vic vi cc hm phc tp.

Trong ca s Graphic, bn vo Edit ---> Axes properties ghi ch cho hnh.VD2: V th nghim ring ca phng trnh sai phn: y(n+1) - 2y(n) = 2n - 3 vi iu kin ban u y(0) = 1 trn dy cc s nguyn [0, 5] Ta thc hin nh sau: --> function z=f(k,y),z=2*y+(2*k-3),endfunction -->kvect=0:5; -->y=ode("discrete",1,0,kvect,f); -->plot2d2(kvect,y)

----------&&---------