You are on page 1of 17

Hng dn s dng

PHN MM SCILAB
(Cho hc phn Ton cao cp)

L VN TUN
I HC THNG MI

LI NI U
Scilab 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 t
Bn 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 thc


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

(%pi biu din s

; %e biu din s e)

VD: -->7/3.5
(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 thc
1. 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 tnh


Scilab 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 :

Ta thc hin nh sau:

Trn mn hnh s xut hin kt qu l:

-->A=[1,1,1;1,-1,0;1,1,2]

kerA =

-->b=[-6;1;-9]
-->[x,kerA]=linsolve(A,b)

[]
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:

Trn mn hnh s xut hin kt qu l:

-->A=[1,1,-1;3,0,-1]

kerA =

-->b=[0;-3]

0.2672612

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

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:

Trn mn hnh s xut hin kt qu l:

-->A=[1,1,-1]

kerA =

-->b=[-3]

- 0.5773503 0.5773503

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

0.7886751

0.2113249

0.2113249

0.7886751

x =
1.
1.
- 1.
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 th
1. 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 phn
1. Tch phn hm 1 bin (1 lp)
10

VD: Tnh x*exdx

-->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 hm
1. 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.

0.

2.

J =
2.

4.

Ch 7. Phng trnh vi phn


1. 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 phn


1. 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)

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

You might also like