- scilab -
DESCRIPTION
- Scilab -. Ilja Maljutenko. Scilab. Scilab on tasuta tarkvara, millega on simuleeritud peamiseid Matlabi funktsioone. Tänu avatud koodile osalevad selle arendus töös paljud teadlased üle maailma. Scilab võimaldab: Maatriksarvutust Visualiseerida andmeid (1D, 2D ,3D, vektor) - PowerPoint PPT PresentationTRANSCRIPT
- ScilabScilab - Ilja Maljutenko
Scilab
Scilab on tasuta tarkvara, millega on simuleeritud peamiseid Matlabi funktsioone. Tänu avatud koodile osalevad selle arendus töös paljud teadlased üle maailma.
Scilab võimaldab:
- Maatriksarvutust
- Visualiseerida andmeid (1D, 2D ,3D, vektor)
- Kirjutada programme/scripte
Süntaks (keel) põhineb Matlabil.
Paketi koduleht http://www.scilab.org/
Installeerimine sõltub arvuti opsüsteejmist32 bitine Windows http://www.scilab.org/download/5.5.1/scilab-5.5.1.exe
64 bitine Windows http://www.scilab.org/download/5.5.1/scilab-5.5.1_x64.exe
Installeerimine: - avage scilab-install fail , next - (i accept) next - next - next - next -next - Install - ..... - run SciLab
Muid allalaadimise pakkujaid ei soovita kasutada
NB! Versioonil 5.5.1 ei tarvitse graafika korralikult töötada. Sel juhul installeerida versioon 5.4.1, leitav kodulehelt
Avaaken - käsurida (console)
tekstiväli kus ‘käsutatakse’
muutujate nimetamine
trüki käsureale (enter):
-->a=2
-->b=3
-->c=1.5trükkides käsu whos näed kõiki kasutuses olevaid muutujaid
sammuti näed muutuja väärtust kui sisestad juba nimetatud muutuja käsureale
-->a
a =
3.
skalaar tehted - tehted arvudega
põhilised tehted
+ liitmine
- lahutamine
* korrutamine
/ jagamine
^ astendamine
proovi:
a+bqliit=a+bqlah=qliit-cqjag=qlah/2qast=a^b
Loogika - tõene (T) või väär (F)
loogika operaatorid - võrdlemaks kahte skalaari või sarnast maatriksit
<, > väiksem kui, suurem kui
<=, >= väiksem võrdne, suurem võrdne
==, ~= võrdne, mitte võrdne
&, | ja, või : and(loogika1,loogika2,...) , or(...)
proovi:a>b , a<ba==a , a~=blo1=a==a , lo2=a~=alo1 & lo2, lo1 | lo2lo3 = lo1 & lo2 | a<b & a==b ....
-->a=2-->b=3-->c=1.5
maatriksid (masiivid)
A0 = 1
A1=[1 2 4 9 20 21] ~ A1(i)
A2=[1 2 3; 4 5 6; 7 8 9] ~ A2(i,j)
A3( :, :, 1)=A2 ~ A3(i,j,k)
A4(:, :, :, 1)=A3 ~ A4(i,j,k,t)
....an
NB! massiivi nimetmine (allocation)ii,jj,kk ... maatriksi suurus size(A)A=zeros(ii,jj, kk , ..., nn) või ones(...) või rand(...)genereerib kindla suurusega maatriksi ning täidb selle nullide või ühtedega
Maatriksi üksikud elemendid on skaalarid ning nendega saab teha skalaar tehteid
i,j,k,t - täisarvud (index) : - kõik elemendid
Scilab võimaldab ka tehteid maatriksitega
indeksid
A = zeroes(3,4) // maatriks täis nulle
A(1,1)=1.1, A(1,2)=2.123 ... jne
võib ka kohe tekitada valmis maatriksi
AA=[11 12 13; 21 22 23; 31 32 33; 41 42 43]
tehtedB(1,1)= A(1,1)+AA(1,1) // + - * / ^ , B võiks olla eelnevalt valmis olla
B1=AA(1,:) / 2 // tehe kõikide veeru või rea elementidega, tulemuseks üks rida või veerg
A( 1:ii, 1:jj)i
j
i = 2 , j = 3 AA( i, j)B( i, j)=( AA( i, j)+AA( i+1, j) ) / 2.
kui B on juba määrtudA = 0 // kui B on juba olemas siis sama mis A( :, :) = 0
directory - asukoht ja selle muutmine
pwd // kuvab kohaliku asukoha
dir // kuvab failid ja kaustad
mkdir kausta_nimi // valmistab soovitud kausta
cd kausta_nimi // siseneb soovitud kausta == chdir
skriptidkäske võib sisestada ükshaaval käsureale ning pidevalt jälgida tulemusi
või
käsud kirjutada faili üksteise alla ning käivitada failfaili saab kirjutada Scilabi tekstiredaktorisse - Scipad’i
- võimaldab sooritada aega nõudvaid arvutusi- paindlik programmeerimisele- salvestada tehtud tööd ...
skriptid - skript fail1. Loo uus fail --> edit skriprtinimi
2. kustuta vaikimisi ilmunud tühi funktsioon
3. salvesta loodud fail endale tutavasse kohtaFile -> Save as ...
4. alusta käskude kirjutamist------------------> editoravab tühja teksti redaktori
proovi:edit test_scr
// - kommentar
käsk // kommentaar
; - jätab tulemuse kuvamata (alustab uut käsku samalt realt)
skript jookseb ülevalt alla !!!
flow - for-tsükkel
numbrid 1st 10neni :
for i=1:10 // genereerib i väärtused 1st 10neni A(i)=i
// muud käsud
end // tsükli lõpp
(sama mis A = 1:10) üldkuju:
for i = a1 : d : ankäsud ( i )
end
i - indeksa1 - algusd - samm (a1:an puhul d=1)an - lõpp
sageli kasutatkse kahte tsüklit korrgaet teh mingi tehe kõkide maatriksi elementidegafor i=imin:imax for j=jmin:jmax A_trans( j, i) = A( i, j) endend
sama mis: A_trans=A’
for-tsükkel genereerib indeksi (täisarvu) mingis soovitud vahemikus
flow - while-tsükkel (do)
üldkuju:
while loogika tehekäsud T korralelse // valikulinekäsud F korralend
NB! lõppmatu tsükkel (infinite loop)n=0; summa=0while n < 1 summa=summa +nend
n ei suurene -> loogik tehe jääb tõeseksarvuti jääb ‘toppama’
while-tsükkel kasutab loogika tehet: kuniks miskit on tõene toimub mingi tegevus
nii ei ole vaja teha !!! :)võib proovid ctrl + c
task manager - > processes Wscilex , End process, “ Yes “
salvestamata töö läheb kaduma
flow - if-tingimus
üldkuju:
if loogika tehe thenkäsud T korralelseif loogika tehe then // valikulinekäsud muu tõe korralelsekäsud väära väite korralend
vastab mingisugusele loogika tehtele, kui on tõene siis tee nii kui mitte tee miskit muud
sama misn=find(a>=10,1)
flow - select case
üldkuju:
select muutujacase väärtus1 thenkäsud ühel juhulcase väärtus2 thenkäsud teiseö juhul...elsekäsud muudel juhtudelend
vastavalt mingile muutuja väärtusele sooritab erinevaid operatsioone
piltlikustmine
Help -> Graphics Library
Jooned :
plot( y , [joone parameetrid])
plot( xax, y , [joone parameetrid])
Pinnad (maatriksid):
(S) grayplot( xax, yax, M)
contour, plot3d
Aktiveeritud joonise parameetrid:
fig = gca() - (Get Curent Axis) kõik joonise parameetrid muutujas fig
fig.<joone parameeter> = väärtus - uued väärtused joonise parameetritele
skripti / programmi kondikava
- muutujate valmistamine
- algandmete sisestamine( failide lugemine)
- andmete töötlus, flow , skeem
- andmete salvestus , kuvamine
- muutujate kustutamine (viisakas toon :) )