Computer Algebra System

Embed Size (px)

Citation preview

UNIVERZITET U TUZLI MAINSKI FAKULTET ODSJEK: PROIZVODNO MAINSTVO

CAS - COMPUTER ALGEBRA SYSTEM SEMINARSKI RAD

Student: NERMIN REDID

Broj indeksa: II-431/11

Tuzla, maj 2012. godine

Seminarski rad

CAS - Computer Algebra System

SADRAJ:

1. UVOD ....................................................................................................................................................2 2. COMPUTER ALGEBRA SYSTEM ............................................................................................................3 2.1. ta je Computer Algebra System? .................................................................................................3 2.2. Prednosti rada s CAS alatima.........................................................................................................3 2.3. Programski jezici ili CAS alati? .......................................................................................................4 2.4. Dokumentacija i korisnika podrka ..............................................................................................4 2.5. Primjena CAS alata u konstruisanju raunarom ............................................................................4 2.6. Najpoznatiji CAS alati.....................................................................................................................5 3. MATLAB ................................................................................................................................................6 3.1. O Matlab-u.....................................................................................................................................6 3.2. Matrice ..........................................................................................................................................6 3.3. M-File .............................................................................................................................................7 3.4. Grafika ...........................................................................................................................................7 3.5. Simulink .........................................................................................................................................8 4. MAPLE ..................................................................................................................................................9 4.1. Osnovne informacije .....................................................................................................................9 4.2. Radni list ..................................................................................................................................... 10 4.3. Matematike operacije............................................................................................................... 10 4.4. Grafiki prikaz podataka u Maple-u ........................................................................................... 10 4.5. MapleSim .................................................................................................................................... 11 5. MATHEMATICA ................................................................................................................................. 12 5.1. Nastanak i razvoj ........................................................................................................................ 12 5.2. Razvojno okruenje i mogudnosti ............................................................................................... 12 5.3. Grafiki prikaz ............................................................................................................................. 13 5.4. Programski jezik Mathematica ................................................................................................... 13 6. MATHCAD ......................................................................................................................................... 14 6.1. Zato izabrati Mathcad? ............................................................................................................. 14 6.2. Radni list ..................................................................................................................................... 14 6.3. Grafika i formatiranje izgleda ..................................................................................................... 15 6.4. Programiranje ............................................................................................................................. 15 7. ZAKLJUAK ........................................................................................................................................ 16 Popis slika .............................................................................................................................................. 17 Popis tabela ........................................................................................................................................... 18 Literatura ............................................................................................................................................... 19

1

Seminarski rad

CAS - Computer Algebra System

1. UVODovjek u svojim svakodnevnim poslovima koristi matematiku. U razliitim poslovima koriste se razliite oblasti matematike - od osnovnih matematikih operacija u svakodnevnom ivotu, pa do diferencijalnih jednaina i funkcija vieg reda u ininjerskim poslovima. Matematika je sastavni dio ovjekovog ivota, pa je zbog toga razvoj razliitih pomagala za raunanje bio od velikog znaaja za olakavanje poslova u kojima matematika igra vanu ulogu. Prvi stroj koji je sluio za raunanje bio je abakus. Njime se raunalo pomodu kamenida koji su se umetali u ljebove napravljene u pijesku. Vremenom je abakus mijenjao svoj oblik. Nakon otkrida abakusa, nita se novo nije otkrilo sve do XV stoljeda, kada je Leonardo da Vinci skicirao ideju za mehaniki stroj za raunanje. Nakon toga, nastao je tzv. Logaritamski raunar, pa Pascalov raunar koji je mogao da vri sabiranje i i oduzimanje itd. Najvedi preokret u historiji napravio je prvi raunar ENIAC, koji je bio sposoban da vri samo najjednostavnije matematike operacije. Razvojem tehnologije, dobili smo raunare koji mogu da vre i mnogo kompleksnije matematike operacije. Zbog sve vedih zahtjeva savremenog trita, razvoj naprednih matematikih softverskih alata bio je neophodan za bru proivodnju i bolju optimizaciju proizvoda, kao i za bre i jednostavnije konstruisanje novih proizvoda i mainskih sistema. CAS alati su neizostavan dio modernog ininjerstva. Savremeno mainstvo bazira se na upotrebi CAD i CAS alata za bre i kvalitetnije konstruisanje, analizu konstrukcija i vrenja raznih simulacija prije testiranja gotovog proizvoda. Koliko je savremeno mainstvo i konstruisanje novih proizvoda zavisno od automatizacije i razvoja kompjuterskih nauka u sadanjosti, najbolje ilustruje slika koja je priazana ispod ovog teksta.

Slika 1.1. Ilustracija zavisnosti savremenog mainstva od upotrebe raunara Tabela 1. Znaenje skradenica sa slike 1 CAD Computer Aided Design CAM Computer Aided Manufacturing CAE Computer Aided Engineering CAS Computer Algebra System

2

Seminarski rad

CAS - Computer Algebra System

