76
INTERNO GRADIVO Prironik programskega paketa S S C C I I L L A A B B za uporabnika zaetnika Izdelala Manca Makarovi pod mentorstvom prof. dr. Juša Kocijana Politehnika Nova Gorica 2005

Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

INTERNO GRADIVO

Priro�nik programskega paketa

SSCCIILLAABB za uporabnika za�etnika

Izdelala Manca Makarovi� pod mentorstvom prof. dr. Juša Kocijana

Politehnika Nova Gorica 2005

Page 2: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

II

Page 3: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

III

KAZALO VSEBINE

1. PROGRAMSKI PAKET SCILAB...........................................................................1

2. DOKUMENTACIJA V SLOVENŠ�INI IN ANGLEŠ�INI...................................3

3. ZAGON SCILABA ..................................................................................................4

4. OSNOVE DELA S SCILABOM .............................................................................6

4.1. Ukazno okno ......................................................................................................6

4.2. Osnovni gradniki ................................................................................................7

4.2.1. Spremenljivke............................................................................................7

4.2.2. Števila........................................................................................................7

4.2.3. Izrazi in funkcije........................................................................................8

4.3. Drugi ukazi, ki jih uporabljamo v ukaznem oknu..............................................9

4.4. Delo s podatki ..................................................................................................11

4.4.1. Posebne konstante....................................................................................11

4.4.2. Matrike.....................................................................................................11

4.4.3. Polinomi...................................................................................................17

4.4.4. Shranjevanje in branje ukaznih datotek...................................................18

4.4.5. Shranjevanje in branje datotek s podatki .................................................20

4.5. Strukturirana pomo�.........................................................................................22

5. UPORABA FUNKCIJ PAKETA SCILAB............................................................23

5.1. Ra�unanje s polji spremenljivk ........................................................................23

5.2. Ra�unanje z matrikami.....................................................................................24

Page 4: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

IV

5.3. Ra�unanje s kompleksnimi števili....................................................................25

5.4. Ra�unanje z eksponentnimi in logaritemskimi funkcijami ..............................26

5.5. Ra�unanje s polinomi .......................................................................................29

5.6. Grafi�no prikazovanje......................................................................................31

5.7. Programiranje...................................................................................................42

5.7.1. Ukazni programi ......................................................................................45

5.7.2. Funkcije...................................................................................................45

6. PRIMERI UPORABE NA RAZLI�NIH PODRO�JIH........................................46

6.1. Matematika.......................................................................................................46

6.2. Fizika................................................................................................................51

6.3. Analiza in na�rtovanje sistemov vodenja.........................................................58

6.4. Energetika ........................................................................................................62

6.5. Ra�unalništvo...................................................................................................65

6.6. Ekonomika.......................................................................................................66

7. LITERATURA .......................................................................................................70

Page 5: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

V

KAZALO ILUSTRACIJ

Slika 1: Bližnjica za zagon Scilaba ..............................................................................4

Slika 2: Ukazno okno programa Scilab........................................................................4

Slika 3: Okno, kjer izberemo lastno mapo ...................................................................5

Slika 4: Okno »SciPad« v katerem smo odprli program »primer.sci«.......................19

Slika 5: Okno za shranjevanje....................................................................................19

Slika 6: Okno sprotne pomo�i ....................................................................................22

Slika 7: Sinusni graf ...................................................................................................33

Slika 8: Graf funkcije sin(x) po x-u...........................................................................34

Slika 9: Graf funkcije sin(x) brez podatka o vrednostih neodvisne spremenljivke x .35

Slika 10: Graf funkcije sin(x)+cos(x) .........................................................................36

Slika 11: Graf funkcije sestavljene iz treh funkcij .....................................................37

Slika 12: Prvi graf, izrisan v grafi�nem oknu številka 1 ............................................38

Slika 13: Drugi graf, izrisan v grafi�nem oknu številka 2..........................................39

Slika 14: Prikaz lo�evanja grafi�nega okna................................................................41

Slika 15: Sprememba lastnosti grafa..........................................................................42

Slika 16: Rešitev diferencialne ena�be.......................................................................51

Slika 17: Klada na vzmeti...........................................................................................52

Slika 18: Graf nedušenega nihanja.............................................................................54

Slika 19: Graf funkcij pri nedušenem nihanju z razli�nimi vrednostmi k/m .............55

Slika 20: Graf funkcij dušenega nihanja ....................................................................58

Page 6: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

VI

Slika 21: Graf odziva linearnega sistema...................................................................59

Slika 22: Graf polov in ni�el ......................................................................................60

Slika 23: Graf odziva zaprtozan�nega sistema na enotino stopnico..........................61

Slika 24: Graf polov in ni�el ......................................................................................61

Slika 25: Graf Dieslovega krožnega procesa v diagramu p-V....................................62

Slika 26: Graf Dieslovega krožnega procesa..............................................................64

Slika 27: Diagram poteka...........................................................................................65

Slika 28: Graf primerjave stroškov............................................................................68

Slika 29: Graf stroškov pred avtomatizacijo in po njej ..............................................69

KAZALO TABEL

Tabela 1: Matri�ni operatorji ......................................................................................23

Tabela 2: Primerjava stalnih in spremenljivih stroškov .............................................67

Page 7: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

1

1. PROGRAMSKI PAKET SCILAB

Scilab je programski paket za numeri�no ra�unanje matemati�nih funkcij. Uporaben

je za ra�unanje z raznimi oblikami matemati�nih zapisov in struktur: z vsemi

znanimi oblikami števil, z matrikami, polinomi, objekti, ki prikazujejo modele

dinami�nih sistemov itd.

Narejen je iz treh lo�enih delov:

• prevajalnika,

• knjižnic funkcij (v sintaksi paketa Scilab) in

• knjižnic funkcij v programskih jezikih Fortran in C.

Sestavljajo ga knjižnice splošnih matemati�nih funkcij ter specializiranih knjižnic in

programskih modulov, ki so namenjeni ožjim strokovnim podro�jem.

Tako lahko na primer s Scilabom analiziramo linearne in nelinearne dinami�ne

sisteme. Poleg tega je Scilab tudi pripomo�ek za numeri�no optimizacijo, kot sta npr.

linearno in nelinearno programiranje.

Programski paket Scilab so razvili na inštitutu INRIA v Franciji in je odprto

programsko okolje, v katerem je lahko izdelava funkcij in njihovih knjižnic

popolnoma v rokah uporabnika. Scilab prepoznava funkcije kot podatkovne objekte

in lahko z njimi ra�una ali jih pretvori v kake druge podatkovne objekte. Funkcijo, ki

je definirana znotraj Scilaba, lahko uporabljamo tudi kot vhodni ali izhodni argument

druge funkcije.

Scilab podpira znakovne nize podatkovnega tipa, kar omogo�a v posebnih primerih

sprotno tvorjenje funkcij. Matrike znakovnih nizov se obdelujejo na enak na�in kot

matrike števil.

Page 8: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

2

Splošna zna�ilnost Scilaba je, da omogo�a ra�unsko okolje z naslednjimi lastnostmi:

• uporablja razli�ne podatkovne oblike v obliki, ki je podobna matemati�ni,

njihova uporaba pa je preprosta;

• zagotavlja razumno veliko množico osnovnih funkcij, ki so podlaga široki paleti

možnih ra�unskih operacij;

• je odprto programsko okolje, kjer uporabniku ni težko tvoriti in dodajati novih

funkcij;

• podpira razvoj knjižnic prek programskih modulov (ang. toolbox), ki vsebujejo

funkcije, namenjene specifi�nim aplikacijam (vodenju linearnih sistemov,

procesiranju signalov, analizam omrežij, nelinearnemu vodenju itd.).

To delo je namenjeno uporabniku, da mu predstavi osnovne zmogljivosti tega

programskega paketa. Ko pa smo v samem programu, si lahko pomagamo s sprotno

pomo�jo, kjer so podrobneje opisani vsi ukazi ter prikazani primeri uporabe.

Programski paket Scilab dobimo na strani svetovnega spleta http://www.scilab.org in

si ga lahko brezpla�no namestimo in uporabljamo na lastnem ra�unalniku, pri �emer

moramo upoštevati avtorske pravice.

Možno ga je namestiti v binarni datote�ni obliki na operacijske sisteme Linux

Windows 9X/ NT/ 2000/ XP, Solarix in HP-UX.

Ko kliknemo na svetovni spletni strani za namestitev Scilaba na osebni ra�unalnik,

moramo le slediti navodilom nameš�anja, ki se prikazujejo, in pustiti, da ra�unalnik

opravi namestitev. Po kon�anem nameš�anju moramo ra�unalnik ponovno zagnati

zato da ra�unalnik zazna na novo nameš�en program.

Page 9: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

3

2. DOKUMENTACIJA V SLOVENŠ�INI IN ANGLEŠ�INI

O programskem paketu Scilab trenutno v slovenš�ini poleg, priro�nika programskega

paketa Scilab za uporabnika za�etnika, ni na voljo nobenega drugega priro�nika.

Krajši opis uporabe paketa Scilab najdemo v zaklju�ni nalogi (Ivanuši�, 2000). V

angleš�ini obstajajo na straneh svetovnega spleta naslednji priro�niki:

• Scilab for dummies (Scilab Group, 2004 a) na svetovni spletni strani:

http://laps.fri.uni-lj.si/dps_arhiv/dsp_files/scilab_for_dummies/frame.html

• Introduction to Scilab (Scilab Group, 2004 b) na svetovni spletni strani:

ftp://ftp.inria.fr/INRIA/Scilab/documentation/pdf/intro.pdf

• Inline help pages (Scilab Group, 2004 c) na svetovni spletni strani:

ftp://ftp.inria.fr/INRIA/Scilab/documentation/pdf/manual.pdf

Na tržiš�u sta v angleš�ini na voljo še knjigi (Claude et al, 1999, Urroz, 2001):

• Claude, G., Editor (1999). Engineering and scientific computing with Scilab.

Birkhäuser: Boston, Basel, Berlin

• Urroz, G., E. (2001). Numerical and statistical methods with Scilab for science and

engineering. Booksurge Publishing: North Charleston, SC, ZDA

Literaturo najdemo tudi v nekaterih drugih jezikih, predvsem v francoš�ini. Spisek

literature o Scilabu je na straneh svetovnega spleta, kjer dobimo tudi programski

paket. Žal pa ve�ina literature, ki je na razpolago, vsebuje opis in razlago uporabe

starejših verzij Scilaba.

Page 10: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

4

3. ZAGON SCILABA

V programih Windows se po namestitvi programskega paketa Scilab na namizju

prikaže bližnjica (slika 1).

Slika 1: Bližnjica za zagon Scilaba

Z dvojnim klikom na bližnjico zaženemo program in odpre se okno, prikazano na

sliki 2.

Slika 2: Ukazno okno programa Scilab

Page 11: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

5

Najprej si ustvarimo lastno mapo (ang. folder) na lokalnem disku, na primer DELO.

Nato v Scilabu odpremo to novo, lastno mapo.

V delovnem oknu Scilaba kliknemo z miško na menijski ukaz File� in nato na ukaz

Change Directory. V oknu, prikazanem na sliki 3, poiš�emo predhodno ustvarjeno

mapo na lokalnem disku (C:) z nazivom DELO in potrdimo s klikom na OK.

Slika 3: Okno, kjer izberemo lastno mapo

V Scilabovem oknu se izpiše

- - >chdi r ( ' C: \ DELO' ) ; - - >

Tako je program Scilab pripravljen za delo.

Lastno mapo ali direktorij si naredimo zato, da si lahko tam shranimo podatke ali

programe.

Page 12: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

6

4. OSNOVE DELA S SCILABOM

4.1. Ukazno okno

Ukazno okno (slika 2) vsebuje naslednje menijske ukaze:

• File – vsebuje ukaze New Scilab, Exec..., Open…, Load…, Save…, Change

Directory, GeT current Directory, Print…�in Exit. Uporabljamo jih za odpiranje

še enega ukaznega okna Scilaba, predvajanje ukazov iz datotek v Scilab, za njihovo

shranjevanje, za spremembo direktorija, tiskanje in izhod iz programa.

• Edit – vsebuje ukaze Select All, Copy, Paste, Empty Clipboard in History, ki

jih uporabljamo za urejanje ukaznih vrstic v Scilabovem oknu. Ukaz History ima

tudi bližnjice za hitrejše urejanje v ukaznem oknu. Spodaj je naštetih nekaj bližnjic.

- prikli�e prejšnjo vrstico (ctrl – P ali �)

- prikli�e naslednjo vrstico (ctrl – N ali �)

- premakne utripalko za en znak nazaj (ctrl – B ali �)

- premakne utripalko za en znak naprej (ctrl – F ali �)

- premakne na za�etek ukazne vrstice (ctrl – A ali Home)

- premakne utripalko na konec ukazne vrstice (ctrl – E ali End)

- zbriše znak pred utripalko (ctrl – H ali Backspace)

- zbriše znak na utripalki (ctrl - D ali Delete)

Sicer pa lahko bližnjice nastavimo na vsakem ra�unalniku druga�e.

• Preferences – vsebuje ukaze Language (Francais, English), Toolbar, Choose

Font…, Clear History, Clear Command Window in Console, ki jih

uporabljamo za urejanje ukaznega okna, kot na primer sprememba jezika ali

menijskih ukazov.

Page 13: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

7

• Control – vsebuje ukaze za nadzor izvajanja Scilaba, ki so Resume (nadaljuje z

izvajanjem zaustavljenega dela) ter Abort in Interupt (prekine izvajanje programa

v Scilabu)

