180 likes | 599 Views
- 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)
E N D
- 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) • Kirjutada programme/scripte • Süntaks (keel) põhineb Matlabil.
Installeerimise faili saab alla laadida: http://www.scilab.org/en/products/scilab/download/5.3.0-beta-432 bitine Windows ... kui see versioon ei tööta win7 arvutis, siis on ehk abi sellest Scilabi verisoonist:http://www.windows7download.com/win7-scilab/ukafhapj.htmlInstalleerimine: - avage scilab-install fail , next - (i accept) next - next - next - next -next - Install - ..... - run SciLab
Avaaken - käsurida (console) tekstiväli kus ‘käsutatakse’
muutujate nimetamine • trüki käsureale (enter): • -->a=2 • -->b=3 • -->c=1.5 • trükkides käsu whosnä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+b qliit=a+b qlah=qliit-c qjag=qlah/2 qast=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<b a==a , a~=b lo1=a==a , lo2=a~=a lo1 & lo2, lo1 | lo2 lo3 = 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 i,j,k,t - täisarvud (index) : - kõik elemendid 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 Scilab võimaldab ka tehteid maatriksitega
indeksid j i • 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] • tehted • B(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 = 2 , j = 3 AA( i, j) B( i, j)=( AA( i, j)+AA( i+1, j) ) / 2. kui B on juba määrtud A = 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
skriptid või käske võib sisestada ükshaaval käsureale ning pidevalt jälgida tulemusi käsud kirjutada faili üksteise alla ning käivitada fail faili saab kirjutada Scilabi tekstiredaktorisse - Scipad’i - võimaldab sooritada aega nõudvaid arvutusi - paindlik programmeerimisele - salvestada tehtud tööd ...
skriptid - skript fail // - kommentar käsk// kommentaar ; - jätab tulemuse kuvamata (alustab uut käsku samalt realt) 1. Loo uus fail --> edit skriprtinimi 2. kustuta vaikimisi ilmunud tühi funktsioon 3. salvesta loodud fail endale tutavasse kohta File -> Save as ... 4. alusta käskude kirjutamist ---------------- --> editor avab tühja teksti redaktori proovi: edit test_scr skript jookseb ülevalt alla !!!
flow - for-tsükkel for-tsükkel genereerib indeksi (täisarvu) mingis soovitud vahemikus • 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 : an käsud ( i ) end i - indeks a1 - algus d - samm (a1:an puhul d=1) an - lõpp sageli kasutatkse kahte tsüklit korrga et teh mingi tehe kõkide maatriksi elementidega for i=imin:imax for j=jmin:jmax A_trans( j, i) = A( i, j) end end sama mis: A_trans=A’
flow - while-tsükkel (do) while-tsükkel kasutab loogika tehet: kuniks miskit on tõene toimub mingi tegevus üldkuju: while loogika tehe käsud T korral else // valikuline käsudF korral end NB! lõppmatu tsükkel (infinite loop) n=0; summa=0 while n < 1 summa=summa +n end n ei suurene -> loogik tehe jääb tõeseks arvuti jääb ‘toppama’ 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 vastab mingisugusele loogika tehtele, kui on tõene siis tee nii kui mitte tee miskit muud üldkuju: if loogika tehethen käsud T korral elseif loogika tehe then// valikuline käsud muu tõe korral else käsud väära väite korral end sama mis n=find(a>=10,1)
flow - select case vastavalt mingile muutuja väärtusele sooritab erinevaid operatsioone üldkuju: select muutuja case väärtus1 then käsud ühel juhul case väärtus2 then käsud teiseö juhul ... else käsud muudel juhtudel end
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 :) )