2. COMPUTER ALGEBRA SYSTEM2.1. ta je Computer Algebra System? Computer Algebra System (CAS) je termin koji opisuje softverske alate specijalno dizajnirane za simboliko manipuliranje matematikim izrazima. Imaju bogatu kolekciju matematikih funkcija, zbog ega ih je za te svrhe jednostavnije i bre koristiti nego klasine programske jezike, kao to su Fortran, Pascal, C, C++ itd. Omogudavaju korisniku da na laki i bri nain rjeava sloene matematike probleme i rezultate istih vizualizira, izvozi u druge programe, naini aplikacije koje de rjeavati neki problem i jo mnogo toga. Simboliko manipuliranje matematikim izrazima obuhvata: pojednostavljenje matematikih izraza i njihovo pretvaranje u standardne forme mijenjanje simbolikih vrijednosti numerikim i obratno promjena oblika izraza, faktorizacija, ekspanzija, diferenciranje, raunanje integrala rjeavanje linearnih i nelinearnih jednaina na razliitim domenama analiziranje funkcija - odreivanje graninih vrijednosti, asimptota, toka funkcije i sl. izvravanje operacija s nizovima, vektorima i matricama statistike proraune generisanje programskog koda u svrhu rjeavanja matematikih problema i jo mnogo toga. 2.2. Prednosti rada s CAS alatima Prva i najvanija prednost jeste ta to koritenje nekog od naprednih matematikih softverskih alata eliminira potrebu za digitronima, tabelama, knjigama iz oblasti matematike i slinim pomagalima. Jednom ininjeru, CAS alati su sve to je potrebno da rjeava matematike probleme s kojima se susrede u radu. Zbog toga se povedava efikasnost, brzina i kvaliteta pri konstruisanju novih proizvoda. Ubrzavaju se sve faze rada, posebno proraun i simulacija, to omogudava bolju opitimizaciju proizvoda i njegov bri razvoj. Cjelokupni proraun i dokumentacija nalaze se u jednom okruenju i pogodni su za izvoz u druge aplikacije, to omogudava laku izradu prezentacija i tehnike dokumentacije. esto su nam pored numerikih rjeenja nekih problema potrebni dijagrami i vizualni prikaz. Konstruisanje takvih prikaza moe predstavljati problem, pogotovo ako se radi o nekim funkcijama s vie od dvije promjenjive. Meutim, ovi softverski alati nam omogudavaju kreiranje vizualnog prikaza rjeenja nekih problema (prikaz funkcija, dijagrama rjeenja raznih drugih numerikih problema i sl.) za veoma kratko vrijeme uz pomod nekih svojih osnovnih funkcija. Dobijeni dijagrami se kasnije mogu izvoziti u druge aplikacije, printati, analizirati itd.

3

Seminarski rad

CAS - Computer Algebra System

2.3. Programski jezici ili CAS alati? CAS alati su softverski alati specijalizovani za simboliku manipulaciju matematikim izrazima, te su za te svrhe mnogo bolji od programskih jezika. Nekoliko stotina redaka programskog koda u nekom od programskih jezika vieg nivoa moe biti zamijenjeno sa daleko manjim postupkom programiranja u nekom CAS alatu. Manipulacija matematskim izrazima je mnogo jednostavnija. Postoje jednostavne ugraene funkcije za diferenciranje izraza, raunanje integrala, matrine operacije, iscrtavanje funkcija, izgradnju dinamikih sistema (Simulink, MapleSim...), kreiranje animacija i jo mnogo toga, to bi u klasinim programskim jezicima korisniku oduzimalo mnogo vremena. Meutim, ovi softverski alati imaju i svoje primjetne nedostatke. Programiranje u CAS alatima kompajlira se i izvrava primjetno sporije nego u nekom programskom jeziku. Ono to je vjerovatno i najveda zamjerka ovim softverskim paketima je injenica da je kreiranje samostalnih aplikacija nemogude. Svi programi koje napravimo u nekom od CAS alata izvravaju se samo pod njihovim okruenjem i ne mogu se kreirati nezavisni .exe file-ovi, .dll dinamike biblioteke itd. 2.4. Dokumentacija i korisnika podrka CAS alati su izuzetno dobro dokumentovani. Postoji nevjerovatan broj knjiga koji opisuje ove programske pakete, rad u njima, njihove mogudnosti i sve ono to je potrebno za njihovu upotrebu. Ta injenica doprinijela je izuavanju ovih programa na tehnikim univerzitetima irom svijeta. Osim velikog broja knjiga o njima, veliku zaslugu za njihovu popularnost imaju i sami proizvoai ovih alata. Ono to krasi svakog od njih jeste odlian Help i Tutorial sistem koji besplatno dolaze uz sam program. 2.5. Primjena CAS alata u konstruisanju raunarom Kao to smo ranije naveli, upotrebom CAS alata znatno se ubrzavaju svi procesi u mainstvu koji ukljuuju bilo kakve vrste prorauna. Neki od najbitnijih su: prorauni izdrljivosti i vrstode prorauni statikih opteredenja prorauni mehanikih veza, stabilnosti i sl. prorauni dinamikih karakteristika maina prorauni kinematike mainskih sistema, trajektorije robota i sl. optimizacija elemenata, konstrukcija, sklopova i mainskih sistema prorauni pouzdanosti i vjerovatnode ispravnog rada itd. Upotrebom CAS alata poboljava se optimizacija rada mainskih sistema i kvalitet proizvoda. Krajnji proizvodi nastaju mnogo bre, jeftiniji su i mnogo kvalitetniji, prvenstveno zbog bolje optimizacije proizvoda za upotrebu. Primjenom CAS alata u konstruisanju, konstruktor se rjeava posla estog raunanja istih prorauna, te njima manipulie jednostavnim koritenjem softverskih alata namijenjenih specijalno za to.4

Seminarski rad

CAS - Computer Algebra System