• Editor – odpre okno »SciPad«, kjer pišemo ukaze in komentarje, jih shranimo ter

kasneje poženemo v Scilabu.

• Application – vsebuje ukaze Scicos, EditGraph in m2sci, ki odprejo lastna okna.

• ? - vsebuje ukaze Scilab Help, Configure, Scilab Demos, Report a bug or a

request, Scilab Web Scite, Scilab Newsgroup in About, ki so nam v pomo� ali

pa dajejo informacije preko strani svetovnega spleta.

Za nekatere ukaze služijo gumbi s simboli; ob kliku na njih se ukaz izvrši. Ti gumbi

z ukazi so New Scilab, Open Scipad, Open file, Copy, Paste, Change

Directory, Scilab Output, Choose Font…, Print in Scilab Help.

4.2. Osnovni gradniki

Scilab prepozna veliko podatkovnih tipov. Skalarni objekti so na primer konstante,

polinomi, znakovni nizi in racionalna števila. Osnovni element Scilaba je pravokotna

matrika kompleksnih števil.

4.2.1. Spremenlj ivke

Ko v Scilab vtipkamo novo spremenljivko, jo ta sprejme in shrani na dolo�eno mesto

v svojem delovnem spominu. Za imena spremenljivk uporabljamo razli�no število

malih in velikih tiskanih �rk. Scilab je na velikost �rk ob�utljiv, zato sta S in s dve

razli�ni spremenljivki. �e želimo izpis neke spremenljivke v matri�ni obliki,

vpišemo njeno ime, pod katerim smo jo shranili.

4.2.2. Števila

Scilab za števila uporablja obi�ajni decimalni zapis z decimalno piko ter oznako plus

ali minus. E ali e pomeni eksponent, na primer 1. 31e- 31, zapisano v Scilabu,

pomeni 1.31�10-31. V imaginarnih številih uporablja kot priponi znaka i ali j.

Page 14: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

8

Nekaj primerov možnih zapisov števil,

3. - 199 . 00002

1. 2345667 1. 31e- 31 1. 563e24

0+1* %i 3- 2* %i 1. 25e5* %i

ki pomenijo števila 3, -199, 0.00002, 1.2345667, 1.31�10-31, 1.563�1024, 0 + 1i, 3-2i,

1.25�105i

4.2.3. Izrazi in funkcije

Razliko med izrazom in programsko funkcijo bomo podrobneje spoznali v

naslednjem poglavju. Tukaj povejmo samo, da sta oba namenjena izra�unavanju

vrednosti spremenljivk ali izvajanju skupine ukazov (na primer risanju).

Matemati�ne funkcije lahko predstavimo tako z izrazom kot s programsko funkcijo.

V Scilabu najdemo ve�ino standardnih matemati�nih funkcij, npr. abs , sqr t , exp

in s i n.

abs absolutno x

sqr t kvadratni koren x

exp eksponent

si n, cos, t an, … sinus, kosinus, tangens itd.

Pri kvadratnem korenu ali logaritmu negativnega števila Scilab izra�una primerno

kompleksno število.

Nekatere elementarne funkcije pr i delu s števili

Spodaj je navedenih nekaj ukazov, ki jih uporabljamo za zaokroževanje decimalnih

števil na cela števila. Ti ukazi so cei l (decimalno število zaokroži navzgor),

f l oor (decimalno število zaokroži navzdol), r ound (zaokroži k najbližji celi

številki navzgor ali navzdol) in f i x (decimalnemu številu odstrani decimalke). Fi x

Page 15: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

9

ne zaokroži ampak izpiše samo celi del zapisane številke (12.4325 => 12. je celi del

in .4325 je decimalni del števila). Ukaz i nt je enak kot ukaz f i x .

4.3. Drugi ukazi, ki jih uporabljamo v ukaznem oknu

Poleg splošnih ukazov, ki so našteti in opisani že v prejšnjem podpoglavju in jih

lahko izvajamo tudi z vpisom v delovno okno, jih je še nekaj, ki pomagajo pri

urejanju vpisov. Naj se omejimo le na tiste, ki jih uporabljamo pogosteje.

Opombe

Ko dodajamo pripombe ali komentarje v ukaznem oknu Scilaba ali delovnem oknu

SciPada pred stavkom vtipkamo dve diagonalni �rti (/ / ), tako da program prepozna

stavek kot stranski objekt in ga zato ne obdeluje.

Izpis podatkov

�e želimo rezultat napisane definicije, kliknemo Enter, nakar Scilab izpiše rezultat.

�e pa postavimo na koncu podpi�je (; ), podatke sicer obdela, ampak ne prikaže

rezultata. Podpi�je je zelo uporabno pri zelo velikih matrikah in vektorjih. �e pa nas

preseneti z velikim izpisom matrike, pri prvi prekinitvi kliknemo N na tipkovnici in

izpis se bo kon�al.

Primer:

- - >s=[ 1: 100] / / vst avi mo vekt or z i menom s s = col umn 1 t o 11 ! 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ! col umn 12 t o 20 ! 12. 13. 14. 15. 16. 17. 18. 19. 20. ! col umn 21 t o 29 ! 21. 22. 23. 24. 25. 26. 27. 28. 29. ! col umn 30 t o 38 [ Mor e ( y or n ) ?] / / k l i knemo na t i pko s �r ko N - - >

Page 16: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

10

Kadar želimo, da se izpis podatkov nadaljuje, kliknemo Enter ali Y.

Dolge ukazne vrstice

Ko imamo dolgo ukazno vrstico, jo kon�amo s tremi pikami (. . . ), nato kliknemo

Enter. S tem nakažemo, da se ukazna vrstica nadaljuje v naslednji vrsti.

Primer:

- - >s=1- 2+3+4. . . / / k l i knemo Enter - - >+5+6 s = 17.

Poizvedba o uporabljenih spremenlj ivkah

Ko želimo videti seznam že uporabljenih spremenljivk, vpišemo ukaz whos –t ype

const ant , nakar se bo izpisal seznam vseh spremenljivk, ki so trenutno v

delovnem spominu.

Primer:

- - >whos - t ype const ant Name Type Si ze Byt es C const ant 3 by 3 88 B const ant 3 by 3 88 A const ant 3 by 3 88 %t ool boxes const ant 0 by 0 16 %sci cos_di spl ay_mode const ant 1 by 1 24 %nan const ant 1 by 1 24 %i nf const ant 1 by 1 24 %eps const ant 1 by 1 24 %i o const ant 1 by 2 32 %i const ant 1 by 1 32

C, B in A so spremenljivke matrik, ki jih trenutno uporabljamo, druge pa so

rezervirane spremenljivke.

Ko želimo imeti celoten seznam vseh uporabljenih spremenljivk, funkcij, knjižnic

itd., pa napišemo ukaz whos( ) .

Page 17: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

11

4.4. Delo s podatki

4.4.1. Posebne konstante

Scilab ima nekatere posebne konstante, shranjene v zapisu z znakom % pred imenom

konstante (%i , %e, %pi , %s , %i nf , %nan, %eps , %t , %f , itd.), ki so zaš�itene pred

brisanjem in spreminjanjem. Ta na�in zapisa uporabljamo, ko naj program zazna, da

želimo numeri�no vrednost ene izmed posebnih konstant. Te konstante so:

%i pomeni 1−

%e pomeni e = 2.7182818…

%pi pomeni π = 3.1415927…

%eps pomeni natan�nost ra�unalnika – je najve�je število za katero je 1+%eps = 1

%s je rezervirana neodvisna spremenljivka v polinomu - s

%nan vrednost, ki ni predstavljivo število

%i nf pomeni neskon�nost

4.4.2. Matr ike

Vstavljanje matr ik

Za vpisovanje matrik ali vektorjev v Scilab moramo upoštevati nekaj osnovnih

pravil.

• V vrstico matrike ali vektorja vpišemo števila z vmesnim presledkom ali vejico.

• V novo vrstico matrike ali vektorja se pomaknemo s podpi�jem.

• Celoten zapis matrike obdamo z oglatimi oklepaji.

Page 18: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

12

Primer:

- - >/ / vekt or m def i ni r amo kot vr st i co, def i ni c i j o l ahko zapi šemo t udi [ 1, 2, 5, 6] - - >m=[ 1 2 5 6] m = ! 1. 2. 5. 6. ! - - >n=[ 1; 2; 5; 6] / / vekt or n def i ni r amo kot st ol pec n = ! 1. ! ! 2. ! ! 5. ! ! 6. !

Pike ob številkah se izpisujejo pri celem ali decimalnem številu.

Na primer ! - 1. 1. 4 . 6 ! pove, da imamo vektor z elementi –1, 1.4 in

0.6.

�e na koncu postavimo podpi�je (; ) je definirana matrika v spominu shranjena,

vendar se ne izpiše v ukaznem oknu Scilaba.

- - >m=[ 1; 2; 5; 6] ; - - >

Ve�vrsti�no in ve�stolpi�no matriko zapišemo takole:

- - >A=[ 1, 3, 2; - 1, 2, 1; 4, 2, 1] / / vst avi mo mat r i ko A

A =

! 1. 3. 2. !

! - 1. 2. 1. !

! 4. 2. 1. !

Ko definiramo matriko, jo Scilab shrani pod oznako, s katero smo jo poimenovali in

jo lahko z vpisom oznake kadar koli prikli�emo; v zgornjem primeru je to velika

tiskana �rka A. Ko pa program zapremo ali napišemo ukaz cl ear , se iz spomina

izbrišejo vse spremenljivke. �e uporabljamo isto oznako za definicijo nove matrike,

jo bo Scilab redefiniral in nas na to tudi opozoril.

Page 19: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

13

Element matrike A v vrstici i in stolpcu j se prikli�ejo kot A(i,j).

Za primer vzamemo zgoraj definirano matriko. Prikli�emo element v tretji vrstici in

drugem stolpcu, A( 3, 2) , to je 2.

Tako pri raznih operacijah lahko izberemo posamezne elemente matrike z vpisom

oznake matrike ter v oklepaju številko vrstice in stolpca želenega elementa.

�e želimo dodati nov element matriki ali zamenjati element z novim, napišemo i me

mat r i ke( i , j ) =žel en el ement .

Primer:

- - >d=[ 1 2 3 4 5] / / vst avi mo vekt or d d = ! 1. 2. 3. 4. 5. ! - - >d( 1, 6) =3 / / mat r i k i dodamo št evi l ko t r i na šest o mest o d = ! 1. 2. 3. 4. 5. 3. !

Eden najpomembnejših operatorjev je dvopi�je (: ), ki se uporablja za ustvarjanje

vektorjev v matri�ni obliki.

Primer:

- - >1: 10

tvori vrsti�ni vektor z enakomerno naraš�ajo�imi števili od 1 do 10

ans = ! 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. !

�e želimo imeti vektor z vnaprej dolo�enim enakomernim korakom, na primer od 10

proti 0 s korakom 2, elementov ni treba na dolgo pisati z vmesnimi presledki ali

vejicami, temve� zapišemo:

- - >10: - 2: 0 ans = ! 10. 8. 6. 4. 2. 0. !

Page 20: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

14

Oblikovanje matr ike z vgrajenimi funkcijami

Za tvorjenje matrik ima Scilab vgrajene naslednje funkcije:

• zer os samo ni�le

• ones samo enke

• r and naklju�ni elementi (z normalno ali enakomerno porazdelitvijo)

• di ag izpis zapisanih števil po diagonali

Primer:

- - >zer os( 3, 3) / / i zpi še 3x3 mat r i ko s sami mi ni �l ami ans = ! 0. 0. 0. ! ! 0. 0. 0. ! ! 0. 0. 0. ! - - >ones( 3, 3) / / i zpi še 3x3 mat r i ko s sami mi enkami ans = ! 1. 1. 1. ! ! 1. 1. 1. ! ! 1. 1. 1. ! - - >r and( 3, 3) / / i zpi še 3x3 mat r i ko z nakl j u�ni mi el ement i ans = ! . 5878720 . 8400886 . 8607515 ! ! . 4829179 . 1205996 . 8494102 ! ! . 2232865 . 2855364 . 5257061 ! - - >/ / r and( ' nor mal ' ) pomeni nor mal no por azdel i t ev ( s povpr e�j em 0 i n r azl i ko 1) - - >r and( 3, 3, ' nor mal ' ) ans = ! . 2824556 . 3201971 . 1187971 ! ! 1. 5027022 1. 0463978 . 2894934 ! ! - . 5416733 . 7589109 1. 2855273 ! - - >/ / r and( ' uni f or m' ) so št evi l a, enakomer no por azdel j ena na i nt er val u ( 0, 1) - - >r and( 3, 3, ' uni f or m' ) ans = ! . 0568928 . 7279222 . 9885408 ! ! . 5595937 . 2677766 . 7395657 ! ! . 1249340 . 5465335 . 0037173 !

Page 21: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

15

- - >di ag( [ 0. 2, 0. 5, 0. 9] ) / / napi sana št evi l a zapi še v di agonal i ans = ! . 2 0. 0. ! ! 0. . 5 0. ! ! 0. 0. . 9 !

Povezovanje

Povezovanje uporabljamo, �e želimo spojiti manjše matrike ali vektorje v ve�je. Prva

matrika, ki smo jo tvorili, je namre� sestavljena iz posameznih elementov.

Povezovalni operator sta oglata oklepaja ([ ] ).

Primer: Definiramo matrike a, b in c ter jih povežemo v eno vrsti�no matriko d.

- - >a=[ 1 2 3] ; b=[ 4 5 6] ; c=[ 7 8 9] ; d=[ a b c] d = ! 1. 2. 3. 4. 5. 6. 7. 8. 9. !

