Scilab alapok Mi a Scilab ? A Scilab telepítése Scilab mint fejlett számológép Ábrázolás 2D-ben
Számítógépes modellezés Mi a Scilab ? A Scilab egy ingyenes, nyílt forráskódú program numerikus számításokra, mely hatékony számítási környezetet biztosít mérnöki és tudományos alkalmazásokra. Matematikai függvények százait tartalmazza. Egy magas szintű programozási nyelvvel rendelkezik, mely fejlett adatstruktúrák, 2D és 3D grafikai függvények elérését teszi lehetővé. Dr. Erdélyi Zoltán Számítógépes modellezés
Számítógépes modellezés Mi a Scilab ? Scilab-ba beépített funkciók pl.: Maths & Simulation Általános célú mérnöki és tudományos célra, mely matematikai műveleteket és adatfeldolgozást tartalmaz. 2-D & 3-D Visualization Grafikai függvények 2 és 3 dimenziós megjelenítéshez, adatok exportálásához. Optimization Algoritmusok folytonos és diszkrét optimalizációs problémákhoz. Dr. Erdélyi Zoltán Számítógépes modellezés
Számítógépes modellezés Mi a Scilab ? Statistics Eszközök adatfeldolgozáshoz és modellezéshez. Control System Design & Analysis Standard algoritmusok és eszközök szabályzó és irányító rendszerek tanulmányozására Signal Processing Jelfeldolgozás: megjelenítés, feldolgozás és szűrés idő- és frekvenciatartományban Application Development A Scilab natív funkcionalitásának növelése és adatcserék kezelése külső eszközökkel. Dr. Erdélyi Zoltán Számítógépes modellezés
Számítógépes modellezés Mi a Scilab? Xcos - Hybrid dynamic systems modeler and simulator Mechanikai rendszerek, hidraulikus körök, szabályzó és irányító rendszerek, stb. modellezése Dr. Erdélyi Zoltán Számítógépes modellezés
Számítógépes modellezés A Scilab telepítése http://www.scilab.org/ Dr. Erdélyi Zoltán Számítógépes modellezés
Számítógépes modellezés A Scilab telepítése Több operációs rendszerre elérhető Linux Windows Mac OS X Dr. Erdélyi Zoltán Számítógépes modellezés
Számítógépes modellezés A Scilab telepítése Tipp Linux-hoz (tesztelve ubuntu-n) Letöltés után a tömörített állományt csomagoljuk ki pl. a főkönyvtárba és nevezzük át scilab-ra! Hozzunk létre (ha még nincsen) a főkönyvtárunkban egy bin nevű könyvtárat A .profile fájlba írjuk be (ha nincs benne, általában benne van): # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi Dr. Erdélyi Zoltán Számítógépes modellezés
Számítógépes modellezés A Scilab telepítése A bin könyvtárban hozzunk létre egy scilab nevű fájlt, melybe írjuk bele a következőt: ~/scilab/bin/scilab & A léthrehozott scilab fájlt tegyük futtathatóvá, pl. terminálban írjuk be: chmod +x ~/bin/scilab Scilab futtatása pl. terminal-ban scilab parancs kiadásával Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép ide gépelünk Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép pl. 1+1 [Enter gomb] az eredmény Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép Egyszerű numerikus számolás -->2+5.3 ans = 7.3 művelet scilab jel scilab pl. összeadás + 1+1 kivonás - 5-7 szorzás * 3*4 osztás / hatványozás ^ 3^2 Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép függvény scilab megfelelő scilab pl. abszolút érték abs() abs(-6) szinusz sin() sin(3.6) koszinusz cos() cos(2.3) tangens tan() tan(1.2) négyzetgyök sqrt() sqrt(2) exponenciális exp() exp(2) ln log() log(11) lg (10-es alapú) log10() log10(100) Függvények -->abs(-6) ans = 6. Megjegyzés: ez csak néhány példa a trigonometrikus függvények argumentumai radiánban vannak Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép Beépített konstansok -->%pi %pi = 3.1415927 konstans scilab megfelelő scilab pl. %pi sin(2.1*%pi) e %e 2*%e komplex egységgyök %i 1+2*%i Megjegyzés: ez csak néhány példa Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép Változók egy névvel ellátott tárolóban megőrizhetők értékek ezek előhívhatók és felhasználhatók későbbi számításokhoz -->a=2 a = 2. Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép változók listája itt látható Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép -->a=2 a = 2. -->b=3.2 b = 3.2 -->a+b ans = 5.2 Megjegyzés: Az utolsó számítási eredmény az ans nevű változóba tárolódik pl. az előző számolás eredménye -->ans ans = 5.2 Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép Vektorok, mátrixok oszlopvektor -->vo=[3;-2;1] vo = 3. - 2. 1. sorvektor -->vs=[3,-2,1] vs = 3. - 2. 1. vagy (szóközzel elválasztva) -->vs=[3 -2 1] Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép mátrix -->m=[11 12 13;21 22 23;31 32 33] m = 11. 12. 13. 21. 22. 23. 31. 32. 33. Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép Hivatkozás vektor-, mátrixelemekre -->vs(1) ans = 3. -->vs(2) ans = - 2. Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép Hivatkozás vektor-, mátrixelemekre oszlopra -->m(:,3) ans = 13. 23. 33. sorra -->m(2,:) ans = 21. 22. 23. (sor, oszlop) elemre -->m(2,3) 23. Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép Speciális mátrixok egyesek -->ones(2,3) ans = 1. 1. 1. nullák -->zeros(3,4) ans = 0. 0. 0. 0. Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép egység -->eye(3,3) ans = 1. 0. 0. 0. 1. 0. 0. 0. 1. Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép Műveletek vektorokkal, mátrixokkal transzponálás -->m' ans = 11. 21. 31. 12. 22. 32. 13. 23. 33. összeadás -->m+m ans = 22. 24. 26. 42. 44. 46. 62. 64. 66. kivonás hasonlóan Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép skalárral való szorzás -->3*m ans = 33. 36. 39. 63. 66. 69. 93. 96. 99. osztás hasonlóan vektor szorzása vektorral (mátrix mátrixszal) -->vs*m ans = 22. 24. 26. Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép -->m*vo ans = 22. 42. 62. -->vs*vo 14. -->vo*vs ans = 9. - 6. 3. - 6. 4. - 2. 3. - 2. 1. Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép elemenkénti műveletek pl. két sorvektor nem szorozható össze, de elemenként igen, ha azonos a méretük pontot kell a műveleti jel elé tenni -->vs.*vs ans = 9. 4. 1. -->vs./vs ans = 1. 1. 1 -->vs.^3 27. - 8. 1. Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép Inkrementálás vektor feltöltése sorral növekmény 1 -->x=1:10 x = 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Dr. Erdélyi Zoltán Számítógépes modellezés
Scilab, mint fejlett számológép tetszőleges növekmény -->x=1:2:10 x = 1. 3. 5. 7. 9. -->x=10:-2:1 10. 8. 6. 4. 2. Ha nem szeretnénk, hogy egy értékadás vagy számolás eredményét kijelezze a Scilab pl. túl hosszú lenne és felesleges is akkor pontosvesszőt teszünk a sor végére -->x=1:2:100; Dr. Erdélyi Zoltán Számítógépes modellezés
Számítógépes modellezés Ábrázolás 2D-ben -->x=0:2*%pi/100:2*%pi; -->plot(x,sin(x)) Megjegyzés: linspace(a,b,n) is használható x megadására a = xmin, b = xmax, n az a és b közötti értékek száma -->x=linspace(0,2*%pi,100); Dr. Erdélyi Zoltán Számítógépes modellezés
Számítógépes modellezés Ábrázolás 2D-ben -->x=0:0.5:10; -->plot(x,(x-3).^2+3) Dr. Erdélyi Zoltán Számítógépes modellezés