U savremenom ininjerstvu, simulacije rada mainskih sistema i drugih rezultata konstruisanja prije stvarnog testiranja su veoma bitne. Danas, uspjena simulacija rada nekog proizvoda u vedini sluajeva znai i njegov uspjean stvarni rad. Za izvravanje raunarskih simulacija potreban je veliki broj matematikih prorauna, rad s raznim tipovima varijabli i izmjena njihovih vrijednosti u zavisnosti od vremena. Za ove svrhe zaduen je Computer Algebra System. CAS alati mogu raditi s dinamikim sistemima i diferencijalnim jednainama koje ih opisuju, te na taj nain olakavaju kreiranje simulacija procesa i korisniku prikazuju razne dijagrame nastale upravo njihovim proraunima, kao to su dijagrami opteredenja, izdrljivosti, pritiska, temperature itd. U konstruisanju raunarom veoma bitni softverski alati su CAD alati. To su programski paketi namijenjeni prvenstveno za dizajn proizvoda, ali se mogu koristiti i u druge svrhe pri konstruisanju. Zbog vanosti koje imaju u mainstvu, ali i u drugim tehnikim naukama, povezanost CAS sa CAD programima od samog poetka je bila neminovna, te danas ove vrste programa uspjeno surauju. Za razne konstruktorske probleme, kakvi su odreivanje povrine neke geometrijske figure, zapremine tijela, potronja materijala za nastanak proizvoda, izdrljivost materijala, stabilnost pri radu i sl., CAS alati mogu rijeiti matematiki date probleme, a zatim se podaci iz njih mogu koristiti za konstruisanje u nekom od CAD alata. Kod konstruisanja proizvoda, CAS alati mogu vriti mnoge matematike proraune vezane za opteredenja, kretanja pokretnih elemenata proizvoda, ponaanje materijala, raspodjelu naprezanja, potronju energije, veliine tolerantnih polja i odstupanja itd. Zbog svojih dobrih grafikih mogudnosti, koriste se i za kreiranje dijagrama neophodnih za konstruisanje nekih proizvoda. Pri izradi nekog mainskog elementa, potrebno je razmotriti sve uslove pod kojima de on raditi i istima prilagoditi njegovu konstrukciju. Razvoj svih vrsta dijagrama u CAS alatima je prilino jednostavan i brz, zbog ega se esto koriste za ove svrhe. Primjena CAS alata u konstruisanju raunarom vremenom postaje sve bitnija, a glavni rezultati njihove upotrebe su: skradenje vremena razvoja proizvoda smanjenje greaka i karta porast kvaliteta proizvoda smanjenje cijene proizvoda bolja optimizacija proizvoda i jo mnoge druge. 2.6. Najpoznatiji CAS alati Najpoznatiji CAS alati su: Matlab, Maple, Mathematica i MathCAD. Postoje jo i neki drugi manje rasprostranjeni softverski alati za manipulaciju algebarskim izrazima, ali im u ovom radu nedemo poklanjati posebnu panju. O svakom od ova navedena 4 programa bit de izloeno neto vie informacija u nastavku ovog teksta. Poet demo s Matlab-om. Tabela 2. Slubene web stranice proizvoaa 4 najpoznatija CAS alata Matlab Maple Mathematica www.mathworks.com www.maplesoft.com www.wolfram.com5

Mathcad www.ptc.com

Seminarski rad

CAS - Computer Algebra System

3.MATLAB3.1. O Matlab-u Matlab (ime izvedeno iz pojma MATrix LABoratory) je prvobitno razvio tim na ijem elu je bio Cleve Moler u 70-tim godinama prolog vijeka. 1984. godine osnovana je kompanija MathWorks, kako bi poela komercijalna proizvodnja Matlab-a i njegov intenzivniji razvoj. Najbolji je CAS alat za rad s matricama, zbog ega ima veliku primjenu u ininjerstvu. Za te svrhe je posebno optimiziran, te operacije s matricama izvrava relativno brzo. Bitno je napomenuti da Matlab ima svoj programski jezik, koji je relativno lagan za uenje i koritenje. Ono to je nedostatak programiranja u Matlab-u, kao i u svim CAS alatima jeste da je za izvravanje programskih kodova napisanih u njemu potrebno pokrenuti i koristiti Matlab. Nemogude je praviti zasebne (tzv. stand-alone) aplikacije koje bismo koristili na bilo kojem kompjuteru u vidi nezavisnog .exe file-a. Unato tome, veoma je popularan i jedan od najboljih alata za manipulaciju matematikim izrazima i pisanje programskih kodova za rjeavanje problema s kojima se susredemo u raznim ininjerskim poslovima. Po svojoj formi, Matlab je interaktivni jezikinterpreter, namijenjen prvenstveno matematikim operacijama s matricama. Rad s matematikim operacijama je blizak nainu na koji i inae zapisujemo matematike formule, pa jedan redak u Matlab-u moe zamijeniti stotine redaka napisanih u nekom programskom jeziku opde namjene (C, C++, Pascal, Basic i sl.). 3.2. Matrice Matrica je osnovni tip podatka u Matlab-u. Svi podaci se tretiraju kao matrice ije dimenzije nije potrebno uvati kao posebne varijable. ak se i skalarne veliine predstavljaju kao matrice s dimenzijom 11. Svi su podaci interno zapisani u double float obliku (dostupno je 64 bita memorije za zapis nekog podatka), to osigurava vrlo veliki dinamiki raspon i tanost prilikom raunanja. Pored realnih brojeva i matrica, podrani su i kompleksni brojevi i kompleksne matrice. Nad matricama je mogude jednostavno primjeniti sve za njih karakteristine matematike operacije. Osim standardnih operacija, mogude su i operacije po njihovim elementima (kvadriranje, mnoenje, dijeljenje i sl.). Matrice moemo unositi na vie naina: eksplicitno - unoenjem svakog elementa matrice primjer: A = [1 2 3; 4 5 6; 7 8 9] pomodu ugraenih funkcija (zeros, ones, rand...) primjer: A = zeros(2,2) - kreiranje matrice A reda 2x2 iji su svi elementi nule pomodu korisnikih funkcija uitavanjem iz eksternih file-ova. Matrice unosimo tako to lanove po redovima odvajamo znakom ; ili pritiskom na Enter, a u jednom redu lanove moemo odvajati praznim mjestom ili zarezom. Osnovne operacije nad matricama vre se matematskim operatorima (+,-,*,^2...). Bitno je napomenuti da ovi operatori vre operacije s matricama, dakle, znak za mnoenje napisan izmeu dvije matrice pronadi de matrini proizvod tih matrica, iji formati moraju odgovarati formatima6