�e se rezultat izpiše v dve vrstici, je vzrok premajhno delovno okno Scilaba.

col umn 1 t o 7 ! 1. 2. 3. 4. 5. 6. 7. ! col umn 8 t o 9 ! 8. 9. !

Brisanje vrstic in stolpcev

�e želimo zbrisati vrstico ali stolpec neke matrike, lahko uporabimo znak za prazno

množico ([ ] ).

Primer:

- - >A=[ 1, 3, 2; - 1, 2, 1; 4, 2, 1] / / vst avi mo mat r i ko A A = ! 1. 3. 2. ! ! - 1. 2. 1. ! ! 4. 2. 1. ! - - >A( : , 2) =[ ] / / br i še dr ugi st ol pec A = ! 1. 2. ! ! - 1. 1. ! ! 4. 1. !

Page 22: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

16

- - >A( 2, : ) =[ ] / / br i še še dr ugo vr st i co A = ! 1. 2. ! ! 4. 1. !

Seštevanje znotraj matr ike v vrsti ali v stolpcu in izpis diagonale matr ike.

- - >sum( A, ' c ' ) / / c = sešt evek el ement ov mat r i ke A po vr st i cah ans = ! 6. ! ! 2. ! ! 7. ! - - >sum( A, ' r ' ) / / r = sešt evek el ement ov mat r i ke A po st ol pci h ans = ! 4. 7. 4. ! - - >di ag( A) / / di agonal a mat r i ke ans = ! 1. ! ! 2. ! ! 1. !

Matr i�ne operacije

Za izvajanje osnovnih matemati�nih operacij uporabljamo obi�ajne matemati�ne

operatorje in pravila.

+ seštevanje,

- odštevanje,

* množenje,

\ levo deljenje (x = A \ b ali A * x = b),

/ desno deljenje (x = A / b ali x * b = A),

^ Potenca.

Page 23: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

17

4.4.3. Polinomi

V Scilabu enostavno tvorimo polinome in z njimi ra�unamo (Koren, 2002).

Vstavljanje

V osnovi lahko polinom definiramo s koeficienti ali pa s koreni polinoma. Funkcija

za definicijo polinoma je [ p] =pol y( a, " x" , [ " f l ag" ] ) , kjer so:

a – matrika koeficientov

x – simbol spremenljivke

f l ag – koren (' ' r oot s ' ' ) ali koeficient (' ' coef f ' ' ), �e f l ag ni definiran

posebej, je koren

Primer:

- - >/ / pol i nom p=2- 3s+s2=( s- 1) ( s- 2) def i ni r an s svoj i ma kor enoma - - >p=pol y( [ 1 2] , " s" ) p = 2 2 - 3s + s - - >/ / pol i nom def i ni r an s svoj i mi koef i c i ent i ( zapi šemo [ ' ' coef f ' ' ] al i ' ' c ' ' ) - - >q=pol y( [ 2 - 3 1] , " s" , " c" ) / / l ahko t udi q=pol y( [ 2 - 3 1] , " s" , [ " coef f " ] ) q = 2 2 - 3s + s

Polinome lahko uporabljamo tudi kot element matrike.

- - >s=pol y( 0, " s" ) ; / / def i ni c i j a s i mbol a spr emenl j i vke

To definicijo lahko tudi poenostavimo.

- - >s=%s / / def i ni c i j a s i mbol a spr emenl j i vke - - >A=[ 1 s; s 1+s^2] / / vst avi mo mat r i ko pol i nomov A A = ! 1 s ! ! ! ! 2 ! ! s 1 + s !

Page 24: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

18

- - >B=[ 1/ s 1/ ( 1+s) ; 1/ ( 1+s) 1/ s^2] / / vst avi mo mat r i ko pol i nomov B B = ! 1 1 ! ! - - - - - - ! ! s 1 + s ! ! ! ! 1 1 ! ! - - - - - - ! ! 2 ! ! 1 + s s !

Matriki, definirani s polinomi, lahko izra�unamo determinanto s funkcijo det :

- - >M=[ p, p- 1; p+1, 2] M = ! 2 2 ! ! 1 + 2s + s 2s + s ! ! ! ! 2 ! ! 2 + 2s + s 2 ! - - >det ( M) ans = 2 3 4 2 - 4s - 4s – s

4.4.4. Shranjevanje in branje ukaznih datotek

�e želimo shraniti potek vpisov in tudi opombe, je najbolje, da jih pišemo kot

program v urejevalniku Scilaba, �eprav lahko uporabimo tudi katerikoli drug

urejevalnik besedil. Scilabov urejevalnik je SciPad, iz katerega lahko, poleg

shranjevanja programa za kasnejšo uporabo, prek klika na Load into Scilab vtipkan

program tudi poženemo.

Primer shranjevanja:

Na sliki 4 imamo okno »SciPad« z enostavnim programom, ki ga lahko poženemo v

Scilabu, da dobimo rezultate.

Page 25: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

19

Slika 4: Okno »SciPad« v katerem smo odprli program »primer.sci«

Program nato shranimo, tako da z miško kliknemo na File in nato na Save As.

Odprlo se bo okno »Save As« z našo lastno mapo, ki je prikazano na sliki 5. V

okence vpišemo ime datoteke OBVEZNO s podaljškom .SCI in kliknemo na Save.

Tako imamo svoj program shranjen v datoteki v izbrani mapi.

Slika 5: Okno za shranjevanje

�e želimo brati shranjeno datoteko s Scilabom, v SciPadu kliknemo File in nato

Open. Odpre se okno »Open«, kjer si izberemo datoteko z želenim imenom. Tako

dobimo izpisan izbrani program z vsemi komentarji.

Page 26: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

20

�e želimo le rezultat posameznega programa, kliknemo v ukaznem oknu Scilaba na

File in nato Exec… in odpre se okno »Exec«, kjer izberemo program in dobili bomo

želene rezultate. Na primer, �e želimo predvajati program napisan v SciPAdu s slike

4, kliknemo na File in nato Exec... in se odpre okno »Exec«, kjer izberemo ime, pod

katerim smo program shranili. Ko dvakrat kliknemo na izbrano nalogo, se v

Scilabovem ukaznem oknu izpiše:

- - >exec( ' D: \ DELO\ pr i mer . sci ' ) ; di sp( ' exec done' ) ; A = ! 1. 3. 2. ! ! - 1. 2. 1. ! ! 4. 2. 1. ! B = ! 0. - 0. 2 0. 2 ! ! - 1. 1. 4 0. 6 ! ! 2. - 2. - 1. ! exec done

in dobimo rezultate zapisanega programa.

4.4.5. Shranjevanje in branje datotek s podatki

Pogosto se zgodi, da bi radi izra�unane rezultate shranili v datoteko. Ukaz za

shranjevanje podatkov v datoteko je f pr i nt f Mat ( f i l , M [ , f or mat , t ext ] ) ,

kjer so parametri:

f i l – ime direktorija datoteke, kamor bo shranjena

M – matrika realnih števil, ki jo želimo shraniti v datoteko

f or mat – je niz znakov; parameter ni obvezen

t ext – niz znakov, ki dolo�a komentar, shranjen na za�etku datoteke

Ukaz f pr i nt f Mat shranjuje podatke kot matriko v datoteko, ki je zapisana v

tekstovni obliki. Vsaka vrstica matrike daje eno vrstico v datoteki. �e podamo tudi

komentar, potem so �rke komentarja v prvi vrstici datoteke, vsaka �rka v svoji

vrstici.

Page 27: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

21

Primer:

- - >n=5 / / dol o�i mo, da i ma n vr ednost 5 n = 5. - - >a=r and( n, n, ' u' ) / / pr i k l i �emo mat r i ko nakl j u�ni h št evi l a a = ! 0. 2113249 0. 6283918 0. 5608486 0. 2320748 0. 3076091 ! ! 0. 7560439 0. 8497452 0. 6623569 0. 2312237 0. 9329616 ! ! 0. 0002211 0. 6857310 0. 7263507 0. 2164633 0. 2146008 ! ! 0. 3303271 0. 8782165 0. 1985144 0. 8833888 0. 312642 ! ! 0. 6653811 0. 0683740 0. 5442573 0. 6525135 0. 3616361 ! - - >/ / mat r i ko shr ani mo v di r ekt or i j pod i menom Pet . dat br ez koment ar j a - - >f pr i nt f Mat ( ' Pet . dat ' , a)

�e imamo podatke shranjene v datoteki, jih lahko beremo v Scilabu. Ukaz za branje

shranjenih podatkov v datoteki je M=f scanf Mat ( f i l ename) , kjer so parametri:

f i l ename – je ime datoteke, pod katero so shranjeni podatki

M – ime matrike, ki ji priredimo vsebino datoteke

Ukaz f scanf Mat uporabljamo torej za branje podatkov, shranjenih z ukazom

f pr i nt f Mat , lahko pa ga uporabimo za branje podatkov iz datotek oblike ASCII,

ki smo jo oblikovali s katerimkoli drugim programom. V tem primeru je prva

nenumeri�na vrstica datoteke prebrana kot besedilo, vse ostale vrstice pa morajo

imeti enako število stolpcev števil. Stolpci so lo�eni s presledkom ali znakom.

Število stolpcev matrike bo sledilo številu stolpcev najdenih v datoteki.

Nadaljujemo z zgornjim primerom:

- - >a1=f scanf Mat ( ' Pet . dat ' ) / / mat r i ko pr i k l i �emo nazaj kot a1 a1 = ! 0. 211325 0. 628392 0. 560849 0. 232075 0. 307609 ! ! 0. 756044 0. 849745 0. 662357 0. 231224 0. 932962 ! ! 0. 000221 0. 685731 0. 726351 0. 216463 0. 214601 ! ! 0. 330327 0. 878216 0. 198514 0. 883389 0. 312642 ! ! 0. 665381 0. 068374 0. 544257 0. 652513 0. 361636 !

Page 28: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

22

4.5. Strukturirana pomo�

Scilab ima možnost sprotne pomo�i, do katere lahko pridemo na dva na�ina. En

na�in je, da kliknemo na menijski ukaz ? in nato Scilab Help ali pa na gumb F1 na

tipkovnici ter poiš�emo razlago ukaza, pri katerem potrebujemo pomo�, drugi na�in

pa je, da v ukaznem oknu Scilaba neposredno napišemo hel p >i me ukaza<. Z

drrugim na�inom se odpre okno neposredno z opisom in primerom za natanko tisti

ukaz, ki smo ga želeli.

Na primer, �e želimo vedeti ve� o ukazu abs (kar pomeni absolutna vrednost),

kliknemo v meniju na ukaz ? , in nato na Scilab Help, da se odpre okno »Scilab

Browse Help« s seznamom poglavij. Nato moramo v posameznem poglavju, v tem

primeru je to poglavje El ement ar y Funct i ons , poiskati ukaz abs . Ko ga

dobimo, kliknemo nanj in se na desni strani okna izpiše razlaga in primer uporabe

ukaza.

Pri drugem na�inu se neposredno odpre okno »abs« prikazano na sliki 6:

- - >hel p abs

Slika 6: Okno sprotne pomo�i

Page 29: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

23

5. UPORABA FUNKCIJ PAKETA SCILAB

Scilab lahko uporabljamo za ra�unanje z matrikami, s kompleksnimi števili, za

izrisovanje grafov, v njem lahko programiramo itd. V tem in naslednjem poglavju

bomo prikazali kako ra�unamo s funkcijami Scilaba.

5.1. Ra�unanje s polji spremenljivk

Polja spremenljivk so v Scilabu numeri�no razporejene v dveh dimenzijah.

Aritmeti�ne operacije nad polji se izvajajo po posameznih elementih. V tabeli 1 so

opisani matri�ni operatorji, ki opravljajo operacije na zgoraj opisani na�in.

Tabela 1: Matri�ni operatorji

. * množenje vsakega elementa posebej

. \ levo deljenje vsakega elementa posebej

A. \ B je matrika z (i,j) elementom A(i,j) \ B(i,j)

. / desno deljenje vsakega elementa posebej

A. / B je matrika z elementi A(i,j) / B(i,j)

. ^ potenciranje vsakega elementa posebej

Kot je razvidno iz tabele, ostane seštevanje in odštevanje enako, množenje, deljenje

in potenciranje pa se izvaja po posameznih elementih polja.

Primer:

- - >x=( - 5: 0. 5: 5) ; / / vst avi mo x - - >y=( x. ^2- 2) . / ( x. ^4- 2) / / y=( x. ^2- 2) . / ( x. ^4- 2) za vsak el ement x- a y = col umn 1 t o 5 ! 0. 0369181 0. 0447235 0. 0551181 0. 0692275 0. 0886076 !

Page 30: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

24

col umn 6 t o 11 ! 0. 1146712 0. 1428571 0. 0816327 1. 0. 9032258 1. ! col umn 12 t o 17 ! 0. 9032258 1. 0. 0816327 0. 1428571 0. 1146712 0. 0886076 ! col umn 18 t o 21 ! 0. 0692275 0. 0551181 0. 0447235 0. 0369181 ! - - >y=( x^2- 2) / ( x^4- 2) / / t u se oper aci j a i zvede vekt or sko y = 0. 0425259

5.2. Ra�unanje z matrikami

Osnovne operacije z matrikami so seštevanje (+), odštevanje (- ), deljenje (/ ),

