You are on page 1of 33

Hng dn s dng Scilab dnh cho ngi mi bt u

Scilab Enterprises S.A.S - 143bis rue Yves Le Coz - 78000Versailles (Php) - www.scilab- enterprises.com
Ti liu ny l sn phm ca Scilab Enterprises v Christine Gomez, gio vin ton hc ti
Lyce Descartes (Trng Trung Hc Descartes) ti Antony, Hauts- de- Seine (Php).
2013 Scilab Enterprises. Bo lu mi quyn .
Hng dn s dng Scilab dnh cho ngi mi bt u - 2/33
Mc lc
Gii thiu
V ti liu ny 4
Ci t Scilab 4
Danh sch a ch 4
Cc ngun b sung 4
Chng1 Lm quen vi Scilab
Mi trng chung v giao din iu khin 5
Cc php tnh bng s n gin 6
Thanh trnh n 7
Trnh son tho 8
Ca s ha 9
Qun l cc ca s v ty bin khng gian lm vic 11
Chng2- Lp trnh
Cc bin s, gn gi tr v hin th 12
Cc vng lp 16
Kim tra 17
th 2 v 3D 18
B sung vo ma trn v vecto 23
chnh xc ca php tnh 29
Gii cc ph
ng trnh vi phn
30
Chapter 3 Cc hm Scilab hu dng
Trong phn tch 32
Trong xc sut v thng k 32
Hin th v v th 33
Tin ch 33
Hng dn s dng Scilab dnh cho ngi mi bt u
- 3/33
Gii thiu
V ti liu ny
Mc ch ca ti liu ny l nhm hng dn tng bc c th trong qu trnh khm ph cc
tnh nng c b
n ca Scilab dnh cho ngi cha tng s dng qua phn mm tnh ton s.
Nhng g c trnh by trong ti liu ny ch gii hn nhng iu cn thit gip ngi
dng s dng Scilab d dng hn.
Cc php tnh, biu v v d minh h a u c thc hin bng Scilab 5.4.0. Qu v c th
sao chp tt c cc lnh t phin bn ny.
Ci t Scilab
Scilab l mt phn mm tnh ton s min ph. Cc h iu hnh tng thch vi phn mm ny
l Windows, Linux v Mac OS X, qu v c th ti Scilab v my ti a ch sau:
http://www.scilab.org/
Nu qu v mun nhn thng bo v cc phin bn mi ca phn mm Scilab, qu v c th
ng k nhn thng bo t knh thng tin
ca chng ti theo a ch:
http://lists.scilab.org/mailman/listinfo/release
Danh sch a ch
Nhm to iu kin cho vic trao i gia nhng Ngi dng Scilab, chng ti lp cc danh
sch a ch d
nh ring cho tng nhm (danh sch a ch bng ting Php, danh sch a ch
cho ngnh gio dc, danh sch quc t bng ting Anh). Quy tc rt n gin: nhng ngi
ng k c th lin lc vi nhau thng qua email (t cu hi, tr li, chia s ti liu, phn
hi) .
xem cc danh sch hin c v
ng k theo di, qu v c th truy cp vo a ch sau
:
http://www.scilab.org/communities/user_zone/mailing_list
Cc ngun b sung
Nu qu v c kt ni Internet, mi qu v gh thm trang web Scilab, ti y qu v c th truy
cp v
o chuyn
mc s dng Scilab (http://www.scilab.org/support/documentation) cng cc
ng dn v ti liu c lin quan cho php qu v ti v v in min ph.
Hng dn s dng Scilab dnh cho ngi mi bt u
- 4/33
Chng1 Lm quen vi Scilab
Khng gian lm vic hu dng trong Scilab bao gm cc ca s sau:
Giao din iu khin thc hin cc php tnh,
Trnh son tho lp trnh,
Cc ca s ha hin th,
Tr gip tch hp
Mi trng chung v giao din iu khin
Sau khi nhp p chut vo biu tng khi ng Scilab, mi trng Scilab mc nh s
bao gm cc ca s kiu thanh dock nh sau giao din iu khin, cc trnh duyt file v bin
s, lch s t lnh (xem phn Qun l cc ca s v ty bin khng gian lm vic, trang 11):
Trong giao din iu khin sau du nhc - - >, nh mt dng lnh v nhn phm Enter
(Windows v Linux) hoc phm Return (Mac OS X) trn bn phm nhn kt qu tng ng.
- - > 57/4
ans =
14.25
- - > (2+9)^5
ans =
161051.
Mo
Trc kt qu, ans
c ngha l p
n.
Ngi dng c th quay li bt k lc no bng cc phm mi tn trn bn phm hoc
bng chut. Cc phm tri v
phi c s dng thay i phn
ch lnh cn cc phm ln v
xung c s dng quay v mt dng lnh c thc hin trc .
Hng dn s dng Scilab dnh cho ngi mi bt u - 5/33
Cc php tnh s n gin
Tt c cc php tnh thc hin bi Scilab u dng s. Scilab thc hin cc php tnh bng ma
trn (xem chng 2, trang 23).
Cc thao tc c lp trnh vi du + cho php cng, du cho php tr, du * cho php
nhn, du / cho php chia, du ^ cho s m. V d:
- - >2+3.4
ans =
5.4
Phn ny c phn bit vit hoa v vit thng . Do cn ch n ch vit hoa v vit thng
cc php tnh c thc hin chnh xc. V d, vi lnh sqrt (tnh cn bc hai):
- - >sqrt(9) trong khi : - - >SQRT(9)
ans = - - error 4
3. Bin s khng xc nh: SQRT
Cc con s c th
%e v %pi ln lt i din cho e v :
- - > %e - - > %pi
%e = %pi =
2.7182818 3.1415927
%i i din cho i trong cc phc hp khi nhp v c hin th l i trong kt qu:
- - > 2+3*%i
ans =
2. + 3.i
i vi cc kt qu khng hin th
Khi thm du chm phy ; vo cui d ng lnh, php tnh c thc hin nhng kt qu khng
c hin th .
- - >(1+sqrt(5))/2; - - > (1+sqrt(5))/2
ans =
1.618034
Hng dn s dng Scilab dnh cho ngi mi bt u - 6/33
nhc tn ca mt hm
Tn ca cc hm thng c s dng c tng kt ti Chng 3 ca ti liu (trang 32).
V d:
- - > exp(10)/factorial(10)
ans =
0.0060699
Mo
Tt c cc hm kh
dng u c lit k
trong phn tr gip
tch hp bng cch
nhp chut vo thanh
trnh n trn ?>
ScilabHelp.
C th dng phm tab trn bn phm hon tt tn ca mt hm hay mt bin s bng
cch nhp mt s ch ci u tin:
V d, sau khi nhp vo giao din iu khin lnh:
- - >fact
V nhn phm tab, mt ca s hin th tt c cc tn hm v bin s b t u bng fact, chng
hn nh factorial v factor s hin ra. Ch cn nhp p chut vo hm cn dng hoc chn
hm bng chut hoc bng cc phm v nhn Enter (Windows v Linux) hoc Return
(Mac OS X) ch
n hm vo dng lnh.
Thanh trnh n
Cc trnh n lit k di y c bit hu dng:
Applications
Lch s t lnh cho php bn tm li tt c cc lnh t cc phin trc cho n
phin hin ti.
Trnh duyt bin s cho php bn t
m li tt c cc bin s c s dng trc
trong phin hin ti.
Edit
Preferences (trong trnh n Scilab dnh cho Mac OS X) cho php bn thit lp v ty chnh
mu sc, phng ch v c ch trong giao din iu khin v trnh son tho, iu ny rt hu
dng khi phi chiu ln mn hnh.
Nhp chut vo Clear Console s xa ton b ni dung trong giao din iu khin. Trong
trng hp ny, lch s t lnh vn cn v cc php tnh c thc hin trong phin vn c n
trong b nh. Cc lnh b xa vn c th ly li bng cc phm mi t
n trn bn phm.
Control
lm gin on mt chng trnh ang chy, bn c th lm nh sau:
Nhp lnh pause vo chng trnh hoc nhp chut vo Control>Interrupt trong
thanh trnh n (Ctrl X vi Windows v Linux hoc Command X vi Mac OS X), nu
chng trnh
ang chy sn. T
rong mi tr
ng hp, du nhc
- - > s chuyn th
nh
- 1- >, sau thnh - 2- > , nu thao tc c lp li.
quay v thi im trc khi lm gin on chng trnh, nhp lnh resume vo
giao din iu khin hoc nhp chut vo Control >Resume.
thot ra hon ton mt php tnh v khng quay li, nhp lnh abort trong giao
din iu khin hoc nhp chut vo Control >Abort trn thanh trnh n.
Hng dn s dng Scilab dnh cho ngi mi bt u - 7/33
Trnh son tho
Vic nhp trc tip vo giao din iu khin c hai im bt li: th nht l khng th lu c
cc lnh v th hai l vic son tho nhiu dng ch lnh l khng h d dng. Trnh son tho
l cng c thch hp chy nhiu ch lnh cng lc.
M trnh son tho
m trnh son tho t giao din iu khin, nhp chut vo biu tng u tin trn thanh
cng c hoc vo mc Applications >SciNotes trn thanh trnh n.
Trnh son tho c m vi tn file mc nh l Untitled 1.
Son tho trong trnh son tho
Son tho trong tr
nh son tho cng ging vi
mi cng c x l vn bn khc.
Trong trnh son tho vn bn, chc nng m v ng cc du ngoc, kt thc cc lnh vng lp, hm v
kim tra c t ng thm vo. Tuy nhin, c th tt cc tnh nn g ny trong mc Options > Auto
completion on trnh n, nhp chut vo hai mc c kch hot mc nh di y:
(,[,
if,function,
V mt nguy
n tc
, mi ch lnh u phi
c nhp vo mt dng ring bit,
tuy nhin,vn
c th nhp nhiu cu trn cng mt dng lnh, tch bit nhau bng du chm phy ;.
K t trng u dng c gi l du ch l t ng khi mt vng lp hay php kim tra c
khi ng.
Trong v d sau y, chng ti tnh 10 s hng ca chui ( n ), c xc nh bi:
1
= 1
n + 1
= 2
n
3
Mo
- Cc dng ch gii bt u bng // s khng c tnh trong cc php tnh;
- thay i phng ch, nhp chut vo Options >Preferences.
- Khi lp tr
nh, dng lnh c t ng tht vo. Nu dng lnh khng
t ng tht v
o,
nhp chut vo Format >Correct indentation khi phc (Ctrl I vi Windows v Linux hoc
Command I vi Mac OS X).
Hng dn s dng Scilab dnh cho ngi mi bt u - 8/33
!
!
Lu
Bn c th lu bt k file no bng cch nhp chut vo File >Saveas.
ui .sce cui tn file s t ng khi ng Scilab khi c m (tr h iu hnh Linux v Mac OS
X).
Chp vo giao din iu khin, chy mt chng trnh.
Khi nhp chut vo mc Execute trn thanh trnh n, s c ba l a chn nh sau:
Thc hin file with no echo (Ctrl Shift E vi Windows v Linux, Cmd Shift E vi
Mac OS X): file s c chy m khng cn lp trnh trong giao din iu khin (bt
buc phi lu file trc)
.
Thc hin file with echo (Ctrl L vi Windows v Linux, Cmd L vi Mac OS X):
chp li file vo giao din iu khin v chy file.
Thc hin until the caret, with echo (Ctrl E vi Windows v Linux, Cmd E vi
Mac OS X): chp li la chn c chn bng chut vo giao din iu khin v
chy la chn hoc chy d liu file cho n khi ng
i
dng xc nh v tr du nhy.
C th s dng chc nng copy/paste thng thng.
Ca s ha
M mt ca s ha
Ca s ha s t ng m khi v mt biu bt k. C th v cc ng cong, mt phng,
cc chui im (xem chng 2, trang 18).
c v d v ng cong, nhp vo giao din iu khin lnh:
- - >plot
Mo
- xa biu
trc , nhp lnh
clf (xa s ).
- m mt ca s
ha khc, nhp
lnh scf; (lp biu
).
Nu m cng lc
mt vi ca s
ha, c th la chn
ca s mun v biu
bng cch nhp
lnh scf(n); n l s
ca s ha (nm
pha trn bn tri).
Hng dn s dng Scilab dnh cho ngi mi bt u - 9/33
iu chnh biu
Biu tng knh lp dng phng to thu nh. phng i ra c hai chiu, nhp chut vo
cng c v dng chut to mt hnh ch nht to gc xem c m rng mi. phng i
ra ba hng, nhp chut vo cng c v to hnh khi lc din to gc xem c m rng
mi. Bn cng c th phng i bng con ln ca chut. tr v m
n hnh ban u,
nhp
chut vo biu tng knh lp khc .
.
Biu tng cho php xoay hnh (c bit hu ch vi hnh 3D) bng thao tc nhp chut
phi theo hng dn trong phn tin nhn
pha di ca s ha.
iu chnh chnh xc hn, nhp chut vo Edit >Figure properties hoc Axes properties v
xem hng dn (la chn ny cha kh dng i vi Mac OS X) .
H tr trc tuyn
c h tr trc tuyn, nhp chut vo?>ScilabHelp trn thanh trnh n, hoc nhp lnh sau vo
giao din iu khin:
- - >help
Mo
Cc v d v s
dng c th chy
c trn Scilab v
son tho trn
SciNotes bng cch
s dng cc phm
km theo trong
khung mu.
c h tr vi bt k hm no, nhp lnh help vo giao din iu khin, sau nhp tn
hm tng ng. V d:
- - >help sin
hin th phn h tr help cho hm sin (sine).
Hng dn s dng Scilab dnh cho ngi mi bt u - 10/33
Qun l cc ca s v ty chnh khng gian lm vic
Trong mi trng Scilab mc nh, giao din iu khin, cc trnh duyt file v bin s v lch
s t lnh u l cc ca s dng dock, tt c cc ca s khc trong Scilab u c th chuyn
thnh v tr ring r. V d, ngi dng c th chn v tr cho trnh son tho trong mi trng
mc nh ca Scilab.
gn mt ca s vo mt ca s khc, u tin phi xc nh thanh ngang mu xanh trong
Window hay mu en trong Mac OS X v Linux, trn u ca s trong thanh cng c c du
hi gc phi.
Trong Windows v Linux, nhp chut vo thanh ny bng chut tri v trong khi vn
gi chut tri, di chuyn con tr chut vo ca s mong mun.
Trong Mac OS X, nhp chut vo thanh ny v trong khi vn gi chut, chuyn
thanh ny vo ca s mong mun.
Mt hnh ch nht s xut hin, cho bit v tr tip theo ca ca s. Khi di chuyn n v tr
m bn mun, th phm bm chut. hy thao tc v chuyn ca s ra, nhp chut vo mi
tn nh gc phi ca thanh ny.
Hng dn s dng Scilab dnh cho ngi mi bt u - 11/33
Chng 2 Lp trnh
Trong cc v d a ra trong ti liu ny, bt c dng no bt u bng - - > s l mt lnh, cc
dng khc l phn hi t cc dng lnh (kt qu php tnh, tin nhn bo li). Khng c
ghi - - > trong trnh son tho. Cc v d c a ra y l nhm phn bit gia cc dng
lnh v kt qu tnh ton hin th trong giao din iu khin s au khi sao chp/dn. Khi hin th
trong bng (khng c - - > v kt qu tnh ton, cc lnh
c m t chnh xc nh khi nhp
trong trnh son tho.
Cc bin s, gn gi tr v hin th
Cc bin s
Scilab khng phi l mt h i s trn my tnh. Phn mm ny ch tnh ton bng cc ch s.
Mi php tnh u c thc hin bng ma trn, mc d iu ny c th khng c ch .
Ngay c khi khi nim ma trn khng r rng, th vecto v cc chui ch s cng c th gii
thch khi nim ny, m trn thc t, l ma trn c chiu 1 n hoc n 1 v mt ch s l ma
trn c chiu 1 x 1.
Cc bin s khng cn
c biu th trc, nhng mi bin s u phi c gi tr. V d, tnh
gi tr ca mt bin s cha c cho gi tr s thy li hin th:
- - >a
! - - error 4
Bin s cha xc nh : a
Nu mt gi tr c gn cho bin s a, li ny s khng cn na:
- - > a=%pi/4
a =
0.7853982
- - > a
a =
0.7853982
Cc bin s c th c tn bt k khng do h thng nh sn:
- - > Piby2=%pi/2
Piby2 =
1.5707963
Mo
Tng t cc chc
nng ca Scilab, tn
mt bin s khng
c cha du hay
k t c bit.
Hng dn s dng Scilab dnh cho ngi mi bt u - 12/33
Kt qu mt php tnh khng c gn bin s s t ng c gn cho bin s ans:
- - >3*(4- 2)
ans =
6.
- - >ans
ans =
6.
Cc hm
Hm l phng php d dng cng nh thng thng nht thc hin cc php tnh t cc
bin s v
thu c kt qu t cc bin s.
Xc nh mt hm bt u vi function v kt thc bng endfunction. V d, i t ng
euro (e) sang ng la (d) theo t gi hi oi l (t), hm dollars s c xc nh. Cc bin
s l e v t v nh l d.
- - >function d=dollars(e,t); d=e*t; endfunction
- - >dollars(200,1.4)
ans =
280.
Mt s hm s thng gp l cc hm c mt bin s thc. V d, hai hm f v g c xc dnh
bng cc lnh sau:
- - >function y=f(x); y=36/(8+exp(- x)); endfunction
- - >function y=g(x); y=4*x/9+4; endfunction
Mo
Cc bin s x v y l
cc bin s o, tn
cc bin s ny c
th c ti s dng
khi xc nh cc hm
khc trong Scilab.
Cc hm xc nh c th
c s dng tnh cc gi tr:
- - > f(10)
ans =
4.4999745
- - > g(12.5)
ans =
9.5555556
Hng dn s dng Scilab dnh cho ngi mi bt u - 13/33
Yu cu gn gi tr cho mt bin s
Vic gn gi tr cho bin s kh d dng bng cch s dng ton t =.
Hin th
Son tho
Vic son tn bin s s hin th gi tr ca bin s , tr khi c du ; cui dng lnh.
Du ngoc
Cc ma trn c xc nh bng du ngoc vung (xem trang 23). Nh nu trn, vic tnh
ton bng ma trn l nn tng cho cc php tnh trong Scilab. K t trng hay du phy c
s dng chia cc ct v du chm phy c dng chia cc hng.
xc nh mt vecto ct v hi n th theo ct:
- - >v=[3;- 2;5]
v =
3.
- 2.
5.
xc nh mt vecto hng v hin th theo hng:
- - >v=[3,- 2,5]
v =
3. - 2. 5.
Mo
Lnh ny cng c
th c son di
dng:
v=[3 - 2 5]
xc nh mt ma trn v hin th theo bng:
- - >m=[1 2 3;4 5 6;7 8 9]
m =
1. 2. 3.
Mo Lnh ny cng c
th c son di
dng:
m=[1,2,3;4,5,6;7,8,9]
4. 5. 6.
7. 8. 9.
Hng dn s dng Scilab dnh cho ngi mi bt u - 14/33
Hm disp
disp buc phi s dng vi du ngoc.
Vi vecto v c xc nh trc :
- - >v(2)
ans =
- 2.
- - >disp(v(2))
- 2.
hin th mt chui (thng l mt mnh ), t chui trong du ngoc:
- - >disp(Bob won)
Bob won
hin th mt t hp t v gi tr, s dng lnh string cho php chuyn i cc gi tr sang
cc chui k t bng du + gia cc phn khc nhau:
- - >d=500;
- - >disp(Bob won +string(d)+ dollars)
Bob won 500 dollars
Nu mnh ch c mt du ngoc, th cn phi thm mt du ngoc na trong chui
chui c hin th ng.
- - >disp(Its fair)
It's fair
Cc vng lp
Gia lng
Ton t : cho php xc nh cc vecto ca cc ch s c ta theo th t s hc. Ta a
ra: << beginning value: step: ending value>>. Gi tr cui ending value c th s khng t
c. Nu bc trn khng c cp, th gi tr mc nh s l 1.
V d, xc nh mt vecto hng ca cc s nguyn tng theo cp 1 t 3 n 10:
- - >3:10
ans =
3. 4. 5. 6. 7. 8. 9. 10.
Hoc tng theo cp 2 t 1 n 10:
- - >1:2:10
ans =
1. 3. 5. 7. 9.
Hng dn s dng Scilab dnh cho ngi mi bt u - 15/33
Hoc gim theo cp 4 t 20 n 2:
- - >u=20:- 4:2
u =
20. 16. 12. 8. 4.
For
Cu trc vng lp d nht i vi mt ch s lp i l p li c nh c son bng for end.
V d: Tnh 20 s hng ca mt chui c xc nh bng php truy ton:
n + 1 = n + 2 + 3
Thut ton
Thay 4 vo u(1)
Lnh for n t 1 n 20
Trnh son tho Scilab
u(1)=4;
for n=1:20
u(n+1) mang gi tr u(n)+2n+3
v u(n)
u(n+1)= u(n)+2*n+3;
disp([n,u(n)])
Hin th n v u(n) end
Kt thc lnh for
While
dng mt vng lp khi t c mc tiu ra, ta s dng while end.
Vo nm 2005 ti d tnh trng mt cy t hng Noel cao 1,20m. Mi nm cy thng ny li cao
thm c 30cm. Ti quyt nh s cht cy khi cy cao hn 7m. Vy ti s cht cy vo nm
no?
Thut ton
Thay 1.2 vo h (h = chiu cao ca cy)
Thay 2005 vo y (y = nm)
Lnh while h<7
h mang gi tr h+0.3 (cy cao ln mi nm)
y mang gi tr y+1 (mi nm qua)
Kt thc lnh while
Hin th y (nm cui c
ng
)
Trnh son tho Scilab
h=1.2;
y=2005;
while h<7
h=h+0.3;
y=y+1;
end
disp( I will cut the..
tree in +string(y))
Mo
Khi c mt lnh qu d
i khng th ghi trn mt dng, trnh son tho s chn cc dng
bng .. (hai du chm) trc khi n dng tip theo.
Hng dn s dng Scilab d
nh cho ngi mi
bt u - 16/33
1 = 4
Kim tra
Cc ton t so snh
Cc php kim tra hu dng bao gm cc ch s i chiu hoc xc nh mt cu lnh l ng
hay sai. Bn di l cc lnh t
ng ng:
Bng Khc Nh hn
== <> <
Ln
hn
>
Nh hn
hoc bng
<=
Ln hn
hoc bng
>=
ng Sai V Hoc Ph
nh
%T %F & | ~
Mo
Hy cn trng vi chnh xc ca php tnh. Cc php tnh c thc hin v == i
khi s cho kt qu sai (Xem chnh xc ca php tnh, trang 30) .
so snh hai vecto (hoc hai ma trn), php kim tra == v <> s so snh tng s hng.
V d:
- - >X=[1,2,5]; Y=[5,3,5];
- - >X==Y
ans =
F F T
kim tra xem hai vecto c bng nhau hay khng, s dng isequal v ~ isequal nu chng khc nhau:
- - >isequal(X,Y)
ans =
F
- - >~isequal(X,Y)
ans =
T
Ifthen
Cc cu lnh iu kin c bn nh sau:
if then else end,
if then elseif then else end.
if then phi c nhp trn cng mt dng v tng t vi
elseif then.
Hng dn s dng Scilab d
nh cho ngi
mi bt u - 17/33
V d: Alice tung ba ci xc xc
Nu c ba u l mt 6, c b s c $20,
Nu c ba u lt mt ging nhau nh
ng khng phi l 6, c b c $10
,
Nu c hai xc xc lt mt ging nhau, c b c $5,
Nu khng c b s khng c g c .
M phng mt php th v tnh s tin Alice c c bng cc hm:
grand (xem trang 22),
unique(D) ch gi mt ln cc gi tr xut hin vi ln trong D,
length(unique(D)) cho chiu ca vecto thu c, l 1 nu ba xc xc lt mt ging
nhau, l 2 nu c 2 xc xc ging nhau.
Thut ton
Thay ba gi tr vo D
Lnh If nu Alice tung c c ba l
6, th
Alice c 20 la.
Nu c b tung c ba gi tr ging
nhau, th
Alice c 10 la
Nu c b tung c hai gi tr ging nhau,
th
Alice c 5 la
Nu khng
Alice khng c la no c
Kt thc lnh if
Hin th s tin Alice c c
Trnh son tho Scilab
D=grand(1,3, uin ,1,6);
if D==[6,6,6] then
W=20;
elseif length(unique(D))==1 then
W=10;
elseif length (unique(D))==2 then
W=5;
else
W=0;
end
disp( Alice wins +..
string(W)+ dollars )
th 2D v 3D
Lnh plot c s dng to biu trn mt phng. Mu sc v dng biu c th c
xc nh bng cch chn cc du hiu ch mu v kiu ch im trong du ngoc:
Mu sc
b = xanh dng (mc nh), k = en, r = , g = xanh l cy, c = mu lc lam, m =
ti,
y = vng, w = trng.
Kiu ch im
Ni lin (mc nh), hoc ., +, o, x, *.
Cc la chn khc: s, d, v, <,v >.
Hng dn s dng Scilab dnh cho ngi mi bt u - 18/33
Cc biu c bn
v mt im
V im A(1 ; 2) bng mt chm
Trnh son tho Scilab Ca s ha
plot(1,2, .r)
v mt on thng
V on thng [AB] mu xanh dng (mc nh) vi A(1 ; 2) v B(3 ; 5).
Trnh son tho Scilab Ca s ha
plot([1,3],[2,5])
Biu gm cc ng cong trn mt phng c xc nh bng hm y=f(x)
i vi hm ( ) cc gi tr ca x c xc nh bng lnh linspace bng cch nhp:
x=linspace(a,b,n); trong a l gi tr nh nht ca bin s , b l gi tr cao nht ca bin s
, v n l s nhng gi tr c tnh gia
a v b.
Khng c qun du ; nu khng tt c cc gi tr n ca s c hin th.
V d, xt hai hm v c xc nh qua khong [- 2 ; 5] bi hm:
= (
2
+ 2 ) e
- x
, v = sin ( )
Hng dn s dng Scilab dnh cho ngi mi bt u - 19/33
Vi chng trnh d
i y, ta v ng cong xc nh bi , mc nh mu xanh dng
:
Trnh son tho Scilab Ca s ha
function y=f(x)
y=(x^2+2*x)*exp(- x)
endfunction
x=linspace(- 2,5,50);
plot(x,f)
Bng cch b sung thm chng trnh di y, ta c biu gm hai ng cong, ng f mu
v ng g mu xanh l cy. Biu trc c xa bng lnh clf (xa biu ).
Trnh son tho Scilab Ca s ha
function y=g(x)
y=sin(x/2)
endfunction
x=linspace(- 2,5,50);
clf
plot(x,f, r ,x,g, g )
Biu chui im
Cc s hng ca mt chui
Trng hp thng gp nht l v cc chui im ( , ( ) ) sau khi tnh cc ta ( ) ca vecto
. plot(u, *r) xc nh dng v mu sc ca cc im trong du ngoc
: mu v chui hnh
sao. Theo mc nh, cc im c v bng mu xanh dng v c ni lin.
Trnh son tho Scilab Ca s ha
for n=1:50
u(n)=(- 0.8)^n;
end
clf; plot(u, *r)
Hng dn s dng Scilab dnh cho ngi mi bt u - 20/33
D liu thng k hai bin s
D liu thng k hai bin s c cho di dng hai vecto: gi hai vecto ny l X v Y.
plot(X,Y, <) s to biu phn tn ca im ( i ; i ) vi cc hnh tam gic mu xanh
dng.
Trnh son tho Scilab Ca s ha
X=[1,3,3,7,7,9,10];
Y=[8,7,5,5,4,2,2];
clf; plot(X,Y, <)
Biu ba chiu
Scilab c th c s dng v cc mt phng v ng cong trong khng gian, cng nhiu
ty chn x l cc mt n, m
u sc cc mt, cc im quan s
t c Cc v d sau y s
minh ha cho biu 3- D
Hmsurf c th dng v cc mt phng. Hm ny c ba bin s u vo x, y v z. x v y l
cc vecto ln lt c ln v tng ng vi cc im trn cc trc ( x) v ( y). z l ma trn
c chiu m vi thnh t z tng ng vi chiu cao ca im vi ta trc X i v ta trc
Y j .
v mt mt phng xc nh bng hm c dng = ( , ), ta phi:
Xc nh hm
Tnh z=feval(x,y,f)'
feval(x,y,f) cho ma trn c j l ( , ) c i bng cch s dng biu tng ngoc n
Chy hmsurf(x,y,z).
v mt phng = 2
2
+
2
(mt parabol h
nh elip
):
Trnh son tho Scilab Ca s ha
function z=f(x,y)
z=2*x^2+y^2;
endfunction
x=linspace(- 1,1,100);
y=linspace(- 2,2,200);
z=feval(x,y,f)';
clf
surf(x,y,z)
Hng dn s dng Scilab dnh cho ngi mi bt u - 21/33
Cc ng cong trong khng gian c v bng hm param3d. param3d c ba i s x, y v
z, mi vecto u c cng chiu v tng ng vi cc im( j , j , j ) trn ng cong.
v ng trn c bng hm( = cos ( ) , = sin ( ) , = t): :
Trnh son tho Scilab Ca s ha
t=linspace(0,4*%pi,100);
param3d(cos(t),sin(t),t)
M phng v thng k
Scilab c mt s hm thc hin cc php m phng mt cch nhanh chng v hiu qu:
Cc chui ngu nhin
grand(1,p, uin ,m,n) cho vecto bao gm cc chui s nguyn ngu nhin gia v
vi l s nguyn dng, v l cc s nguyn v .
- - >t= grand(1,4, uin ,1,6)
t =
3. 1. 3. 6.
grand(1,p, unf ,a,b) cho vecto bao gm cc chui s thc ngu nhin gia v
vi l s nguyn dng, v l s thc v .
- - >tr= grand(1,2, unf ,- 1,1)
tr =
- 0.7460264 0.9377355
Hng dn s dng Scilab dnh cho ngi mi bt u - 22/33
Thng k
Tt c cc hm thng k c bn c lit k ti trang 32 .
c bit lu
:
Hmbar(x,n,color) v biu dng ct:
Trnh son tho Scilab Ca s ha
x=[1:10];
n=[8,6,13,10,6,4,16,7,8,5];
clf; bar(x,n)
i vi biu dng ct th hin hai khi cnh nhau: xt chui cc gi tr X v hai
chui cc ch s n1 v n2. Khi v biu , n1 v n2 phi l cc vecto ct v l l
do v sao chuyn v c s dng trong v d di y:
Trnh son tho Scilab Ca s ha
X=[1,2,5];n1=[5,10,5];n2=[6,8,7];
bar(X,[n1',n2'])
i s tu chn color xc nh mu sc nh trong hm plot.
Thng tin b sung v ma trn v vecto
Nhp cc phn t
Du ngoc vung c dng xc nh cc ma trn. K t trng hoc du phy c dng
chuyn t ct ny sang ct khc v du chm phy c dng chuyn t dng ny sang dng
khc.
- - >m=[1 2 3;4 5 6]
m =
1. 2. 3.
4. 5. 6.
Mo
Lnh ny c th
c nhp di
dng:
m=[1,2,3;4,5,6]
Du ngoc c dng nhp cc phn t hoc sa i chng.
Hng dn s dng Scilab d
nh cho ngi mi bt u
- 23/33
- - >m(2,3)
ans =
6.
- - >m(2,3)=23
m =
1. 2. 3.
4. 5. 23.
Ton t : c dng biu th tt c cc hng hoc tt c cc ct ca mt ma trn .
xem hng th hai ca ma trn m, nhp:
- - >m(2,:)
ans =
4. 5. 23.
V hng ba:
- - >m(:,3)
ans =
3.
23.
chuyn v mt ma trn hay mt vecto s dng biu t ng du ngoc n ' :
- - >m'
ans =
1. 4.
2. 5.
3. 23.
Cc thao tc
Cc thao tc * , / l cc thao tc trong ma trn. thc hin cc thao tc theo tng phn
t, ta phi t du chm trc du thao tc: .* , ./ .
- - >A=[1,2,3;4,5,6]
A =
1. 2. 3.
4. 5. 6.
- - >B=[1;1;2]
Hng dn s dng Scilab dnh cho ngi mi bt u - 24/33
B =
1.
1.
2.
- - >A*B
ans =
9.
21.
- - >A*A
- - error 10
Php nhn khng ph hp.
- - >A.*A
Php nhn trong ma trn
Chiu khng ph hp
ans =
Php nhn theo tng phn t
1. 4. 9.
16. 25. 36.
- - >2*(A+2)
ans =
6. 8. 10.
12. 14. 16.
Thao tc c thc hin trn tng
phn t v 2 l mt ch s
- - >A/A
ans =
1.
3.795D- 15
- - >A./A
1.518D- 16
1.
Cho ma trn Xtrong X*A=A
Kt qu chnh xc l:
1. 0
0 1.
tnh ton c chnh xc, kt qu
c th s hi khc bit tu thuc vo
phin bn Scilab v h iu hnh (xem
chnh xc ca php tnh, trang 29) .
ans =
Cho ma trn chia thnh tng phn t.
1. 1. 1.
1. 1. 1.
Trong trng hp vecto:
- - >C=1:4
C =
1. 2. 3. 4.
- - >C*C
- - error 10 Chiu khng ph hp
Php nhn khng ph hp.
Hng dn s dng Scilab dnh cho ngi mi bt u
- 25/33
- - >C.*C
ans =
1. 4. 9. 16.
- - >1/C
C th nhp C^2, i vi vecto, cc i
s s c th hin nh mt thao tc
theo tng phn t. y khng phi l
trng hp ging vi ma trn.
ans =
0.0333333
0.0666667
0.1
0.1333333
- - >(1)./C
ans =
1. 0.5 0.3333333
0.25
Trong trng hp c bit i vi
vecto ny, ta tm vecto Xtrong
C*X= 1
Vic o ngc tng phn t
Trc , C^(- 1) l kh d. Du
ngoc quanh 1 l cn thit
im bn cnh khng c coi
l mt du phy thuc ch s
1. C th vit 1 ./C vi mt k
t trng gia 1 v .
Gii cc h tuyn tnh
gii h tuyn tnh AX = Y, trong A l mt ma trn vung, s dng du gch cho ng
c
\
X= A\ Y.
Lu , thao tc Y / A s cho (ch khi ng chiu) mt kt qu khc, l ma trn Z trong Z
A = Y
gii h:
4
2
5
6
=
1
- - >A=[1 2 3;4 5 6];
- - >Y=[1;1];
- - >X=A\Y
X =
- 0.5
0.
0.5
- - >A*X
ans =
1.
1.
Hng dn s dng Scilab dnh cho ngi mi bt u - 26/33
1 3 1
Mt s hm hu dng
Sort
Hmgsort c dng phn loi cc phn t ca mt vecto theo th t tng dn hoc gim dn.
- - >v=[2,6,9,6,- 4,0,2]
v =
2. 6. 9. 6. - 4. 0. 2.
- - > gsort(v, g, i")
ans =
- 4. 0. 2. 2. 6. 6. 9.
- - > gsort(v)
ans =
9. 6. 6. 2. 2. 0. - 4.
Length
Hmlength cho s cc ta ca mt vecto. Hmsize cho cc chiu (hng, ct ) i vi mt ma
trn.
- - >U=[1:10]
U =
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
- - >length(U)
ans =
10.
- - >m=[1 2 3;4 5 6];
- - >size(U)
ans =
2. 3.
Hng dn s dng Scilab dnh cho ngi mi bt u - 27/33
Sumand product
Hm sum and prod ln lt tnh tng v tch ca cc phn t i s.
- - >U=[1:10];
- - >sum(U)
ans =
55.
- - >prod(U)
ans =
3628800.
Unique
Hmunique ch gi cc phn t ca mt vecto mt ln (ngay c khi chng c lp li vi ln)
v phn loi chng theo th t tng dn.
- - >v=[2,6,9,6,- 4,0,2]
v =
2. 6. 9. 6. - 4. 0. 2.
- - >unique(v)
ans =
- 4. 0. 2. 6. 9.
Find
Hmfind tm cc phn t trong mt vecto hoc mt ma trn v cho mt vecto cha cc ch s
tng ng:
tm tt c cc phn t ca vecto nh hn 5:
- - >w=[1,5,3,8,14,7,3,2,12,6]; find(w<5)
ans =
1. 3. 7. 8.
Vecto kt qu (1,3,7,8) cho thy cc phn t 1 , 3 , 7 and 8 nh hn 5.
Hng dn s dng Scilab dnh cho ngi mi bt u - 28/33
tm tt c cc phn t ca vecto bng 3:
- - >w=[1,5,3,8,14,7,3,2,12,6]; find(w==3)
ans =
3. 7.
Vecto kt qu (3,7) cho thy cc phn t 3 v 7 bng 3.
chnh xc ca php tnh
Php tnh
Cc con s c gi tr tuyt i gia khong 2.210
- 308
v 1.810
+308
.
Ch s %eps tng ng vi 2.220446049D- 16 cho chnh xc tng i nh nht c th
c c trong cc php tnh, v do cho khong 16 ch s thp phn.
V d 1: Php tnhsin()
- - >sin(%pi)
ans =
1.225D- 16
gi tr ca s i n trn khng phi 0, nhng c xem l khng
. Qu vy, so snh vi gi tr cc
i ca hm sin (i.e. 1), gi tr ny bng 0 vi mt gi tr thp hn %eps.
V d2: Kim tra xem tam gic vi cc cnh , 1 et 2 c ng l mt tam gic vi cc gc ph hp
hay khng:
- - >a=sqrt(3)
a =
1.7320508
- - >b=1
b =
1.
- - >c=2
c =
2.
- - >a^2+b^2==c^2
ans =
F
Chng trnh phn hi khng ng
do gi tr ca a^2 + b ^ 2 l xp x
Hng dn s dng Scilab dnh cho ngi mi bt u - 29/33
- - >abs(a^2+b^2- c^2)<%eps
ans =
F
Chng trnh phn hi khng ng
do yu cu gi tr chnh xc tuyt i
- - >abs(a^2+b^2- c^2)/c^2<%eps
ans =
T
Display
Chng trnh phn hi ng do yu
cu gi tr chnh xc tng i
Cc kt qu c hin th, theo mc nh, vi 10 k t, bao gm c du thp phn. Hm format
c dng hin th nhiu s thp phn hn. hin th 20 ch s thp phn, nhp
format(20).
Xt li = 3:
- - >a^2
ans =
y c 7 ch s thp phn v ta khng
thy li.
3.
- - >format(20)
- - >a^2
ans =
2.99999999999999956
y c 17 ch s thp phn v ta
thy li.
Gii cc phng trnh vi phn
tm cc li gii cho mt h hin ca cc phng trnh vi phn, ch cn h phng trnh vi
phn theo bc 1.
y(t) = f(y(t)) trong 0 v t th hin thi gian v 0 v (t) l cc vecto,
( 0) = 0
Sau dng hmode: y=ode(y0,t0,t,f), vi:
y0: iu kin ban u, vecto c chiu ,
t0: thi im ban u,
t: vecto c hng T tng ng vi cc thi im tnh p n. Vecto ny phi bt u
vi t0.
f: hm xc nh h di dng
:
function yprim=f(t,y)
yprim(1)=...
yprim(2)=...
....
yprim(n)=...
endfunction
Hng dn s dng Scilab dnh cho ngi mi bt u - 30/33
p n l ma trn c hng
V d: gii phng trnh vi phn
( ) = , ( ) =0
Phng trnh bc 2 ny c h bc xung h gm hai phng trnh bc 1 nh sau:
v
Ch gii
Ta xc nh hm cho ra vecto y t cc bin s
u vo t v y (y l mt vecto).
Ta xc nh cc gi tr ca t lp biu .
(ngi gii t chn cc gi tr ph hp ca t cho
php tnh ni suy ca b
i gii)
.
Ta xc nh cc iu kin ban u.
Ta chy hm ode.
Ta v ng cong tch phn ca y i vi t.
Trnh son tho Scilab
function yprim=f(t,y)
yprim(1)=y(2);
yprim(2)=- 4*y(1) ;
endfunction
t0=0; tmax=5;
t=t0:0.05:tmax;
y0=3; yprim0=0;
y=ode([y0;yprim0],t0,t,f);
clf; plot(t,y(1,:))
Hng dn s dng Scilab d
nh cho ngi mi bt u
- 31/33
" =
Chng3 Cc hm Scilab hu dng
Phn tch
sqrt(x) cho cn bc hai ca vi l s dng hoc khng, v nghim phc ca phn
t dng trong trng hp ngc li.
log(x) cho i s t nhin ca x vi x l s thc hoc s phc.
exp(x) cho cp s nhn ca vi l s thc hoc s phc.
abs(x) cho gi tr tuyt i ca thc (hoc m- un nu x l s phc).
int(x) b cc s hng ca thc (s dng trc s thp phn).
floor(x) cho phn t dng ca thc (s dng vi < + 1).
ceil(x) i vi thc cho s nguyn for vi 1 < .
Xc sut v thng k
factorial(n) cho giai tha ca n vi n l s nguyn dng hoc s khng.
grand(1,p, uin ,m,n) cho vecto ca cc chui s nguyn ngu nhin
p c ly
trong khong gia m v n vi p l s nguyn dng, mv n l s nguyn v .
grand(1,p, unf ,a,b) cho vecto ca cc chui s thc ngu nhin p c ly trong
khong a v b vi p l s nguyn dng, a v b l s thc v .
sum(n) cho tng cc gi tr ca vecto (dng tnh tng).
cumsum(n) cho vecto bao gm cc gi tr tch lu tng dn ca vecto (dng
tnh cc s tch lu tng dn).
length(v) cho s cc ta ca vecto .
gsort(v) cho vecto bao gm cc s hoc chui c phn loi theo th t gim dn.
gsort(v, g , i ) cho vecto bao gm cc con s hoc chui c phn loi theo
th t tng dn.
mean(v) cho gi tr trung bnh ca vecto bao gm cc s .
stdev(v) cho lch chun ca vecto cc s .
bar(v,n,couleur) v biu dng ct vi l ta trc X, l ta trc Y,
v l cc vecto cng ln. Theo mc nh, bar(n) v biu dng ct ca
bng mu xanh dng vi 1,2,3l ta trc X.
bar(v,[n1,n2]) v biu ct kp vi l ta trc X, n1 l Y; ta mu xanh
dng v n2 l ta trc Y mu xanh l cy, vi , n1 v n2 l cc vecto c cng
ln.
rand(n,p) vi v l s nguyn dng, cho ma trn bao gm cc s ngu nhin
ly trong khong gia 0 v 1.
rand() cho mt s thc c ly ngu nhin gia
0 v 1.
floor(x) cho phn t s nguyn ca s thc . C th, nu l s thc gia 0v 1,
floor(rand()+p) s l 1 vi xc sut v 0 vi 1 xc sut .
Hng dn s dng Scilab dnh cho ngi mi bt
u - 32/33
Hin th v v biu
clf ngha l xa biu v xa biu hin ti trn ca s ha.
plot cho php v cc ng cong v biu phn tn theo hai chiu.
linspace(a,b,n), vi v l s thc v l s nguyn, xc nh mt vecto gm cc
gi tr thng nm gia khong v .
scf cho php m hoc chn mt ca s ha khc ca s hin ti.
surf cho php v biu mt phng 3D.
bar(X,Y) trong X v Y l cc vecto, v biu dng ct gm cc chui gi tr
i vi X trong c cc s gi tr ca Y.
plot(X,Y, * ) v biu phn tn cc ta (X(i),Y(i)) l cc ngi sao. C th
chn mu.
plot(Y, + ) v biu phn tn cc t a (i,Y(i)) l du cng.
disp( Sentence ) hin th nhng g c ghi trong du ngoc kp.
disp(A) trong A l mt ma trn cc ch s, hin th bng cc gi tr A.
disp( Sentence +string(x)) hin th mnh v gi tr ca s .
xclick cho cc ta ca im c chn trong Ca s ha.
Tin ch
unique(v) cho vecto vi s xut hin duy nht ca cc th

nh phn c lp li.
sum(v) cho tng tt c cc phn t ca vecto hay ma trn .
prod(v) cho tch ca tt c cc phn t ca vecto hay ma trn .
find(<test about v>) cho cc ch s ca cc phn t thuc vecto ph hp vi php
kim tra.
disp(x,y,) hin th cc gi tr ca cc i s trong giao din iu khin.
string(x) i ch s thnh mt chui.
format(n) trong l mt s nguyn ln hn hoc bng 2, hin th i vi cc k t
, bao gm du v du thp phn.
zeros(n,p) xc nh ma trn ch bao gm s khng.
feval(x,y,f) trong v l cc vecto ln lt c ln v , xc nh ma trn
trong phn t (i,j) l ( ( ), ( )).
hm help m trnh duyt h tr trn trang chc nng bn phi.
tic khi ng ng h.
toc dng ng h.
Hng dn s dng Scilab dnh cho ngi mi bt u - 33/33

You might also like