Seminarski rad

CAS - Computer Algebra System

podrazumijevanim prema pravilu za mnoenje matrica. U suprotnom, Matlab de nam javiti greku. Ukoliko elimo vriti mnoenje, dijeljenje ili bilo koju drugu operaciju po elementima matrice, ispred matematskog operatora dodat demo taku. Matlab ima i veliki broj ugraenih funkcija za rad s matricama, kao to su raunanje determinante kvadratne matrice, traenje inverzne matrice, transponovanje matrice, nalaenje najvedeg i najmanjeg lana i jo mnogo drugih.

Slika 3.1. Primjer nekih operacija nad matricama 3.3. M-File Klikom na File -> New -> M-File, pokrenut demo prozor editora teksta i pisati programski kod koji se u smjeta u tzv. M-File. Ime je dobio zbog toga to ima ekstenziju .m . U M-File-u piemo program slino kao u programskim jezicima, s tim da ne moramo vriti deklaraciju varijabli na poetku. Varijable de automatski biti deklarisane im ih pozovemo u programu. Nakon to napiemo program, on de se izvriti u razvojnom okruenju Matlab-a i modi demo ga pokretati samo kada je pokrenut i Matlab. Nezavisne aplikacije, kao to je to ranije navedeno, nije mogude praviti u ovom CAS programu. Pored standardnih M-File-ova imamo i tzv. korisnike funkcije ili Function File-ove. I oni imaju ekstenziju .m, ali se svojom strukturom i namjenom razlikuju od obinih M-File-ova, te zbog toga nose i drugi naziv. Ime funkcije mora se podudarati s imenom spremljene datoteke. Lokalne varijable u funkciji nevidljive su pozivatelju funkcije i obrnuto. Prenose se samo ulazni i izlazni argumenti. Ulaz za funkciju mogu biti jedan ili vie argumenata (matrica ili string), dok izlaz moe biti nijedan, jedan ili vie argumenata. Moemo je pozvati iz komandnog prozora, script file-a ili iz neke druge korisnike funkcije. 3.5. Grafika esto su nam osim numerikih, potrebni i grafiki prikazi dobijenih rezultata. Bogata paleta grafikih funkcija omogudava korisniku jednostavno kreiranje raznih dijagrama, iscrtavanje 2D i 3D funkcija, ureivanje istih itd. Osnovna funkcija za grafiki prikaz je plot. Ona se koristi za generisanje 2D dijagrama. Na slici na idudoj stranici je prikazan primjer iscrtane matematike funkcije koritenjem funkcije plot:

7

Seminarski rad

CAS - Computer Algebra System

Slika 3.2. Primjer koritenja funkcije plot Kada prikazujemo zavisnost tri varijable, pozvat demo funkciju plot3 i kao argumente joj zadati tri vektora ije smo vrijednosti prethodno zadali ili izraunali. Rezultat ovakve operacije bit de dijagram na kojem je prikazana neka povrina u 3D koordinatnom sistemu. Osim standardnih plot i plot3 funkcija, esto se koriste i funkcije za specijalnu grafiku. U to spadaju stupiasti dijagrami, polarni dijagrami, histogrami, tzv. pie dijagrami i sl. Njih takoer moemo predstaviti u 2D i 3D prikazu. 3.4. Simulink Simulink je dio Matlab-a namijenjen simuliranju dinamikih sistema. Za sam unos i opis sistema koji se simulira, koristi se jednostavno grafiko okruenje u kojem sastavljamo model kombinirajudi gotove komponente. Takvim pristupom je simulacija sistema znaajno olakana, jer se od korisnika ne zahtijeva unos diferencijalnih jednaina koje opisuju sistem, ved je dovoljno znati blok-shemu sistema. Simulink se pokrede unutar Matlab-a zadavanjem naredbe simulink ili odabirom ikone iz alatne trake. Nakon pokretanja Simulink-a otvara se Simulink Library Browser. On sadri kolekciju svih blokova koje koristimo pri sastavljanju modela. Simulink je sastavni dio Matlab-a te se pri izgradnji modela mogu koristiti sve njegove funkcije. Pravi funkcijski blok za Simulink definiramo pisanjem S-funkcije. Najjednostavnije ju je napisati koristedi Matlab-ov M programski jezik. Umjesto pisanja Sfunkcija, ponekad je dovoljno iskoristiti gotove funkcijske blokove za slaganje novog bloka. Postupak se sastoji od sastavljanja gotovih blokova, te grupiranja istih. Najprije crtamo eljeni sistem koji de nam predstavljati jedan blok. Pri tome odreene ulaze i izlaze elemenata ne spajamo, jer de oni postati novi ulazi i izlazi iz zamiljenog funkcijskog bloka. Sada grupiramo elemente koji ine na podsistem i dobijamo novi blok koji ima onoliko ulaza i izlaza koliko smo mi odredili. Simulink je veoma napredno softversko rjeenje koje skraduje vrijeme rjeavanja i ispitivanja raznih dinamikih sistema s kojima se susredemo u mainstvu. Uz Simulink, koji slui simuliranju dinamikih sistema, Matlab ima veliki broj toolbox-a koji svoju primjenu nalaze u svim granama tehnikih i drugih nauka, u kojima se susredemo s matematikim problemima. Njihova osnovna svrha je olakavanje i ubrzavanje manipuliranja matematikim izrazima koji se esto pojavljuju u raznim poslovima, a mogude ih je skinuti sa slubene stranice Matlab-a.8