množenje (* ), transponiranje (' ), invertiranje (i nv ) in izra�un determinante (det ).

- - >A=[ 1 0; - 1 - 1] / / vst avi mo mat r i ko A A = ! 1. 0. ! ! - 1. - 1. ! - - >B=[ 2 4; 0 - 4] / / vst avi mo mat r i ko B B = ! 2. 4. ! ! 0. - 4. ! - - >C=( ( A* B) ^ ( - 1) * ( B* A) ) / / mat r i ko C i zr a�unamo kot ABBA÷ C = ! - 2. - 2. ! ! . 5 0. !

- - >D=( A' * B- B' * A) ^ ( - 1) / / mat r i ko D i zr a�unamo kot 1TT A)BB( A −− D = ! 0. - . 125 ! ! . 125 0. ! - - >K=i nv( A) / / mat r i ko K i zr a�unamo kot i nver z mat r i ke A K = ! 1. 0. ! ! - 1. - 1. ! - - >det ( A) / / det er mi nant a mat r i ke A ans = - 1.

�e je det = 0 je matrika singularna, kar pomeni, da nima invertirane matrike.

Page 31: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

25

5.3. Ra�unanje s kompleksnimi števili

Kompleksna števila zapišemo s spremenljivkami z = x + yi, kjer sta spremenljivki x

in y realni števili, 1−=i pa je enota imaginarnega števila (Koren, 2002). V Scilabu

lo�imo spremenljivko x za realni del in spremenljivko y za imaginarni del.

Pomagamo si s posebno konstanto %i.

Real in i mag sta ukaza za prikaz realnega ali imaginarnega dela kompleksnega

števila.

- - >z=2. 3- 5. 2* %i / / vst avi mo kompl eksno št evi l o z z = 2. 3 - 5. 2i - - >r eal ( z) / / i zpi šemo r eal ni del št evi l a z ans = 2. 3 - - >i mag( z) / / i zpi šemo i magi nar ni del št evi l a z ans = - 5. 2

Ukaz abs je absolutna vrednost, ki pri kompleksnih številih da velikost

kompleksnega števila ( | z | = (x2+y2)1/2 ).

- - >abs( - 3+4* %i ) ans = 5.

Cei l , f l oor , f i x , i nt in r ound ukaze lahko uporabljamo tudi pri zapisih

kompleksnih števil. Njihova naloga je ista kot pri realnih številih.

Ukaz si gn vra�a pri realnih številih –1.0, 1.0, 0.0, odvisno od tega, ali so pozitivna,

negativna ali ni�le.

- - >si gn( [ - 2. 4 0. 0 5. 4] ) ans = ! - 1. 0. 1. !

Page 32: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

26

Pri kompleksnih številih pa povrne vrednost z/ | z |.

- - >si gn( 3- 4* %i ) ans = . 6 - . 8i

Množenje in deljenje kompleksnih števil:

- - >z=3- 4* %i ; / / vst avi mo kompl eksno št evi l o z - - >n=2+7* %i ; / / vst avi mo kompl eksno št evi l o n - - >m1=z* n / / množi mo vst avl j eni kompl eksni št evi l i z i n n m1 = 34. + 13. i - - >m2=z/ n / / del i mo vst avl j eni kompl eksni št evi l i z i n n m2 = - . 4150943 - . 5471698i

Kvadratni koren kompleksnega števila:

- - >t =3- 4* %i ; / / vst avi mo kompl eksno št evi l o t - - >sqr t ( t ) / / kor eni mo kompl eksno št evi l o t ans = 2. - i

5.4. Ra�unanje z eksponentnimi in logaritemskimi funkcijami

Eksponentni ukaz exp vrne vrednost od ex za realno število x, kjer je e iracionalno

število, ki tvori bazo naravnih logaritmov, e = 2.7182818…. V Scilabu je vrednost e

definirana kot %e.

- - >%e / / al i exp( 1) %e = 2. 7182818

Primeri vrednotenja eksponentnih funkcij z realnimi argumenti:

- - >exp( - 2. 3) / / t o j e e( - 2. 3) ans = . 1002588

Page 33: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

27

- - >exp( [ - 1 0 1 2 3] ) / / t o j e e( [ - 1 0 1 2 3] ) ans = ! . 3678794 1. 2. 7182818 7. 3890561 20. 085537 !

Eksponentno funkcijo kompleksnega števila predstavimo kot

exp(z) = ex+iy = ex eiy = ex (cos y + i sin y) = ex cos y + iex sin y.

- - >exp( 3+4* %i ) ans = - 13. 128783 - 15. 200784i

Inverzna funkcija eksponentne funkcije je naravni logaritem, ln(x), torej �e je y =

ln(x) je x = exp(y) = ey.

V Scilabu je funkcija naravnega logaritma definirana kot l og( ) . Primer izra�una

naravnega logaritma za realni argument:

- - >l og( 2. 35) / / nar avni l ogar i t em deci mal nega št evi l a ans = . 8544153 - - >l og( [ 1 2 3] ) / / nar avni l ogar i t em vekt or j a ans = ! 0. . 6931472 1. 0986123 !

Izra�uni naravnega logaritma za kompleksna števila v Scilabu so prikazana takole:

- - >l og( 2+3* %i ) / / nar avni l ogar i t em kompl eksnega št evi l a ans = 1. 2824747 + . 9827937i - - >/ / nar avni l ogar i t em vekt or j a kompl eksni h št evi l - - >l og( [ 1+%i , 2+3* %i , 1- %i ] ) ans = col umn 1 t o 2 ! . 3465736 + . 7853982i 1. 2824747 + . 9827937i ! col umn 3 ! . 3465736 - . 7853982i !

Page 34: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

28

Poleg naravnega logaritma sta zelo pogosti še dve vrsti logaritma, in to ()log10 in

()log2 , to sta logaritem na osnovi števila 10 in logaritem na osnovi števila 2, ki pa

sta definirana na naslednji na�in:

• logaritem z osnovo 10: �e je x = 10y je y = log10(x)

• logaritem z osnovo 2: �e je x = 2y je y = log2(x)

Primer:

- - >l og10( [ 100 200 10000 1500] ) ans = ! 2. 2. 30103 4. 3. 1760913 ! - - >l og2( [ 8 23 256 1000] ) ans = ! 3. 4. 523562 8. 9. 9657843 !

Primeri uporabe funkcij log10() in log2() na kompleksnih številih:

- - >l og10( 5- 3* %i ) ans = . 7657395 - . 2347012i - - >l og2( 4+6* %i ) ans = 2. 8502199 + 1. 4178716i

Logaritem lahko ra�unamo s katero koli osnovo. �e imamo x = ay, potem je

)(log xy a= torej je loga(x) = ln(x)/ ln(a).

Inverzna funkcija naravnega logaritma z osnovo a (loga(x)) je eksponentna funkcija z

osnovo a (ax).

Lahko uporabimo tudi eksponentno število z realno osnovo in kompleksnim

eksponentom, ki tvori rezultat s kompleksnim številom:

az = ax+iy = ax aiy = ax eiyln(a) = ax cos(y ln(a)) + iax sin(y ln(a))

Page 35: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

29

Primer:

- - >2^ ( 3- 5* %i ) ans = - 7. 5833916 + 2. 5479741i

Lahko imamo tudi eksponentno število s kompleksno osnovo in realnim

eksponentom:

za = (x + iy)a = (r × ei�

)a = ra eia�

= ra cos(a�) + ira sin(a

�)

Primer:

- - >( 2. 17- 6* %i ) ^3. 2 ans = - 268. 95975 + 263. 13871i

Primer ra�unanja eksponentnega števila s kompleksno osnovo in kompleksnim

eksponentom:

- - >( 5. 2- 4* %i ) ^ ( 2+3* %i ) ans = - 114. 30994 - 285. 7094i

5.5. Ra�unanje s polinomi

Osnovne operacije

Ravnanje z matrikami polinomov je pravzaprav enako ravnanju z matrikami števil.

Polinome prav tako lahko seštevamo, odštevamo, množimo in delimo, ampak samo

med polinomi z istimi spremenljivkami.

Primeri:

- - >p=pol y( [ 1 2] , ' s ' ) / / vst avi mo pol i nom p s spr emenl j i vko s p = 2 2 - 3s + s - - >q=pol y( [ 1 2] , ' s ' , ' c ' ) / / vst avi mo pol i nom q s spr emenl j i vko s q = 1 + 2s

Page 36: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

30

- - >p+q / / sešt ej emo pol i noma p i n q ans = 2 3 - s + s - - >p* q / / množi mo pol i noma p i n q ans = 2 3 2 + s - 5s + 2s - - >p/ q / / del i mo pol i noma p i n q ans = 2 2 - 3s + s - - - - - - - - - - 1 + 2s - - >p\ q / / del i mo pol i noma p i n q ans = 1 + 2s - - - - - - - - - - 2 2 - 3s + s

Koreni polinoma

Korene polinoma izra�unamo z ukazom r oot s ; [ x] =r oot s( p) .

- - >p=pol y( [ 1 2] , ' s ' ) / / vst avi mo pol i nom p s spr emenl j i vko s p = 2 2 - 3s + s - - >h=r oot s( p) / / h j e vekt or kor enov pol i noma p h = ! 1. ! ! 2. !

Racionalni polinomi kot model dinami�nega sistema

V poglavju 5.4.3. smo navedli osnovne stavke za definicijo polinomov, tu pa

prikazujemo še možnost za definicijo racionalnega polinoma kot zapis za linearni

dinami�ni sistem. Ukaz za definicijo sistema je [sl]=syslin(dom,H) ali

[sl]=syslin(dom,N,D), kjer so:

s1 – linearni sistem opisan z matriko racionalnih polinomov

Page 37: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

31

dom – je niz karakterjev; 'c' je za zvezni zapis dinami�nega sistema; 'd' je za

diskretni zapis dinami�nega sistema; za primer periodi�nega sistema s periodami

n (v sekundah); [ ] �e oblika zapisa ni definirana

H – je racionalna matrika

N,D – matrike števcev in imenovalcev racionalnih polinomov

Primer: Vstavimo prenosno funkcijo )5)(2(

)1()(

+++=

ss

ssG kot objekt.

-->s=poly(0,'s'); //definiramo spremenljivko -->G=syslin('c',(s+1)/((s+2)*(s+5))) //definiramo racionalni polinom G = 1 + s ----------- 2 10 + 7s + s

Tovrstne objekte lahko prav tako med seboj seštevamo, odštevamo, množimo in

delimo.

5.6. Grafi�no prikazovanje

Scilab ima veliko možnosti za izrisovanje grafov matrik, vektorjev in drugih funkcij

v dveh in treh dimenzijah na razne na�ine ter v obliki animiranega filma. Lahko

imamo odprtih ve� grafi�nih oken hkrati, vendar je lahko v vsakem trenutku aktivno

samo eno okno.

Grafi�no okno

Grafi�no okno se odpre, kadar uporabimo enega izmed ukazov za risanje, ki bodo

opisani v nadaljevanju. Grafi�no okno ima v meniju tri ukaze:

• File – vsebuje ukaze New…(odpre na novo grafi�no okno), Save Position (shrani

položaj), Load… (odpre okno »xload«, kjer lahko izberemo poprej shranjene

grafe), Save… (odpre okno »xsave«, kjer lahko shranimo izrisan graf v grafi�nem

oknu – ime grafa mora imeti podaljšek .SCG), Export (odpre okno »Export«, kjer

izberemo barvo, na�in prikaza in tip formata prenosa grafa v drug dokument),

Page 38: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

32

Copy to clipboard (je ukaz za kopiranje izrisanega grafa v drugi dokument ali v

dinami�ni spomin v EnhMetafile ali Metafile + DIB obliki zapisa), Print (je ukaz

za tiskanje v Postscript ali Windows obliki zapisa), Close�(zapre grafi�no okno)

• Tools – vsebuje ukaze ToolBar (bližnjica je F3; uporabljamo jo za prikaz bližnjic

v grafi�nem oknu), Zoom (pove�a tisti del grafa, ki ga ozna�imo), UnZoom (vrne

nazaj v prvotno stanje) in 2D/3D Rotation (uporabljamo jo za obra�anje

dvodimenzionalnega in tridimenzionalnega grafa)

• Edit – vsebuje ukaze Select, Redraw, Erase, Figure Properties, Current Axes

Properties, Start Entity Picker ter Stop Entity Picker, ki se uporabljajo za

oblikovanje grafov.

Izrisovanje grafa in osnovni Scilabovi grafi�ni ukazi

• plot() – je preprost graf; z ukazom plot(x,y,"x os","y os",

"naslov grafa") izriše graf funkcije y po x-u s komentarji na obeh oseh in

naslovom. Z ukazom plot(y) izriše graf vektorja y ali pa y matrike, kjer izriše

vse njene vrsti�ne vektorje na isti graf.

Primer: Izrisali bomo preprost graf sin(x) na intervalu od 0 do 2π s korakom 0.1

(slika 7).

-->//z x-om definiramo interval od 0 do 2π s korakom 0.1 -->x=(0:0.1:2*%pi); -->//preprost graf sin(x) po x-u, imenovanje osi x in y ter naslov grafa -->plot(x,sin(x),"x","sin(x)","Sinusni graf")

Page 39: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

33

0 1 2 3 4 5 6 7-1.0

-0.8

-0.6

-0.4

-0.2

0.0

0.2

0.4

0.6

0.8

1.0

Sinusni graf

x

sin(x)

Slika 7: Sinusni graf

• plot2d() – izriše dvodimenzionalni graf podobno kot plot(), vendar nima

enakih parametrov; plot2d([x],y) ali plot2d([x],y,[dolo�eni

ar amet r i ] ) je ukaz za izris grafa funkcije y po x-u, kjer sta x in y dve matriki

ali pa stolpi�asta vektorja enakih velikosti; ko x ni definiran, se na abcisni osi izpiše

zaporedno število elementov v y-u.

Primer: Narisali bomo graf kotne funkcije sin(x) na intervalu od 0 do 6π s korakom

0.1 (slika 8).

- - >x=( 0: 0. 1: 6* %pi ) ; / / def i ni r amo x - - >/ / ukaz za i zr i s gr af a s i n( x) po x- u, i menovanj e gr af a t er osi x i n y - - >pl ot 2d( x, s i n( x) ) ; - - >xt i t l e( " Gr af f unkci j e s i n( x) po x- u" , " x" , " s i n( x) " ) ;

Page 40: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

34

0 2 4 6 8 10 12 14 16 18 20-1.0

-0.8

-0.6

-0.4

-0.2

0.0

0.2

0.4

0.6

0.8

1.0

Graf funkcije sin(x) po x-u

x

sin(x)

Slika 8: Graf funkcije sin(x) po x-u

Naslednji ukaz za izris grafa sin(x) nima definiranega x-a, zato ga Scilab avtomati�no

nadomesti z vektorjem zaporednih števil elementov (slika 9).

- - >pl ot 2d( si n( x) ) ;

- - >xt i t l e( " s i n( x) " , " s i n( x) " , " s i n( x) " ) ;

Page 41: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

35

0 20 40 60 80 100 120 140 160 180 200-1.0

-0.8

-0.6

-0.4

-0.2

0.0

0.2

0.4

0.6

0.8

1.0

sin(x)

sin(x)

sin(x)

Slika 9: Graf funkcije sin(x) brez podatka o vrednostih neodvisne spremenljivke x

• f pl ot 2d( ) – izriše krivulje definirane s funkcijo; ukaz je

f pl ot 2d( xr , f , [ dol o�eni par amet r i ] )

Primer: Izrisali bomo graf funkcije y=sin(x)+cos(x) na intervalu 10

)10 do 0 od( ⋅

(slika 10).

- - >def f ( " [ y] =f ( x) " , " y=si n( x) +cos( x) " ) / / def i ni r amo f unkci j o z ukazom def f - - >x=[ 0: 0. 1: 10] * %pi / 10; / / def i ni r amo i nt er val - - >f pl ot 2d( x, f ) / / ukaz za i zr i s gr af a - - >xt i t l e( " s i n( x) +cos( x) " , " x" , " f ( x) " ) ; / / i me gr af a t er osi x i n y

Page 42: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

36

0.0 0.4 0.8 1.2 1.6 2.0 2.4 2.8 3.2-1.0

-0.6

-0.2

0.2

0.6

1.0

1.4

1.8

sin(x)+cos(x)

x

f(x)

Slika 10: Graf funkcije sin(x)+cos(x)

Opomba: Ukaz def f za definicijo funkcij si bomo podrobneje pogledali v poglavju

7.1.

Primer: Imamo funkcijo f(x), sestavljeno iz treh funkcij, definiranih na razli�nem

intervalu. Želimo narisati njen graf (slika 11).

��

��

>≤<−

≤=

1ln

101

0

x(x);

xx;

x;e

f(x)

x

V Scilabu najprej definiramo vse tri funkcije, vsako posebej:

- - >a=[ - 4 - 3. 5 - 3 - 2 - 1 0] ; y1=%e^a; / / def i ni r amo pr vo podf unkci j o - - >b=[ 0. 1 0. 2 0. 34 0. 6 0. 7 1] ; y2=1- b; / / def i ni r amo dr ugo podf unkci j o - - >c=[ 1. 5 2 3 3. 5 4 5. 5] ; y3=l og( c) ; / / def i ni r amo t r et j o podf unkci j o - - >/ / def i ni r amo skupni x, k i j e sest avl j en i z a, b i n c i n f unkci j o f ( x) , k i j e sest avl j ena i z podf unkci j y1, y2 i n y3 - - >x=[ a b c] ; - - >f =[ y1 y2 y3] ;

Page 43: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

37

- - >/ / i zr i šemo gr af kon�ne f unkci j e - - >pl ot 2d( x, f ) ; xt i t l e( " f =[ y1 y2 y3] " , " x" , " f " ) ;

-4 -3 -2 -1 0 1 2 3 4 5 60.0

0.2

0.4

0.6

0.8

1.0

1.2

1.4

1.6

1.8

f=[y1 y2 y3]

x

f

Slika 11: Graf funkcije sestavljene iz treh funkcij

Druge vrste grafov plot2d funkcij:

• pl ot 2d2 – isto kot plot2d, vendar so krivulje stopni�aste konstante

• pl ot 2d3 – isto kot plot2d, vendar so krivulje izrisane z navpi�nimi �rtami (ang.

vertical bars)

• pl ot 2d4 – isti kot plot2d, vendar so krivulje izrisane s puš�icami (ang. arrows)

Parametri v ukazu pl ot 2d( [ x] , y, [ dol o�eni par amet r i ] ) za izris

dvodimenzionalnega grafa so podrobno opisani v sprotni pomo�i programa Scilab.

• xset ( ) – odpre okno »Scilab choices«, kjer lahko spremenimo nekatere lastnosti

grafa (�rke besed, obliko krivulje, oznake na oseh itd.)

• xgr i d( ) – grafu doda mrežo; v oklepaj lahko napišemo številko s katero je

dolo�ena barva mreže (1 - �rna, 2 – temno plava, 3 - zelena, 4 – svetlo plava, 5 –

rde�a, itd.)

Page 44: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

38

Izrisovanje grafov v posamezno grafi�no okno

Pri izpisovanju ve�delnih programov, ki vsebujejo grafi�ne prikaze, imamo dve

možnosti. Prva možnost je ta, da med posameznimi izrisi napišemo ukaza

xcl i ck( ) ; (Scilab po�aka na naš klik z miško na grafi�no okno) in xbasc( ) ;

(Scilab izbriše poprej narisan graf in nariše novega). Druga�e se bodo grafi izrisovali

en za drugim brez premora, tako da jih vseh sploh ne bi mogli videti. Druga možnost

pa je izrisovanje grafov vsakega v svoje grafi�no okno z ukazom

xset ( " wi ndow" , št evi l ka okna) ; .

Primer: Izrisati želimo dva razli�na grafa, vsakega v svoje okno (slika 12, slika 13).

- - >x=0: 0. 1: 2* %pi ; / / vst avi mo x - - >xset ( " wi ndow" , 1) ; / / ošt evi l �i mo gr af i �no okno - - >pl ot ( x, s i n( x) , " s i n( x) " , " x" , " Si nusni gr af " ) / / i zr i s gr af a s i n( x) po x- u - - >x=( 0: 0. 1: 6* %pi ) ; / / vst avi mo novi x - - >xset ( " wi ndow" , 2) ; / / ošt evi l �i mo gr af i �no okno - - >pl ot 2d( x, s i n( x) ) ; / / i zr i s gr af a s i n( x) po x- u - - >xt i t l e( " s i n( x) " , " x" , " s i n( x) " ) ; / / poi menovanj e gr af a

Slika 12: Prvi graf, izrisan v grafi�nem oknu številka 1

Page 45: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

39

Slika 13: Drugi graf, izrisan v grafi�nem oknu številka 2

Opomba: �e imamo odprto samo eno okno, lahko pišemo ukaze, ki jih želimo

izvesti v grafi�nem oknu, s praznim oklepajom, �e pa imamo odprtih ve� grafi�nih

oken, moramo napisati v oklepaj številko okna, na katero želimo vplivati.

Spreminjanje velikosti grafi�nega okna

Ukaz subpl ot ( m, n, p) ali subpl ot ( mnp) uporabljamo za dolo�anje

podrejenih oken glavnega grafi�nega okna, v katerem se bo izrisal graf. Parametri

m,n,p so pozitivna cela števila. Ukaz subpl ot razdeli grafi�no okno na m-krat-n

matriko podrejenih oken, navadno je to 2-krat-2 matrika podrejenih oken na primer

��

��

43

21, in izbere zaporedje izrisa p-tega podrejenega okna (to so podrejeno okno 1,

2, 3 in 4) za izris grafa.

Page 46: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

40

Primer: Izrisali bomo štiri razli�ne grafe na intervalu od 0 do 2, vsakega v svoje

podrejeno okno (slika 14).

- - >x=[ 0: 0. 1: 2* %pi ] ' ; / / vst avi mo x - - >subpl ot ( 221) ; / / 1. podr ej eno okno ( l evo zgor aj ) - - >pl ot 2d( x, s i n( x) ) ; xt i t l e( ' s i n( x) ' ) ; / / i zr i s gr af a s i n( x) i n nasl ov - - >subpl ot ( 222) ; / / 2. podr ej eno okno ( desno zgor aj ) - - >/ / i zr i s t r eh kr i vul j z i st i m x- om i n dol o�i t ev obl i ke kr i vul j ( 1 - pol na �r t a, - 1 - pl usi , - 5 - di amant ) - - >pl ot 2d( x, [ s i n( x) s i n( 2* x) s i n( 3* x) ] , [ 1, - 1, - 5] ) ; - - >xt i t l e( ' s i n( x 2x 3x) ' ) ; / / nasl ov gr af a - - >subpl ot ( 223) ; / / 3. podr ej eno okno ( l evo spodaj ) - - >/ / pove�ava podr o�j a x: od 0 do 6, y: od 0 do 1 - - >pl ot 2d( x, [ s i n( x) s i n( 2* x) s i n( 3* x) ] , [ 1, - 1, - 5] , r ect =[ 0, 0, 6, 1] ) ; - - >xt i t l e( ' Vel i kost l oka kr i vul j e' ) ; / / nasl ov gr af a - - >subpl ot ( 224) ; / / 4. podr ej eno okno ( desno spodaj ) - - >/ / mnogovr st ni gr af i z r azl ago pomena kr i vul j - - >pl ot 2d( x, [ s i n( x) s i n( 2* x) s i n( 3* x) ] , [ 1, - 1, - 5] , … - - >l eg=" si n( x) @si n( 2x) @si n( 3x) " , nax=[ 2, 10, 2, 10] , r ect =[ 0, - 2, 2* %pi , 2] ) - - >xt i t l e( ' Opi s kr i vul j ' ) ; / / nasl ov gr af a

Page 47: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

41

0 1 2 3 4 5 6 7-1.0-0.8-0.6-0.4-0.20.00.20.4

0.60.81.0

sin(x)

0 1 2 3 4 5 6 7-1.0-0.8-0.6-0.4-0.20.00.20.4

0.60.81.0

sin(x 2x 3x)

+

+

+++++++++

+++

+

+

+

+

++++++++

++++

+

+

+

+

+++++

+++++++

+

+

+

+

+++++++

++++

+

+�

����

����

����

����

����

����

0 1 2 3 4 5 60.00.10.2

0.30.40.50.60.7

0.80.91.0

Velikost loka krivulje

+

+

+

+

+

+

++++

+

+

+

+

+

+ +

+

+

+

+

++++

++

+

+

+

+

+�

���

���

���

0 1 2 3 4 5 6-2.0-1.6-1.2

-0.8-0.40.00.40.8

1.21.62.0

Opis krivulj

+++++++++++++

++++++++++++++++

+++

+++++++++++++

+++++

++++++++++

+++

�������

��

������

���

�������

��

������

���

�������

��

������

���

sin(x)sin(2x)+sin(3x)�

Slika 14: Prikaz lo�evanja grafi�nega okna

Ukaz Edit

V menijski ukaz Edi t ima poleg drugih ukazov še ukaza Fi gur e Pr oper t i es

in Cur r ent Axes Pr oper t i es . Ta dva ukaza sta zelo uporabna in prakti�na,

saj z njima lahko naknadno oblikujemo vse sestavine grafa od naslova do �rt in

številk izrisanega grafa.

Kot primer uporabimo prejšnjo nalogo. �e gremo po izvedenih prejšnjih ukazih v

Edi t in nato kliknemo Cur r ent Axes Pr oper t i es , se odpre urejevalnik

grafi�nega okna, kjer lahko spremenimo lastnosti posameznih sestavin. Spremenimo

lahko na primer lastnosti krivulj grafa ter osi, obliko naslovov in številk. Na sliki 15

je grafi�nmo okno s spremenjenimi lastnostmi �etrtega grafa. Spremenili smo

debelino osi, velikost naslova in številk grafa ter obliko krivulj.

Page 48: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

42

0 1 2 3 4 5 6 7-1.0-0.8-0.6-0.4-0.20.00.20.4

0.60.81.0

sin(x)

0 1 2 3 4 5 6 7-1.0-0.8-0.6-0.4-0.20.00.20.4

0.60.81.0

sin(x 2x 3x)

+

+

+++++++++

+++

+

+

+

+

++++++++

++++

+

+

+

+

+++++

+++++++

+

+

+

+

+++++++

++++

+

+�

����

����

����

����

����

����

0 1 2 3 4 5 60.00.10.2

0.30.40.50.60.70.80.91.0

Velikost loka krivulje

+

+

+

+

+

+

++++

+

+

+

+

+

+ +

+

+

+

+

++++

++

+

+

+

+

+�

���

���

���

0 1 2 3 4 5 6-2.0

-1.6

-1.2

-0.8

-0.4

0.0

0.4

0.8

1.2

1.6

2.0

Opis krivulj

∗∗∗∗∗∗∗∗∗∗∗∗∗

∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗

∗∗∗

∗∗∗∗∗∗∗∗∗∗∗∗∗

∗∗∗∗∗

∗∗∗∗∗∗∗∗∗∗

∗∗∗

sin(x)sin(2x)∗sin(3x)

Slika 15: Sprememba lastnosti grafa

5.7. Programiranje

Ena zelo uporabnih lastnosti Scilaba je njegova odprtost za programiranje novih

uporabniških funkcij.

Za programiranje uporabljamo poleg vseh do sedaj opisanih in podobnih funkcij tudi

krmilne stavke IF, SELECT/CASE, FOR, WHILE in BREAK.

Logi�ni stavek i f omogo�a izvajanje nekega stavka, �e je zato izpolnjen pogoj.

Sintaksa stavka je:

I F pogoj

st avek

end

Pogoj je logi�ni izraz, in stavek pa je izvedbeni stavek. �e je pogoj izpolnjen, se

stavek izvede, sicer pa ne.

Page 49: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

43

Stavek f or omogo�a, tako kot pri ve�ini programskih stavkov, ponavljanje enega ali

ve� stavkov v zanki. Stavek je lahko izraz, funkcija ali krmilni stavek. Število

ponovitev je dolo�eno vnaprej. Sintaksa stavka je:

FOR i =1: n

st avki

end

Stavek whi l e ponavljajo�e izvaja zaporedja ukazov (enega ali ve� stavkov) v

odvisnosti od vrednosti vnaprej definiranega pogoja, dokler je ta izpolnjen. Sintaksa

stavka je:

WHI LE pogoj

st avki

end

Ta stavek uporabljamo predvsem, ko ni vnaprej definirano število ponavljanj nekega

dela programa.

Oba stavka lahko prekinemo z ukazom br eak .

V Scilabu obstajata dva pogoja: blok i f - t hen- el se in blok sel ect - case.

Pogoj i f - t hen- el se omogo�a, da se pri izpolnjenem pogoju izvrši eno zaporedje

stavkov, pri neizpolnjenem pa drugo zaporedje stavkov.

I F pogoj 1 THEN Zapor edj e st avkov, k i se i zvr ši , �e j e pogoj 1 ( l ogi �ni i zr az) i zpol nj en. ELSE I F pogoj 2 THEN Zapor edj e st avkov, k i se i zvr ši , �e j e pogoj 2 i zpol nj en. ELSE Zapor edj e st avkov, k i se i zvr ši j o, �e noben pogoj ni i zpol nj en. end Kon�ni st avek

Primer: Dolo�ili smo, da je x = 1. �e vrednost x ustreza pogoju v ukazu i f , se

spremenljivki y priredi negativna vrednost, druga�e pa vrednost x.

- - >x=1 x = 1.

Page 50: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

44

- - >i f x>0 t hen, y=- x, el se, y=x, end y = - 1.

ali

- - >x=- 1 x = - 1. - - >i f x>0 t hen, y=- x, el se, y=x, end y = - 1.

Pogoj sel ect - case izbere izpolnjeni pogoj med ve�imi možnimi in izvede

pogoju pripadajo�e zaporedje stavkov.

SELECT pogoj CASE pogoj 1 Zapor edj e st avkov, k i se i zvr ši po pr i mer j avi z dr ugi mi Možni mi pogoj i . CASE pogoj 2 Zapor edj e st avkov, k i se i zvr ši po pr i mer j avi z dr ugi mi možni mi pogoj i . end Kon�ni st avek

Primer:

- - >x=- 1 x = - 1. - - >sel ect x, case 1, y=x+5, case - 1, y=sqr t ( x) , end y = i

Vsi krmilni stavki se kon�ajo s stavkom end, ki je tudi zadnji in edini obvezni

stavek v programu. Ta stavek ozna�uje fizi�ni konec programa.

Programske stavke normalno pišemo vsakega v svojo vrstico. Vsakega kon�amo s

podpi�jem (; ), razen �e želimo izpis teko�e spremenljivke na ekran. �e je stavek

predolg za eno vrstico, uporabmo za nadaljevanje stavka v novi vrstici že omenjene

tri pikice (. . . ).

Page 51: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

45

5.7.1. Ukazni programi

Ukazni programi so sestavljeni iz funkcij in izrazov ter, po potrebi, iz krmilnih

stavkov in pogojev brez za�etne definicije in zaklju�nega stavka end. V datoteki, ki

jo tvorimo na primer s Scilabom, so ukazi zapisani tako, kot bi jih pisali v ukazno

okno.

Na primer za izra�un n fakulteta (n!) je sintaksa stavka:

k=i nt ( n) ; I f k<1 t hen, k=1; end

�e j e k=0 al i negat i ven, mu pr i r edi mo vr ednost 1.

x=1; f or j =1: k, x=x* j ;

Vr ednost x se množi z zapor edno nar aš�aj o�o vr ednost j o št evca do naj ve�j e vr ednost i št evca, k i j e enaka k.

end Kon�ni st avek

Ukazni programi pri izvajanju programa morajo posamezne stavke programa sproti

pregledati in jih predelati v obliko, ki jo razume ra�unalnik.

5.7.2. Funkcije

Funkcije se za�nejo z definicijo imena funkcije ter vhodnih in izhodnih spremenljivk.

Kon�ajo se s stavkom end. Primer izra�unavanja n fakultete (n!):

Funkcije se vedno nahajajo v datoteki s podaljškom .sci.

f unct i on[ x] =f act ( k) x j e spr emenl j i vka, k i j i bo f unkci j a pr i r edi l a r ezul t at f akul t et e n

k=i nt ( k) ; I f k<1 t hen, k=1;

�e j e k=0 al i negat i ven, mu pr i r edi mo vr ednost 1.

end Kon�ni st avek x=1; f or j =1: k, x=x* j ;

Vr ednost x se množi z zapor edno nar aš�aj o�o vr ednost j o št evca do naj ve�j e vr ednost i št evca, k i j e enaka k.

end Kon�ni st avek

end Kon�ni st avek

Page 52: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

46

6. PRIMERI UPORABE NA RAZLI�NIH PODRO�JIH

V tem poglavju bomo predstavili nekaj zna�ilnih primerov reševanja nalog z

razli�nih strokovnih podro�ij, kot so matematika, fizika, avtomatsko vodenje,

energetika, ra�unalništvo in ekonomika.

6.1. Matematika

Izbrani primeri bodo prikazali, kako reševati sistem ena�b, poiskati ni�lo nelinearnih

funkcij, izra�unati dolo�ene integrale in poiskati rešitev diferencialne ena�be (Koren,

2002).

Reševanje sistemov ena�b

Sistem linearnih ena�b lahko v programu Scilab rešujemo v matri�ni obliki.

Poiš�imo rešitve sistema linearnih ena�b.

13352

244

842

11252

=−−−−=−+

=+++−−=+−−

wzyx

zyx

wzyx

wzyx

Sistem ena�b lahko napišemo v matri�ni obliki:

����

����

=

����

����

����

����

−−−−

−−−

13

24

8

11

w

z

y

x

1352

0141

1421

2521

V Scilab to zapišemo tako, da vstavimo levo in desno stran ena�b v matri�ni obliki:

- - >l eva=[ 1 - 2 - 5 2; - 1 2 4 1; 1 4 - 1 0; 2 - 5 - 3 - 1] l eva = ! 1. - 2. - 5. 2. ! ! - 1. 2. 4. 1. ! ! 1. 4. - 1. 0. ! ! 2. - 5. - 3. - 1. !

Page 53: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

47

- - >desna=[ - 11; 8; - 24; 13] desna = ! - 11. ! ! 8. ! ! - 24. ! ! 13. ! - - >l eva^ ( - 1) * desna / / r eši t ev ena�be j e desna/ l eva ans = ! 1. 0471698 ! / / = x ! - 5. 0943396 ! / / = y ! 4. 6698113 ! / / = z ! . 5566038 ! / / = w

Iskanje ni�le nelinearnih funkcij

Ni�la funkcije f(x) je njeno prese�iš�e z osjo x. V Scilabu moramo funkcijo y = f(x)

definirati z ukazom def f . To je sprotna definicija funkcije (funkcija, ki jo definira

uporabnik programa v samem programu).

Uporabnik definira novo funkcijo z ukazom def f ( ' [ s1, s2, . . . ] =

newf unct i on( e1, e2, . . . . ) ' , t ext [ , opt ] ) , kjer je newf unct i on ime

nove funkcije in t ext definira, kakšna je ta nova funkcija (v tem delu napišemo

definicijo funkcije). Ta ukaz lahko uporabimo znotraj funkcije, nova funkcija pa je

lahko vhod ali izhod katere koli druge funkcije.

e1, e2, . . . , - vhodne spremenljivke

s1, s2, . . . , - izhodne spremenljivke

t ext – matrika niza podatkov

opt - neobvezen niz podatkov (' c ' - funkcija je "prevedena", da je bolj

u�inkovita, ' n' - funkcija ni "prevedena")

Primer:

- - >/ / def i ni c i j a f unkci j e, k i sešt ej e dve spr emenl j vki - - >def f ( ' [ x ] =mypl us( y, z) ' , ' x=y+z' ) - - >/ / def i ni c i j a f unkci j e x=( 3y+1) z+y - - >def f ( ' [ x ] =mymacr o( y, z) ' , [ ' a=3* y+1' ; ' x=a* z+y' ] )

Page 54: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

48

S funkcijo f sol ve poiš�e Scilab z iskalnim algoritmom ni�lo funkcije. Zapis ukaza

je [ xr es] =f sol ve( x0, f ) , kjer je:

x0 – za�etna vrednost funkcije

f – funkcija

Primer: Iš�emo rešitev nelinearne ena�be 02log =−+ x(x) .

- - >def f ( ' [ y ] =f ( x) ' , ' y=l og10( x) +x- 2' ) ; / / def i ni r amo ena�bo kot f unkci j o - - >/ / ukaz za i skanj e ni �l e f unkci j e - - >/ / 5 j e za�et na vr ednost i skanj a, k i j o i zber emo sami - - >[ xr es] =f sol ve( [ 5] , f ) xr es = 1. 7555795

Primer: Iš�emo rešitev nelinearne ena�be 1=+ xex . Iskanje pri�nemo z za�etno

vrednostjo x0 = 2

1.

- - >def f ( ' [ y ] =f ( x) ' , ' y=x+%e^x- 1' ) ; - - >[ xr es] =f sol ve( [ 0. 5] , f ) / / za�et na vr ednost j e 0. 5 xr es = 1. 089E- 17

Ra�unanje dolo�enih integralov

Funkcijo definiramo z ukazom def f in nato z ukazom i nt g integriramo.

Primer: Izra�unajmo integral funkcije dxxx )24(2

1

3� + .

- - >def f ( ' [ y ] =f ( x) ' , ' y=4* x^3+2* x' ) ; - - >i nt g( 1, 2, f ) / / i zr a�una i nt egr al f unkci j e f v mej i od 1 do 2 ans = 18.

Page 55: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

49

Primer: Izra�unajmo integral funkcije � −3

0

2)3( dxxx .

- - >def f ( ' [ y ] =f ( x) ' , ' y=3* x- x^2' ) ; - - >i nt g( 0, 3, f ) ans = 4. 5

Poglejmo si primer kako lahko izra�unamo ploš�ino med krivuljo in osjo x po

formuli F(a)F(b)IF(x)f(x)dxplb

a

b

a−=== � ali med dvema krivuljama po formuli

( )� −=b

a

dxxgxfpl )()( .

Primer: Izra�unajmo ploš�ino med krivuljo y = sin(x) in osjo x (y = 0) na intervalu

[ ]2,0 .

�� � =−=ππ π

π 00

2

)sin(2)sin()sin( dxxdxxdxxpl

V Scilabu definiramo funkcijo in jo integriramo:

- - >def f ( ' [ y ] =f ( x) ' , ' y=si n( x) ' ) ; / / def i ni r amo f unkci j o - - >/ / pl oš�i na med kr i vul j o i n osj o x na i nt er val u od 0 do 2π - - >pl =2* i nt g( 0, %pi , f ) pl = 4.

Primer: Izra�unajmo ploš�ino med funkcijama 23)( xxxf −= in 3)( −= xxg na

intervalu [–1, 3].

V Scilabu definiramo funkcijo 3x-x2-(x-3) in jo integriramo:

- - >def f ( ' [ y ] =f ( x) ' , ' y=3* x- x^2- ( x- 3) ' ) ; - - >pl =i nt g( - 1, 3, f ) / / pl oš�i na med kr i vul j ama na i nt er val u od –1 do 3 pl = 10. 666667

Page 56: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

50

Iskanje rešitve diferencialne ena�be

Rešitev diferencialne ena�be v Scilabu poiš�emo z ukazom ode. Rešitev dobimo v

obliki vektorja, ki vsebuje vrednost rešitve diferencilne ena�be pri vnaprej izbranih

vrednostih neodvisne spremenljivke t. Zapis funkcije za izra�un je

y=ode( y0, t 0, t , f ) , kjer je:

y0 – za�etni pogoji

t 0 – za�etna vrednost neodvisne spremenljivke

t – vrednostineodvisne spremenljivke

f – diferencialna ena�ba

Ukaz ode je standardna funkcija za reševanje sistemov navadnih diferencialnih

ena�b definiranih v obliki dy/ dt = f(t,y) , y(t0) = y0.

Primer: Poiš�imo rešitev diferencialne ena�be )cos()sin(2 ttyydt

dy +−= z za�etnim

pogojem y0 = 0 in narišimo njen graf (slika 16).

- - >def f ( " [ ydot ] =f ( t , y) " , " ydot =y^2- y* si n( t ) +cos( t ) " ) - - >/ / def i ni r amo za�et ne vr ednost i i n vr ednost i neodvi sne spr emenl j i vke pr i kat er i h nas zani ma r eši t ev - - >y0=0; t 0=0; t =0: 0. 1: %pi ; - - >y=ode( y0, t 0, t , f ) ; / / poi š�e r eši t ev di f er enci al ne ena�be - - >pl ot ( t , y, " t " , " y" , " Reši t ev di f er enci al ne ena�be" ) ;

Page 57: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

51

0.0 0.4 0.8 1.2 1.6 2.0 2.4 2.8 3.20.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

Rešitev diferencialne ena�be

t

y

Slika 16: Rešitev diferencialne ena�be

6.2. Fizika

Uporabo programskega paketa Scilab v fiziki si bomo ogledali na primeru gibanja

klade na vzmeti brez dušenja in isti primer z dušenjem (Halliday et al, 1997). To sta

primera, pri katerih bomo uporabili reševanje diferencialnih ena�b drugega reda.

Nedušeno nihanje

Imamo klado z maso m na vzmeti s koeficientom prožnosti k, kot je prikazano na

sliki 17. Izra�unajmo odmik iz ravnovesne lege in narišemo nekaj krivulj rešitve pri

razli�nih vrednostih m

k.

Page 58: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

52

Slika 17: Klada na vzmeti

Sila vzmeti na klado je xkF ⋅−= .

Gibanje klade dolo�imo z Newtonovim zakonom amF ⋅= , torej amxk ⋅=⋅− , pri

�emer je pospešek drugi odvod odmika po �asu xdt

xda ��==

2

2

. Gibanje klade torej

zapišemo z diferencialno ena�bo drugega reda:

xmxk ��⋅=⋅−

ali

xm

kx ⋅−=�� ali

m

kwxwx =⋅−= jekjer,2

�� lastna frekvenca.

Rešitev lahko poiš�emo analiti�no ali numeri�no.

Analiti�na rešitev je ( )ϕ+⋅= wtxx sin0 .

Numeri�no rešitev pa bomo poiskali s programom Scilab.

Za primer vzamemo klado na vzmeti z maso 1.3 kg, s konstanto prožnosti vzmeti 40

N/m, lastno frekvenco 5.5 s-1 ter z za�etnim odmikom x0 = 0 m in za�etno hitrostjo v0

= 2 m/s.

xm

kx ⋅−=�� ,

N/mkgm

k769231.30= .

Page 59: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

53

Iš�emo torej rešitev diferencialne ena�be xx ⋅−= 769231.30�� za vrednosti �asa t od 0

do 10 s pri za�etni vrednosti x0 = 0 in 0x� = 2 m/s. Diferencialno ena�bo drugega reda

zapišemo v obliki sistema diferencialnih ena�b prvega reda:

21 xx =�

in

12 769231.30 xx ⋅−=� , kjer je xx =1 .

Te nato zapišemo v matri�ni obliki:

��

��

��

��

−=�

��

2

1

2

1

0769231.30

10

x

x

x

x

V Scilabu izra�unamo rešitev z ukazom ode in izrišemo graf (slika 18):

- - >/ / podat ki so m, k, x0=[ x10; x20] - - >m=1. 3; k=40; x0=[ 0; 2] ; - - >/ / def i ni r amo mat r i ko di f er enci al ni h ena�b kot spr emenl j i vko A - - >A=[ 0 1; - ( k/ m) 0] ; - - >def f ( " [ xdot ] =f ( t , x) " , " xdot =A* x" ) ; / / def i ni c i j a f unkci j e - - >x0=[ 0; 2] ; t 0=0; t =( 0: 0. 01: 10) ; / / dol o�i mo �as opazovanj a r eši t ev - - >x=ode( x0, t 0, t , f ) ; / / poi š�e r eši t ev di f er enci al ne ena�be - - >odmi k=x( 2, 26) / / i zpi še odmi k od r avnovesne l ege odmi k = 0. 3660171 - - >pl ot ( t , x( 1, : ) ) ; / / i zr i s i n poi menovanj e gr af a f unkci j e - - >xt i t l e( ' Nedušeno ni hanj e' , ' t ( s) ' , ' x ( m) ' ) ;

Page 60: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

54

0 1 2 3 4 5 6 7 8 9 10-0.4

-0.3

-0.2

-0.1

0.0

0.1

0.2

0.3

0.4

Nedušeno nihanje

t (s)

x (m)

Slika 18: Graf nedušenega nihanja

V zgornji graf dodamo še dva primera z razli�nimi vrednostmi m

k (slika 19). Izbrali

smo še kladi z maso m = 2.1 kg in m = 0.7 kg. Konstanta prožnosti vzmeti ostane

enaka.

- - >m=1. 3; k=40; x0=[ 0; 2] / / naši podat ki - - >A=[ 0 1; - k/ m 0] ; / / mat r i ka za pr vo vr ednost k/ m - - >def f ( " [ xdot ] =f ( t , x) " , " xdot =A* x" ) ; / / def i ni c i j a f unkci j e - - >t 0=0; t =( 0: 0. 01: 10) ; / / za�et ni pogoj i - - >x1=ode( x0, t 0, t , f ) ; / / pr va r eši t ev di f er enci al ne ena�be - - >m=2. 1; / / podamo dr ugo maso - - >A=[ 0 1; - k/ m 0] ; / / mat r i ka za dr ugo vr ednost k/ m - - >x2=ode( x0, t 0, t , f ) ; / / dr uga r eši t ev di f er enci al ne ena�be - - >m=0. 7; / / podamo t r et j o maso - - >A=[ 0 1; - k/ m 0] ; / / mat r i ka za t r et j o vr ednost k/ m - - >x3=ode( x0, t 0, t , f ) ; / / t r et j a r eši t ev di f er enci al ne ena�be

Page 61: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

55

- - >/ / i zr i s i n poi menovanj e gr af a f unkci j - - >pl ot 2d( t , [ x1( 1, : ) ; x2( 1, : ) ; x3( 1, : ) ] ' , [ 1, - 9, - 4] , l eg=" x1@x2@x3" ) ; - - >xt i t l e( ' Nedušeno ni hanj e z r azl i �ni mi vr ednost mi k/ m' , ' t ( s) ' , ' x ( m) ' ) ;

0 1 2 3 4 5 6 7 8 9 10-0.5

-0.4

-0.3

-0.2

-0.1

0.0

0.1

0.2

0.3

0.4

0.5

Nedušeno nihanje z razli�nimi vrednostmi k/m

t (s)

x (m)

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

°°°°°°°°°°°°°°°°°°°°°

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

x1

x2°x3♦

Slika 19: Graf funkcij pri nedušenem nihanju z razli�nimi vrednostmi k/m

Dušeno nihanje

Izra�unamo še odmik od ravnovesne lege, �e na klado na vzmeti deluje sila upora, ki

je sorazmerna s hitrostjo klade vbFu ⋅−= , kjer je b koeficient dušenja. Iz

Newtonovega zakona dobimo amF ⋅= ali amvbxk ⋅=⋅−⋅− .

Upoštevamo, da je hitrost klade prvi odvod odmika po �asu xdt

dxv �== , kar nas

pripelje do diferencialne ena�be:

xm

kx

m

bxx

m

kx

m

bx ⋅−⋅−=�=⋅+⋅+ ������ 0

Page 62: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

56

Analiti�na rešitev je ( )ϕ+⋅=−

twexx D

tm

b

sin20 .

Frekvenca dušenega nihanja je 2

20 2

��

���

�−=m

bwwD , pri �emer je lastna frekvenca

m

kw =2

0 , torej je 2

2��

���

�−=m

b

m

kwD .

Diferencialno ena�bo drugega reda xm

bx

m

kx ��� ⋅−⋅−= zapišemo v obliki sistema

diferencialnih ena�b prvega reda:

21 xx =�

in

12 xm

b

m

kx ⋅−−=� , kjer je xx =1 in drugi element

m

b− pomeni velikost

dušenja.

Te nato zapišemo v matri�ni oblik:

��

��

⋅��

��

−−=�

��

2

1

2

1

10

x

x

m

b

m

kx

x

V Scilabu rešimo diferencialno ena�bo numeri�no za razli�na razmerja med m

b in

m

k. Poiskati in narisati moramo rešitve za majhno (podkriti�no) dušenje, ter kriti�no

in nadkriti�no dušenje (slika 20).

Page 63: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

57

V Scilabu je postopek numeri�nega reševanja naslednji:

a) Majhno dušenje: m

b

2< w0

- - >k=40; m=1. 3; b=2; x0=[ 0; 2] ; / / vst avi mo podat ke - - >A=[ 0 1; - k/ m - b/ m] ; / / def i ni r amo mat r i ko - - >def f ( " [ xdot ] =f ( t , x) " , " xdot =A* x" ) ; / / def i ni c i j a f unkci j e - - >t 0=0; t =( 0: 0. 01: 10) ; / / za�et ni pogoj i - - >x1=ode( x0, t 0, t , f ) ; / / pr va r eši t ev di f er enci al ne ena�be

b) Kriti�no dušenje: m

b

2= w0

- - >b=14. 422205; / / vst avi mo nov koef i c i ent dušenj a - - >A=[ 0 1; - k/ m - b/ m] ; / / def i ni r amo mat r i ko - - >x2=ode( x0, t 0, t , f ) ; / / dr uga r eši t ev di f er enci al ne ena�be

c) Nadkriti�no dušenje: m

b

2> w0

- - >b=30; / / vst avi mo nov koef i c i ent dušenj a

- - >A=[ 0 1; - k/ m - b/ m] ; / / def i ni r amo mat r i ko

- - >x3=ode( x0, t 0, t , f ) ; / / t r et j a r eši t ev di f er enci al ne ena�be - - >/ / i zr i s i n poi menovanj e gr af a - - >pl ot 2d( t , [ x1( 1, : ) ; x2( 1, : ) ; x3( 1, : ) ] ' , [ - 10, 1, 1] , l eg=" x1@x2@x3" ) ; - - >xt i t l e( ' Dušeno ni hanj e x1 x2 x3' , ' t ( s) ' , ' x ( m) ' ) ;

Page 64: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

58

0 1 2 3 4 5 6 7 8 9 10-0.2

-0.1

0.0

0.1

0.2

0.3

Dušeno nihanje x1 x2 x3

t (s)

x (m)

x1

x2

x3

Slika 20: Graf funkcij dušenega nihanja

6.3. Analiza in na�rtovanje sistemov vodenja

V tem podpoglavju bomo predstavili primer, kako s programskim paketom Scilab

analiziramo dinami�ni sistem ter uporabnost grafike programa v ta namen (Kocijan,

1996).

Analiza procesa ali �asovni odziv

Primer: Za proces s prenosno funkcijo )5(

1)(

+=

sssG poiš�emo odziv sistema na

enotino stopnico (slika 21), ogledamo si položaj polov in ni�el prenosne funkcije

(slika 22) in jih primerjamo s sistemom, ki ga dobimo, �e procesu G(s) dodamo

enotino povratno zanko.

-->s=%s; //definiramo spremenljivko s -->G=syslin('c',1/(s*(s+5))); //vstavimo zvezno prenosno funkcijo -->//odziv procesa na enotino stopnico -->t=[0:0.01:50]; //dolo�i mo �asovni i nt er val

Page 65: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

59

- - >/ / opr avi mo si mul aci j o - �asovni odzi v na enot i no st opni co - - >y=csi m( ' st ep' , t , G) ; - - > pl ot ( t , y, " t " , " y" ) ; / / gr af odzi va l i near nega si st ema

0 10 20 30 40 500

1

2

3

4

5

6

7

8

9

10

t

y

Slika 21: Graf odziva linearnega sistema

Analiza �asovnega odziva na stopnico je eden na�inov za ugotavljanje dinami�nih

lastnosti procesa v �asovnem prostoru.

V Scilabu uporabimo funkcijo csi m, ki pomeni simulacijo in lahko z njo poiš�emo

�asovni odziv linearnega sistema.

Ukaz je zapisan v obliki y=csi m( u, t , s l ) , kjer je:

u – 'step' (odziv na stopnico) ali 'impulse' (odziv na impulz)

t – vektor �asa trajanja

sl – definiran linearni sistem

Naslednji ukaz je pl zr , ki ga uporabljamo za izris grafa polov in ni�el.

Page 66: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

60

V tem primeru ima prenosna funkcija pole v koordinatnem izhodiš�u in na realni osi

pri vrednosti -5.

- - >pl zr ( G) ;

-6 -5 -4 -3 -2 -1 0 1 2-3

-2

-1

0

1

2

3

transmission zeros and poles

real axis

imag. axis

××

Poles×

Slika 22: Graf polov in ni�el

Zaprta zanka

Sistem preoblikujemo tako, da ga damo v zaprto zanko. Ko damo proces s prenosno

funkcijo )5(

1)(

+=

sssG v zaprto zanko, poiš�emo odziv na enotino stopnico (slika

23) in si ogledamo lego polov in ni�el zaprtozan�nega sistema.

- - >H=G/ ( 1+G) / / pr oces damo v zapr t o zanko H = 1 - - - - - - - - - 2 1 + 5s + s - - >/ / def i ni r amo �as t r aj anj a i n s i mul i r amo �asovni odzi v pr ocesa na enot i no st opni co - - >t =[ 0: 0. 01: 50] ; - - >y=csi m( ' st ep' , t , H) ;

Page 67: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

61

- - > pl ot ( t , y, " t " , " y" ) ; / / i zr i šemo gr af

0 10 20 30 40 500.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

t

y

Slika 23: Graf odziva zaprtozan�nega sistema na enotino stopnico

- - >/ / pot em pa i zr i šemo še pol e zapr t e zanke, k i se i zr i šej o s kr i žci , �e bi i mel i ni �l e, pa bi se i zr i sal i s kr ožci - - >pl zr ( H) ;

-6 -5 -4 -3 -2 -1 0 1 2-3

-2

-1

0

1

2

3

transmission zeros and poles

real axis

imag. axis

××

Poles×

Slika 24: Graf polov in ni�el

Page 68: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

62

6.4. Energetika

V tem podpoglavju bomo predstavili izra�un dela na cikel pri Dieslovem krožnem

procesu in izris grafa tega procesa (Praunseis, 1971). Pri predavanjih iz energetike

namre� graf, prikazan na sliki 25, izrišemo okvirno, v programskem paketu Scilab pa

bomo dobili natan�en izris glede na dane podatke (slika 26).

Gibna prostornina Dieslovega motorja je 6 l. Za�etni pogoji zraka (pred kompresijo)

so: za�etni tlak p1 = 1 bar in najve�ji volumen je Vmax = 6,5 l. Razmerje med

volumnoma v to�kah 2 in 3 je 2. Delovni fluid v procesu je zrak, z adiabatnim

koeficientom κ = 1,4. Dolo�iti moramo delo na cikel.

p

V

1

2 3

4

izentropa

izentropa

izobara

izohora

Slika 25: Graf Dieslovega krožnega procesa v diagramu p-V

Volumni so podani, in sicer eksplicitno za vsako to�ko:

V1 = 6.5 l

V2 = 0.5 l

V3 = 1.0 l

V4 = 6.5 l

Iz teh volumnov in za�etnega tlaka lahko izra�unamo delo po ena�bi

W p dV= �

Page 69: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

63

Torej je treba integrirati vsako termodinamsko preobrazbo posebej. Relacije med

tlakom in volumnom za vsako preobrazbo poznamo:

• izentropa: konstpV =κ

• izobara: konstpV =0

• izohora: konstVp =0

V Scilabu izra�unamo delo Dieslovega procesa tako:

- - >/ / Vol umni v vsaki t o�ki - - >V1=6. 5; V2=0. 5; V3=1. 0; V4=6. 5; / / ( m3) - - >kappa=1. 4; / / κ = adi abat ni koef i c i ent - - >p1=1; / / za�et ni t l ak ( bar ) - - >/ / def i ni c i j a posamezni h t er modi namski h pr eobr azb - - >def f ( " [ p] =f 1( V) " , " p=p1. * V1. ^kappa. / V. ^kappa" ) / / 1. pr eobr azba ( i zent r opa) - - >def f ( " [ p] =f 2( V) " , " p=p2" ) / / 2. pr eobr azba ( i zobar a) - - >def f ( " [ p] =f 3( V) " , " p=p3. * V3. ^kappa. / V. ^kappa" ) / / 3. pr eobr azba ( i zent r opa) - - >def f ( " [ p] =f 4( V) " , " p=0" ) / / 4. pr eobr azba ( i zohor a) - - >/ / i nt egr aci j a posamezne pr eobr azbe - - >p1=1; / / def i ni r amo pr vi t l ak - - >W1=i nt g( V1, V2, f 1) ; / / i zr a�unamo del o pr ve pr eobr azbe - - >p2=f 1( V2) ; / / def i ni r amo dr ugi t l ak - - >W2=i nt g( V2, V3, f 2) ; / / i zr a�unamo del o dr uge pr eobr azbe - - >p3=f 2( V3) ; / / def i ni r amo t r et j i t l ak - - >W3=i nt g( V3, V4, f 3) ; / / i zr a�unamo del o t r et j e pr eobr azbe - - >p4=f 3( V4) ; / / def i i ni r emo �et r t i t l ak - - >W4=i nt g( V4, V1, f 4) ; / / i zr a�unamo del o �et r t e pr eobr azbe - - >W_t ot =W1+W2+W3+W4 / / i zr a�unmo del o cel ot nega Di esl ovega pr ocesa W_t ot = 36. 834567

Page 70: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

64

- - >/ / def i ni r amo t o�ke za i zr i s gr af a Di esl ovega pr ocesa - - >/ / naj pr ej def i ni r amo vol umne - - >v1=( V1: - 0. 05: V2) ; - - >v2=( V2: 0. 1: V3) ; - - >v3=( V3: 0. 05: V4) ; - - >v4=6. 5; - - >/ / nat o def i ni r amo t l ake - - >P1=f 1( v1) ; - - >P2=p2* ones( v2) ; - - >P3=f 3( v3) ; - - >P4=P1( 1) ; - - >/ / def i ni r amo eno spr emenl j i vko za vol umen i n eno za t l ak v obl i k i mat r i ke - - >V_t ot =[ v1 v2 v3 v4] ; - - >P_t ot =[ P1 P2 P3 P4] ; - - >/ / i zr i šemo gr af - - >pl ot 2d( P_t ot , V_t ot ) ; - - >xt i t l e( ' Del o v Di esl ovem pr ocesu' , ' V ( m3) ' , ' p ( bar ) ' ) ;

1 5 9 13 17 21 25 29 33 370

1

2

3

4

5

6

7

Delo v Dieslovem procesu

V (m3)

p (bar)

Slika 26: Graf Dieslovega krožnega procesa

Page 71: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

65

6.5. Ra�unalništvo

Scilab vsebuje preprost, a dovolj mo�an programski jezik na višjem nivoju, ki smo

ga že spoznali v enem prejšnjih poglavji. Tu bomo prikazali kako lahko zapišemo

program v programskem jeziku orodja Scilab iz diagrama poteka (Wechtersbach,

1998).

Za primer vzamemo diagram poteka prikazan na sponji sliki za izra�un k fakultete,

k!.

0

1

1

0

STOP I ZPI ŠI

x

j � k

START

k = cel o št evi l o

k < 1

k = 1

x = x* j

VPI ŠI k

j = 1

j = j +1

Slika 27: Diagram poteka

Page 72: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

66

Takšen pa je ukazni program, zapisan v Scilabu:

k=20 / / vpi s št evi l a kat er ega f akul t et o r a�unamo k=i nt ( k) ; i f k<1 t hen, k=1; end, x=1; f or j =1: k, x=x* j ; end x / / i zpi s spr emenl j i vke x

6.6. Ekonomika

V tem poglavju predstavljamo nalogo kako oceniti naložbo v avtomatizacijo

stiskalnice (Bizjak, 2004).

Podjetje se ukvarja z izdelavo lesnih izdelkov. Ker je njihova tehnologija zastarela in

bi kljub temu radi pove�ali storilnost, so se odlo�ili za avtomatizacijo stiskalnice, za

to pa so potrebna vlaganja v osnovna sredstva.

Da ugotovimo, koliko se naložba spla�a, ocenimo stroške proizvodnje pred

avtomatizacijo stiskalnice in po njej.

Naložba v avtomatizacijo stiskalnice in storitev skupaj z 20 % DDV bi znašala

865.000,00 SIT.

Pozitivna stvar avtomatizacije je, da z njo bistveno pove�amo koli�ino proizvodov

iste kvalitete. S staro tehnologijo v podjetju v eni uri izdelajo 84 kosov, z avtomatsko

stiskalnico pa bi v istem �asu izdelali 400 kosov.

V nadaljevanju ugotovimo podane stroške proizvodnje pred avtomatizacijo in po njej

(tabela 2).

Stara tehnologija stiskalnice potrebuje dva delavca. Z dodatnim upoštevanjem porabe

elektri�ne energije v dobi desetih mesecev obratovanja je pri starem na�inu izdelave

lesenih izdelkov 3.300.000,00 SIT stroškov. Upoštevamo le te stroške. Stroškov

materiala ne upoštevamo, ker so ti v obeh primerih enaki.

Page 73: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

67

Po avtomatizaciji stiskalnice bi potrebovali le enega delavca, kar pomeni

1.500.000,00 SIT ter 50% ve� stroškov za porabljeno elektri�no energijo. Vse skupaj

bi v desetih mesecih znašalo 1.950.000,00 SIT. K temu je treba prišteti še strošek

amortizacije avtomatizacije stiskalnice, ki znaša letno 173.000,00 SIT.

Tabela 2: Primerjava stalnih in spremenljivih stroškov pred avtomatizacijo in po njej

Pred avtomatizacijo

Po avtomatizacij i

Stroški na leto pred avtomatizacijo

Stroški na leto po avtomatizacij i

Število delavcev – Vs 2 1 3.600.000 SIT 1.800.000 SIT

Poraba energije – Vs 50% pove�anje 360.000 SIT 540.000 SIT

Naložba v avtomatizacijo 865.000 SIT

Amortizacija avtomatizacije 20% - Fs

173.000 SIT

Skupni letni stroški - Cs 3.960.000 SIT 2.513.000 SIT

Letni pr ihranek 1.447.000 SIT

Vs – spremenljivi stroški

Fs – stalni stroški

Cs – celotni odlo�ujo�i stroški

Z upoštevanjem zna�ilnosti stroškov lahko izrišemo graf, kot ga prikazuje slika 29,

kjer prikažemo stroške pred avtomatizacijo in po avtomatizaciji stiskalnice. Po

izra�unih smo ugotovili, da prihranimo na leto 1.447.000,00 SIT, graf na sliki 29 pa

prikazuje prihranek po desetih mesecih.

Page 74: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

68

Slika 28: Graf primerjave stroškov

Za izra�un in to�en izris lahko uporabimo programski paket Scilab (slika 29).

- - >t =[ 0: 1: 10] ' ; / / mesecev; obdobj e deset i h mesecev - - >Na=865; / / SI T; enkr at ni znesek za nal ožbo - - >Fs=0. 2* Na* ones( t ) ; / / SI T; amor t i zaci j a - - >/ / SI T; cel ot ni odl o�uj o�i s t r oški pr ed avt omat i zaci j o na mesec - - >Cs1=396; - - >/ / SI T; cel ot ni odl o�uj o�i s t r oški po avt omat i zaci j i na mesec - - >Cs2=251. 3; - - >/ / def i ni r amo kr i vul j i v obl i k i l i near ne ena�be y=kx+n - - >y1=Cs1* t ; - - >y2=( ( Cs2* t ) +( Na+Fs) ) ; - - >pl ot 2d( t , [ y1 y2 Fs] , [ 1 1 1] ) ; - - >xt i t l e( ' Ocena nal ožbe v avt omat i zaci j o' , ' �as ( meseci ) ' , ' Cs ( 000 SI T) ' ) ;

Page 75: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

69

0 1 2 3 4 5 6 7 8 9 100

400

800

1200

1600

2000

2400

2800

3200

3600

4000

Ocena naložbe v avtomatizacijo

�as (meseci)

Cs (000 SIT)

Slika 29: Graf stroškov pred avtomatizacijo in po njej

Na grafu (slika 29) je razvidna tudi povra�ilna doba, ki jo lahko izra�unamo po

naslednji formuli:

Naložba 865.000 SIT Pd = ---------------------- = --------------------- = 0,6 leta 7 mesecev Letni prihranek 1.447.000 SIT

- - >/ / Povr a�i l na doba nal ožbe - - >Cspr ed=330; / / st r oški na mesec pr ed avt omat i zaci j o - - >Cspo=209. 4; / / st r oški na mesec po avt omat i zaci j i - - >Pd=Na/ ( Cspr ed- Cspo) Pd = 7. 172471 - - >/ / Pr i hr anek v deset i h meseci h - - >t =10; - - >y1=Cs1* t ; - - >y2=( ( Cs2* t ) +( Na+Fs( 11) ) ) ; - - >Pr =y1- y2 Pr = 409.

Page 76: Prironik programskega paketa SCILABdsc.ijs.si/damir.vrancic/fl/Scilab/prirocnik za uporabnika zacetnika 2005.pdf · sin, cos, tan,… sinus, kosinus, tangens itd. Pri kvadratnem korenu

70

7. LITERATURA

Bizjak, F. (2004). Osnove ekonomike za inženirje: teorija, uporaba, primeri, naloge.

Ljubljana: Fakulteta za strojništvo.

Claude, G., Editor (1999). Engineering and scientific computing with Scilab.

Boston, Basel, Berlin: Birkhäuser.

Halliday, D., Resnick, R., Walker , J. (1997). Fundamentals of physics extended. 5.

izdaja. New York: John Wiley & Sons.

Ivanuši�, J. (2000). Vrednotenje programskega orodja Scilab za na�rtovanje vodenja

dinami�nih sistemov. Zaklju�na naloga. Ljubljana: Fakulteta za elektrotehniko.

Kocijan, J. (1996). Na�rtovanje vodenja dinami�nih sistemov. 1. izdaja. Ljubljana:

Fakulteta za elektrotehniko.

Koren, U. (2002). Naloge iz matematike za 1. letnik Visoke poslovno-tehniške šole.

Interno gradivo. Nova Gorica: Urška Koren.

Praunseis, A. (1971). Naloge iz osnov termodinamike z rešitvami. Maribor: Višja

tehniška šola.

Urroz, G., E. (2001). Numerical and statistical methods with Scilab for science and

engineering. North Charleston, SC, ZDA: Booksurge Publishing.

Wechtersbach, M. (1998). Informatika. Ljubljana: DZS.

Scilab Group (2004 a), Scilab for dummies. Pridobljeno 14.4.2004 s svetovnega

spleta: http://laps.fri.uni-lj.si/dps_arhiv/dsp_files/scilab_for_dummies/frame.html

Scilab Group (2004 b), Introdaction to Scilab. Pridobljeno 14.4.2004 s svetovnega

spleta: ftp://ftp.inria.fr/INRIA/Scilab/documentation/pdf/intro.pdf

Scilab Group (2004 c), Inline help pages. Pridobljeno 14.4.2004 s svetovnega

spleta: ftp://ftp.inria.fr/INRIA/Scilab/documentation/pdf/manual.pdf