18
- Scilab Scilab - Ilja Maljutenko

- Scilab -

  • Upload
    lowell

  • View
    156

  • Download
    3

Embed Size (px)

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 Presentation

Citation preview

Page 1: -  Scilab  -

- ScilabScilab - Ilja Maljutenko

Page 2: -  Scilab  -

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.

Page 3: -  Scilab  -

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

Page 4: -  Scilab  -

Avaaken - käsurida (console)

tekstiväli kus ‘käsutatakse’

Page 5: -  Scilab  -

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.

Page 6: -  Scilab  -

skalaar tehted - tehted arvudega

põhilised tehted

+ liitmine

- lahutamine

* korrutamine

/ jagamine

^ astendamine

proovi:

a+bqliit=a+bqlah=qliit-cqjag=qlah/2qast=a^b

Page 7: -  Scilab  -

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

Page 8: -  Scilab  -

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

Page 9: -  Scilab  -

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

Page 10: -  Scilab  -

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

Page 11: -  Scilab  -

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

Page 12: -  Scilab  -

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 !!!

Page 13: -  Scilab  -

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

Page 14: -  Scilab  -

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

Page 15: -  Scilab  -

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)

Page 16: -  Scilab  -

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

Page 17: -  Scilab  -

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

Page 18: -  Scilab  -

skripti / programmi kondikava

- muutujate valmistamine

- algandmete sisestamine( failide lugemine)

- andmete töötlus, flow , skeem

- andmete salvestus , kuvamine

- muutujate kustutamine (viisakas toon :) )