Seminarski rad

CAS - Computer Algebra System

4. MAPLE4.1. Osnovne informacije Jo jedan znaajan CAS softverski alat je Maple iz kompanije Maplesoft. Njegov razvoj je poeo 1980. godine na Univerzitetu Waterloo u Kanadi i od tada se intenzivno razvijaju nove verzije s mnogobrojnim poboljanjima. Do danas je izalo 16 verzija ovog programa, a vremenski razmaci izmeu izlazaka novijih verzija postaju sve kradi. Razlog tome je konstantna borba za vodedu poziciju s konkurencijom u podruju matematikog software-a za ininjere. Maple je CAS alat koji ima vlastiti programski jezik s elementima proceduralnog i objektnoorijentisanog programiranja. Dobar GUI olakava korisniku razvoj vlastitih programa. Bitno je napomenuti da od svih CAS alata, Maple ima najbolje grafike mogudnosti, zbog ega je veoma pogodan za izradu dokumentacije, prezentacija, animacija, vizualiziranje i analizu rezultata, kreiranje 2D i 3D dijagrama i sl. Koliko je dobar u kreiranju dokumentacije, govori i injenica da je Tutorial file za Maple napisan upravo u Maple-u. Ono to ga krasi, kao i sve CAS alate, je veoma bogata biblioteka matematikih funkcija. Specifian je po tome to pored numerikih rjeenja nekih matematikih problema daje i simbolika gdje god je to mogude. Zbog toga je veoma pogodan za rjeavanje integrala, jednaina, traenja izvoda funkcija, rjeavanje diferencijalnih jednaina i sl. Kao i Matlab, Maple nudi specializovane toolbox-e za razne grane matematike, kao to su linearna algebra, numerika, statistika itd. U svrhe konstruisanja, mogude ga je povezivati s CAD alatima.

Slika 4.1. Odreivanje otpora u tapovima reetke uz pomod Maple-a

9

Seminarski rad

CAS - Computer Algebra System

4.2. Radni list Ono to krasi ovaj programski alat jeste njegov radni list (Worksheet). On je istovremeno razvojno okruenje za razne vrste prorauna, kreiranje dijagrama, ali i uljepavanje istih i kreiranje dokumentacije, raznih prezentacija, animacija itd. Unos izraza u Maple-u moemo vriti na 2 naina. To su tzv. 1D i 2D nain. 1D je klasini unos matematikog izraza i izgleda kao i u programskim jezicima kakvi su Fortran, C++ i sl (npr. y**2=3*x+5). Drugi nain je prikaz izraza u standardnoj matematikoj formi, to je mnogo preglednije i za oko posmatraa ugodnije. U radnom listu moemo pisati i obian tekst koji de imati istu svrhu kao i komentar i nede uticati na rad programa. Tekst moemo oblikovati i ureivati po vlastitoj elji. Osim unos teksta, mogude je unositi i slike, dijagrame preuzete iz drugih programa i slino, to omogudava kreiranje veoma kvalitetnih prezentacija rjeenja nekih matematikih problema. 4.3. Matematike operacije Kao to je ranije navedeno, tzv. 2D prikaz matematskih izraza u Maple-u omogudava veoma jednostavan i pregledan rad korisniku, te zbog toga ispisivanje izraza nije potrebno posebno objanjavati. Matematike operacije u Maple-u izgledaju jednako kao i u klasinoj matematici. Bogata paleta s ugraenim funkcijama, operatorima, grim alfabetom, specijalnim matematskim simbolima i ostalim stvarima s kojima se esto sredemo u matematici nalazi se s lijeve strane radnog lista. Tako npr. za ispisivanje matrice, odabrat demo na lijevoj strani paletu za matrice, unijeti njene dimenzije i nakon klika na OK, na radnom listu demo dobiti matricu uneenih dimenzija. Na nama je samo da unesemo elemente koje elimo. Maple je pogodan i za rjeavanje limesa, integrala, diferencijalnih jednaina i sl. Sve funkcije koje omogudavaju rad s viom matematikom, mogude je pronadi u njegovom Help file-u. 4.4. Grafiki prikaz podataka u Maple-u Kao to je Matlab najbolji CAS alat u radu s matricama, tako je i Maple prvi izbor korisnika kada je kvaliteta grafikog prikaza u pitanju. On nudi korisniku mogudnost da na mnogo naina izvri vizualizaciju podataka. Posjeduje bogatu kolekciju funkcija za grafiki prikaz funkcija, povrina u 3D dijagramima, parametarskih funkcija, animacija i sl. Moguda su dva naina grafikog prikazivanja podataka. To su Standard Plot i Smart Plot. Standard Plot je kreiranje grafikog prikaza koritenjem standardnih grafikih komandi. Generie se pomodu naredbi plot i plot3d. Funkciju plot koristimo na nain da u zagradi iza plot upiemo matematiki izraz koji predstavlja funkciju koju elimo iscrtati, a nakon toga unesemo domenu u kojoj elimo da ju vidimo. Funckiju plot3d koristimo kada imamo funkciju s vie promjenljivih i ona se koristi na isti nain kao i plot. Dobijenu grafiku moemo ureivati, bojiti, pribliavati, udaljavati, mijenjati domenu u kojoj ju posmatramo, eksportovati u neki od standardnih formata slika (JPEG, BMP, GIF) i jo mnogo toga. Sve ove parametre moemo jednostavno podeavati klikom na dijagram desnom tipkom mia.

10

Seminarski rad

CAS - Computer Algebra System

Smart plot je napredniji nain generiranja grafikog prikaza. Grafika se generira interaktivno, bez koritenja standardnih naredbi. Koristi se za bri prikaz koji de se kasnije ureivati. Maple ima bogatu biblioteku za specijalnu grafiku, u koju ubrajamo linijske i takaste dijagrame, prikazivanje raznih 3D povrina itd.

Slika 4.2. 3D dijagram iscrtan pomodu funkcije plot 4.5. MapleSim Kao to Matlab ima Simulink, tako i Maple ima MapleSim. MapleSim je alat za modeliranje i simulaciju i radi na bazi simbolike matematike. Uspjeno radi sa svim kompleksnim matematikim operacijama s kojima se sredemo u svakodnevnom ininjerskom poslu. Osnovni razlog za koritenje ovog alata je uteda vremena. Maplesoft na svojoj slubenoj internet stranici navodi da se MapleSim koristi u raznim granama tehnologije, kao to su: robotika i mehatronika dizajniranje maina i alata, ukljuujudi i naune instrumente automobilizam zrakoplovstvu, aerodinamici, svemirskoj robotici i sistemima navoenja elektronici energetska postrojenja itd. Upotreba MapleSim-a je slina kao i upotreba Simulink-a. Prvi korak sastoji se u biranju komponenti koje ine model s kojim radimo. Nakon toga, definiemo dijagram sistema, koji predstavlja veze izmeu blokova sistema, a matematski model de se generisati automatski.

11

Seminarski rad

CAS - Computer Algebra System

5. MATHEMATICA5.1. Nastanak i razvoj Mathematica je softverski alat u kojem korisnik u integriranom radnom okruenju rjeava matematike probleme s kojima se susrede. Prva verzija izala je 1988. godine i od tada je imala veliki uticaj na nain upotrebe kompjutera u tehnikim, nauno-istraivakim i mnogim drugim podrujima. Mathematica-u je razvila kompanija Wolfram Research Inc. (WRI) uz pomod svjetskog tima strunjaka predvoenih Stephenom Wolframom. Uspjeh Mathematica-e je potpomognut kontinuiranim rastom kompanije WRI, koji je omogudio razvoj velikog broja neovisnih poslova povezanih s tim alatom. WRI nudi uz Mathematica-u i paletu samostalnih proizvoda oslonjenih na modnu jezgru ovog softverskog alata. U poetku, Mathematica je najvie koritena u fizici, matematici i ininjerstvu. Postala je osnovica za izradu velikog broja naunih i tehnikih radova. 5.2. Razvojno okruenje i mogudnosti Kada pokrenemo Mathematica-u, otvorit de nam se njeno razvojno okruenje u kojem razvijamo osnovni tip datoteke nazvan notebook ili biljenica. Ekstenzija ovog file-a je .nb i sastoji se od velikog broja delija. Delije sadre raznovrsne tipove informacija koje je unio korisnik ili ih je proizvela Mathematica kao rezultat nekog prorauna. Svaka delija oznaena je uglastom zagradom na desnoj strani notebook-a. Postoje tri vrste delija, a to su: Input elije - sadre komande koje de se izvriti, Output elije - sadre rezultate izvravanja komandi, Tekstualne elije - sadre tekstualne zapise (komentare). Najlake ih je raspoznati po razliitom tipu fonta. Novu deliju kreiramo jednostavnim klikom na mjesto na kojem ju elimo vidjeti na radnom listu. Na taj nain demo dobiti Input deliju. Pritiskom na tipke Ctrl + Enter izvrit de se naredbe koje smo unijeli u deliju. Rezultat je output delija u kojoj je prikazan rezultat Input delije. Delije moemo ureivati, grupisati, skrivati itd. Kao i u Maple-u, i u Mathematica-i postoje tzv. 1D i 2D zapisi matematikih izraza. 2D izrazi mogu se unositi i pomodu ugraenih paleta, slinih poput onih u tekstualnim editorima, kao to je npr. Microsoft Word. Ukoliko izraze upisujemo bez paleta, koristimo se klasinim programskim matematikim zapisom s kojim se susredemo i u drugim CAS alatima, u programskim jezicima vieg nivoa itd. Prilikom raunanja vrijednosti nekog izraza, rezultat de, ako je to mogude, prvenstveno biti prikazan u simbolikom obliku. Da bismo dobili numeriko rjeenje, koristit demo operator N[], a u uglaste zagrade smjestiti izraz koji elimo. Zbog preglednosti, Mathematica dozvoljava da se operator za mnoenje (*) zamijeni praznim mjestom, to poboljava preglednost ako radimo s brojevima zapisanim u eksponencijalnom obliku.

12

Seminarski rad

CAS - Computer Algebra System

Kao i ostali CAS alati, Mathematica ima mogudnost rjeavanja problema s kojima se susredemo u vioj matematici. Rjeavanje izvoda i integrala je prilino jednostavno, te koritenje Mathematica-e za ovu vrstu problema ubrzava sve vrste ininjerskih procesa koji ukljuuju sloene matematike raune. Postoje i ugraene funkcije za rjeavanje diferencijalnih jednaina i traenja rezultata u numerikom i analitikom obliku. 5.3. Grafiki prikaz Glavna komanda za dvodimenzionalno crtanje je Plot. U uglastoj zagradi iza ove komande, upisujemo funkciju koju elimo prikazati i interval u kojem se kredu promjenljive. Poput vedine komandi i Plot ima svoje opcije pomodu kojih moemo podeavati njegovo ponaanje. Redoslijed kojim specifiramo opcije je nebitan. Komanda za trodimenzionalno crtanje je Plot3D i moemo je ureivati na isti nain kao i funkciju Plot. Osim ove dvije osnovne funkcije, postoje i jo neke koje se dosta manje koriste, a mogude je skidati i razne druge sa slubene stranice Mathematica-e. Sve grafike koje dobijemo u ovom programu, mogude je eksportovati u zasebne file-ove u najede koritenim formatima (.jpg, .gif, .bmp i sl.).

Slika 5.1. Help sistem programskog paketa Mathematica 5.4. Programski jezik Mathematica Kao i ostali CAS alati koji se opisuju u ovom radu, Mathematica ima vlastiti programski jezik koji nam omogudava kreiranje programa za rjeavanje sloenijih problema. Svaki program napisan u Mathematica-i sastoji se od listi. Liste su vaan dio ovog programskog jezika. Elementi liste mogu biti praktino bilo koji Mathematica objekti. Listama se moe manipulirati na skoro svaki zamislivi nain, to je dobro objanjeno i dokumentovano u Help file-u. Svaka funkcija, koja se primjenjuje na neku listu, distribuirat de elemente po listi. Na slian nain to radi i Matlab, u kojem funkcije mogu da se primjenjuju na svaki lan vektora ili matrice zasebno, prikazivajudi kao rezultat vektor ili matricu istih dimenzija s novim lanovima. Programski jezik Mathematica-e je mnogo drugaiji od klasinih programskih jezika na koje smo navikli, ali je zbog dobrih mogudnosti i dobre dokumentovanosti veoma dobar i koristan.

13

Seminarski rad

CAS - Computer Algebra System

6. MATHCAD6.1. Zato izabrati Mathcad? Mathcad je jedan od najmodnijih CAS alata danas. Omogudava ininjerima da jednostavno rjeavaju matematike probleme, dokumentuju ih i meusobno razmjenjuju. Ono to ga razlikuje od ostalih CAS alata jeste da je on prilino jednostavan za koritenje. Manipulie sa svim vrstama matematikih izraza koje zapisujemo u istom obliku kao to to radimo olovkom na papiru. Njegovo radno okruenje kombinira standardnu matematiku notaciju, tekst i grafiku. Bitna razlika izmeu Mathcad-a i ostalih CAS alata jeste u tome to su matematike funkcije i grafici kojima su one predstavljene konstantno povezani. Ukoliko izvrimo izmjenu na nekom izrazu, automatski de se promijeniti i izgled njegovog grafika. Ovaj softverski alat mogude je koristiti za rjeavanje irokog spektra matematikih problema, bilo da nam treba rjeenje u simbolikom ili numerikom obliku. Ono to je jo jedna zanimljiva karakteristika ovog programa jeste da prepoznaje fizikalne mjerne jedinice. Ukoliko u svom raunu vrimo operacije nad mjernim jedinicama (kakve su npr. kilometar, sekunda, amper itd.), Mathcad de automatski u toku raunanja pretvarati i prilagoavati veliine i mjerne jedinice, te na kraju nam uz rezultat prikazati i odgovarajudu mjernu jedinicu. 6.2. Radni list Nakon to pokrenemo Mathcad, otvorit de nam se GUI na kojem de, izmeu ostalog, biti radni list. Upisivanje funkcija na radnom listu vrimo tako to kliknemo na Insert Function ili na radni list, nakon ega de nam se otvoriti prostor za unos funkcije. Ono to krasi Mathcad jeste da se u njegovom Interface-u nalazi paleta sa svim matematikim funkcijama u standardnoj matematikoj formi, pa je zbog toga rad mnogo laki i preglednost pri rjeavanju nekih problema mnogo bolja nego npr. kod Matlab-a. Svaka jednaina, grafik, tekst ili bilo koji zaseban objekat koji smo unijeli naziva se region, koji moemo miem pomjerati po radnom listu, kopirati i sl. Nakon to dodijelimo vrijednost nekoj varijabli, njena vrijednost bit de povezana s regionom u kojem smo smjestili varijablu. Ako bilo kada u toku programa poelimo promijeniti vrijednost varijable, dovoljno je da se vratimo regionu u kojem smo ju definisali i promijenimo vrijednost koja se nalazi uz nju. Sav dalji program koji zavisi od njene vrijednosti de se ponovno raunati. Na slian nain se mijenja grafik funkcije od promjene funkcije kojom je zadat, to je spomenuto neto ranije. Koritenjem Mathcad-ove palete za unos izraza i funkcija, moemo unositi matrice proizvoljnih dimenzija, vektore, nizove itd.

14

Seminarski rad

CAS - Computer Algebra System

6.3. Grafika i formatiranje izgleda Nakon to unesemo matematiku funkciju kojoj elimo iscrtati grafik, jednostavno kliknemo na komandu X-Y Plot i na posao je obavljen. Ukoliko kliknemo dva puta miem na grafik, otvorit de nam se Dialog Box za formatiranje izgleda grafika. Mathcad je prilagodljiv kada je izgled u pitanju, pa se zbog toga mogu ureivati i naini prikazivanja izraza na radnom listu, prikaz rezultata i sl. U Formatting alatnoj traci pronadi demo opcije za ureivanje boje teksta, vrste slova, debljine i ostalih opcija s kojima se moemo susresti u tekstualnim editorima. Radi isticanja ili zabiljeavanja bitnijih jednaina za rad, u Mathcad-u je mogude bojiti i ureivati izgled pojedinih jednaina. Osim toga, mogude je ureivati i rezultat koji nam se prikazuje, kao npr. mijenjati broj decimalnih mjesta, oblik prikazivanja (eksponencijalni, decimalni), mijenjati boju i ostale vizualne parametre i jo mnogo toga.

Slika 6.1. Izgled radnog lista Mathcad-a 6.4. Programiranje Programi olakavaju izvravanje zadataka koje bi bilo nemogude ili teko izvriti na bilo koji drugi nain. To je zbog toga to program u Mathcad-u moe imati mnoge atribute koji ga veu za programske jezike, ukljuujudi uslovno grananje, cikline strukture (petlje), lokalne varijable, rad s grekama i sl. Program je, jednostavno reeno, izraz sainjen od vie od jednog iskaza. Program piemo tako to otvorimo Programming alatnu traku koja sadri operatore programiranja. Nain programiranja je slian kao i u programskim jezicima ili u drugim CAS alatima, s tim da se sve naredbe unose iz alatne trake s operatorima programiranja ili pritiskom na odgovarajudu skradenicu na tastaturi. Npr. uslovno grananje naredbom if nedemo pozivati unosom rijei if na tastaturi, nego demo istu pronadi u alatnoj traci ili pritisnuti kombinaciju tipki Shift + Alt Gr + G (svaka naredba ima svoju zasebnu kombinaciju tipki na tastaturi). Imamo dvije vrste programskih petlji, a to su For petlja (u nekim programskim jezicima poznatija kao do petlja) i while petlja (izvrava se sve dok je uslov istinit). Naredbom break prekidamo petlju. Cijelo programiranje u Mathcad-u, kao i u ostalim CAS alatima, svodi se na poznavanje pozivanja petlji i grananja, ispisa podataka i obradu ulaznih podataka matematikim izrazima. Pomodu toga, mogude je rjeavati i najkompleksnije matematike probleme s kojima se ininjeri susredu u raznim poslovima.15

Seminarski rad

CAS - Computer Algebra System

7. ZAKLJUAKSavremena industrija je pod velikim uticajem razvoja tehnologije. to vie vrijeme odmie, to je tehnologija naprednija, zbog ega i trite zahtijeva bru i kvalitetniju proizvodnju. Moderna proizvodnja zahtijeva sve vie mainske obrade proizvoda i automatizacije proizvodnih sistema. Computer Algebra System je najnapredniji sistem za rjeavanje matematikih problema i olakava sve vrste prorauna s kojima se savremeni ininjer susrede u poslu. Napredni CAS alati su neizostavan dio savremenog ininjerstva. Njihovom upotrebom za rjeavanje matematikih problema s kojima se susrede, savremeni ininjer olakava sebi veliki dio raunanja, zbog ega mu je potrebno manje vremena da odradi neki posao. Potrebno je samo razviti metodu rjeavanja problema, a sav problem rijeit de raunar. Programiranje u ovim softverskim alatima takoer pomae u raznim vrstama poslova. Gotovi programi mogu se upotrebljavati za rjeavanje tipinih problema s kojima se ininjeri esto susredu. Takoer, koritenjem simulacijskih okruenja za modeliranje dinamikih sistema (Simulink, MapleSim...), savremeni ininjer treba samo da izabere komponente koje ine model i definie veze izmeu njih, a program de sam da generie matematiki model koji de omoguditi vizualiziranje rezultata, procjenu tanosti, optimizaciju, manipuliranje s raznim ulazima itd.

16

Seminarski rad

CAS - Computer Algebra System

Popis slikaSlika 1.1. Ilustracija zavisnosti savremenog mainstva od upotrebe raunara Slika 3.1. Primjer nekih operacija nad matricama Slika 3.2. Primjer koritenja funkcije plot Slika 4.1. Odreivanje otpora u tapovima reetke uz pomod Maple-a Slika 4.2. 3D dijagram iscrtan pomodu funkcije plot Slika 5.1. Help sistem programskog paketa Mathematica Slika 6.1. Izgled radnog lista Mathcad-a 2 7 8 9 11 13 15

17

Seminarski rad

CAS - Computer Algebra System

Popis tabelaTabela 1. Znaenje skradenica sa slike 1 Tabela 2. Slubene web stranice proizvoaa 4 najpoznatija CAS alata 2 5

18

Seminarski rad

CAS - Computer Algebra System

LiteraturaKnjige: 1. Introduction to Matlab for Engineering Students - David Houcque, Northwestern University, 2005. 2. Kratke upute za koritenje Matlab-a - Tomislav Petkovid, Zagreb, 2005. 3. Maple Getting Started Guide - Maplesoft, Waterloo, 2005. 4. Simboliko programiranje (Mathematica) - Kreimir Kumeriki, Zagreb, 2006. 5. Getting started with Mathematica - Clinton Wolfe, Indiana University, 1999. 6. Essential Mathcad for Engineering, Science and Math - Brent Maxfield, University of London, 2009. 7. Osnovi mainskih konstrukcija - Duan Vitas, Beograd, 1969. Internet: 1. www.mathworks.com 2. www.maplesoft.com 3. www.wolfram.com 4. www.ptc.com 5. www.znanje.org

19