CAS - Computer Algebra System

June 13, 2017 | Autor: Nermin Redžić | Categoria: Matlab, Computer Algebra Systems, Mathcad, Maple, Wolfram Mathematica
Share Embed


Descrição do Produto

UNIVERZITET U TUZLI MAŠINSKI FAKULTET ODSJEK: PROIZVODNO MAŠINSTVO

CAS - COMPUTER ALGEBRA SYSTEM SEMINARSKI RAD

Student: NERMIN REDŽIĆ

Broj indeksa: II-431/11

Tuzla, maj 2012. godine

Seminarski rad

CAS - Computer Algebra System

SADRŽAJ:

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 korisnička podrška ..............................................................................................4 2.5. Primjena CAS alata u konstruisanju računarom ............................................................................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. Matematičke operacije............................................................................................................... 10 4.4. Grafički prikaz podataka u Maple-u ........................................................................................... 10 4.5. MapleSim .................................................................................................................................... 11 5. MATHEMATICA ................................................................................................................................. 12 5.1. Nastanak i razvoj ........................................................................................................................ 12 5.2. Razvojno okruženje i mogućnosti ............................................................................................... 12 5.3. Grafički prikaz ............................................................................................................................. 13 5.4. Programski jezik Mathematica ................................................................................................... 13 6. MATHCAD ......................................................................................................................................... 14 6.1. Zašto izabrati Mathcad? ............................................................................................................. 14 6.2. Radni list ..................................................................................................................................... 14 6.3. Grafika i formatiranje izgleda ..................................................................................................... 15 6.4. Programiranje ............................................................................................................................. 15 7. ZAKLJUČAK ........................................................................................................................................ 16 Popis slika .............................................................................................................................................. 17 Popis tabela ........................................................................................................................................... 18 Literatura ............................................................................................................................................... 19

1

Seminarski rad

CAS - Computer Algebra System

1. UVOD Čovjek u svojim svakodnevnim poslovima koristi matematiku. U različitim poslovima koriste se različite oblasti matematike - od osnovnih matematičkih operacija u svakodnevnom životu, pa do diferencijalnih jednačina i funkcija višeg reda u inžinjerskim poslovima. Matematika je sastavni dio čovjekovog života, pa je zbog toga razvoj različitih pomagala za računanje bio od velikog značaja za olakšavanje poslova u kojima matematika igra važnu ulogu. Prvi stroj koji je služio za računanje bio je abakus. Njime se računalo pomoću kamenčića koji su se umetali u žljebove napravljene u pijesku. Vremenom je abakus mijenjao svoj oblik. Nakon otkrića abakusa, ništa se novo nije otkrilo sve do XV stoljeća, kada je Leonardo da Vinci skicirao ideju za mehanički stroj za računanje. Nakon toga, nastao je tzv. Logaritamski računar, pa Pascalov računar koji je mogao da vrši sabiranje i i oduzimanje itd. Najveći preokret u historiji napravio je prvi računar ENIAC, koji je bio sposoban da vrši samo najjednostavnije matematičke operacije. Razvojem tehnologije, dobili smo računare koji mogu da vrše i mnogo kompleksnije matematičke operacije. Zbog sve većih zahtjeva savremenog tržišta, razvoj naprednih matematičkih softverskih alata bio je neophodan za bržu proivodnju i bolju optimizaciju proizvoda, kao i za brže i jednostavnije konstruisanje novih proizvoda i mašinskih sistema. CAS alati su neizostavan dio modernog inžinjerstva. Savremeno mašinstvo bazira se na upotrebi CAD i CAS alata za brže i kvalitetnije konstruisanje, analizu konstrukcija i vršenja raznih simulacija prije testiranja gotovog proizvoda. Koliko je savremeno mašinstvo i konstruisanje novih proizvoda zavisno od automatizacije i razvoja kompjuterskih nauka u sadašnjosti, najbolje ilustruje slika koja je priazana ispod ovog teksta.

Slika 1.1. Ilustracija zavisnosti savremenog mašinstva od upotrebe računara Tabela 1. Značenje skraćenica 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 SYSTEM 2.1. Šta je Computer Algebra System? Computer Algebra System (CAS) je termin koji opisuje softverske alate specijalno dizajnirane za simboličko manipuliranje matematičkim izrazima. Imaju bogatu kolekciju matematičkih funkcija, zbog čega ih je za te svrhe jednostavnije i brže koristiti nego klasične programske jezike, kao što su Fortran, Pascal, C, C++ itd. Omogućavaju korisniku da na lakši i brži način rješava složene matematičke probleme i rezultate istih vizualizira, izvozi u druge programe, načini aplikacije koje će rješavati neki problem i još mnogo toga. Simboličko manipuliranje matematičkim izrazima obuhvata: − pojednostavljenje matematičkih izraza i njihovo pretvaranje u standardne forme − mijenjanje simboličkih vrijednosti numeričkim i obratno − promjena oblika izraza, faktorizacija, ekspanzija, diferenciranje, računanje integrala − rješavanje linearnih i nelinearnih jednačina na različitim domenama − analiziranje funkcija - određivanje graničnih vrijednosti, asimptota, toka funkcije i sl. − izvršavanje operacija s nizovima, vektorima i matricama − statističke proračune − generisanje programskog koda u svrhu rješavanja matematičkih problema i još mnogo toga. 2.2. Prednosti rada s CAS alatima Prva i najvažnija prednost jeste ta što korištenje nekog od naprednih matematičkih softverskih alata eliminira potrebu za digitronima, tabelama, knjigama iz oblasti matematike i sličnim pomagalima. Jednom inžinjeru, CAS alati su sve što je potrebno da rješava matematičke probleme s kojima se susreće u radu. Zbog toga se povećava efikasnost, brzina i kvaliteta pri konstruisanju novih proizvoda. Ubrzavaju se sve faze rada, posebno proračun i simulacija, što omogućava bolju opitimizaciju proizvoda i njegov brži razvoj. Cjelokupni proračun i dokumentacija nalaze se u jednom okruženju i pogodni su za izvoz u druge aplikacije, što omogućava lakšu izradu prezentacija i tehničke dokumentacije. Često su nam pored numeričkih rješenja nekih problema potrebni dijagrami i vizualni prikaz. Konstruisanje takvih prikaza može predstavljati problem, pogotovo ako se radi o nekim funkcijama s više od dvije promjenjive. Međutim, ovi softverski alati nam omogućavaju kreiranje vizualnog prikaza rješenja nekih problema (prikaz funkcija, dijagrama rješenja raznih drugih numeričkih problema i sl.) za veoma kratko vrijeme uz pomoć 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 simboličku manipulaciju matematičkim izrazima, te su za te svrhe mnogo bolji od programskih jezika. Nekoliko stotina redaka programskog koda u nekom od programskih jezika višeg nivoa može biti zamijenjeno sa daleko manjim postupkom programiranja u nekom CAS alatu. Manipulacija matematskim izrazima je mnogo jednostavnija. Postoje jednostavne ugrađene funkcije za diferenciranje izraza, računanje integrala, matrične operacije, iscrtavanje funkcija, izgradnju dinamičkih sistema (Simulink, MapleSim...), kreiranje animacija i još mnogo toga, što bi u klasičnim programskim jezicima korisniku oduzimalo mnogo vremena. Međutim, ovi softverski alati imaju i svoje primjetne nedostatke. Programiranje u CAS alatima kompajlira se i izvršava primjetno sporije nego u nekom programskom jeziku. Ono što je vjerovatno i najveća zamjerka ovim softverskim paketima je činjenica da je kreiranje samostalnih aplikacija nemoguće. Svi programi koje napravimo u nekom od CAS alata izvršavaju se samo pod njihovim okruženjem i ne mogu se kreirati nezavisni .exe file-ovi, .dll dinamičke biblioteke itd. 2.4. Dokumentacija i korisnička podrška CAS alati su izuzetno dobro dokumentovani. Postoji nevjerovatan broj knjiga koji opisuje ove programske pakete, rad u njima, njihove mogućnosti i sve ono što je potrebno za njihovu upotrebu. Ta činjenica doprinijela je izučavanju ovih programa na tehničkim univerzitetima širom svijeta. Osim velikog broja knjiga o njima, veliku zaslugu za njihovu popularnost imaju i sami proizvođači ovih alata. Ono što krasi svakog od njih jeste odličan Help i Tutorial sistem koji besplatno dolaze uz sam program. 2.5. Primjena CAS alata u konstruisanju računarom Kao što smo ranije naveli, upotrebom CAS alata znatno se ubrzavaju svi procesi u mašinstvu koji uključuju bilo kakve vrste proračuna. Neki od najbitnijih su: − proračuni izdržljivosti i čvrstoće − proračuni statičkih opterećenja − proračuni mehaničkih veza, stabilnosti i sl. − proračuni dinamičkih karakteristika mašina − proračuni kinematike mašinskih sistema, trajektorije robota i sl. − optimizacija elemenata, konstrukcija, sklopova i mašinskih sistema − proračuni pouzdanosti i vjerovatnoće ispravnog rada itd. Upotrebom CAS alata poboljšava se optimizacija rada mašinskih sistema i kvalitet proizvoda. Krajnji proizvodi nastaju mnogo brže, jeftiniji su i mnogo kvalitetniji, prvenstveno zbog bolje optimizacije proizvoda za upotrebu. Primjenom CAS alata u konstruisanju, konstruktor se rješava posla čestog računanja istih proračuna, te njima manipuliše jednostavnim korištenjem softverskih alata namijenjenih specijalno za to.

4

Seminarski rad

CAS - Computer Algebra System

U savremenom inžinjerstvu, simulacije rada mašinskih sistema i drugih rezultata konstruisanja prije stvarnog testiranja su veoma bitne. Danas, uspješna simulacija rada nekog proizvoda u većini slučajeva znači i njegov uspješan stvarni rad. Za izvršavanje računarskih simulacija potreban je veliki broj matematičkih proračuna, rad s raznim tipovima varijabli i izmjena njihovih vrijednosti u zavisnosti od vremena. Za ove svrhe zadužen je Computer Algebra System. CAS alati mogu raditi s dinamičkim sistemima i diferencijalnim jednačinama koje ih opisuju, te na taj način olakšavaju kreiranje simulacija procesa i korisniku prikazuju razne dijagrame nastale upravo njihovim proračunima, kao što su dijagrami opterećenja, izdržljivosti, pritiska, temperature itd. U konstruisanju računarom 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 važnosti koje imaju u mašinstvu, ali i u drugim tehničkim naukama, povezanost CAS sa CAD programima od samog početka je bila neminovna, te danas ove vrste programa uspješno surađuju. Za razne konstruktorske probleme, kakvi su određivanje površine neke geometrijske figure, zapremine tijela, potrošnja materijala za nastanak proizvoda, izdržljivost materijala, stabilnost pri radu i sl., CAS alati mogu riješiti matematički date probleme, a zatim se podaci iz njih mogu koristiti za konstruisanje u nekom od CAD alata. Kod konstruisanja proizvoda, CAS alati mogu vršiti mnoge matematičke proračune vezane za opterećenja, kretanja pokretnih elemenata proizvoda, ponašanje materijala, raspodjelu naprezanja, potrošnju energije, veličine tolerantnih polja i odstupanja itd. Zbog svojih dobrih grafičkih mogućnosti, koriste se i za kreiranje dijagrama neophodnih za konstruisanje nekih proizvoda. Pri izradi nekog mašinskog elementa, potrebno je razmotriti sve uslove pod kojima će on raditi i istima prilagoditi njegovu konstrukciju. Razvoj svih vrsta dijagrama u CAS alatima je prilično jednostavan i brz, zbog čega se često koriste za ove svrhe. Primjena CAS alata u konstruisanju računarom vremenom postaje sve bitnija, a glavni rezultati njihove upotrebe su: − skraćenje vremena razvoja proizvoda − smanjenje grešaka 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 nećemo poklanjati posebnu pažnju. O svakom od ova navedena 4 programa bit će izloženo nešto više informacija u nastavku ovog teksta. Počet ćemo s Matlab-om. Tabela 2. Službene web stranice proizvođača 4 najpoznatija CAS alata Matlab Maple Mathematica www.mathworks.com www.maplesoft.com www.wolfram.com 5

Mathcad www.ptc.com

Seminarski rad

CAS - Computer Algebra System

3.MATLAB 3.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 prošlog vijeka. 1984. godine osnovana je kompanija MathWorks, kako bi počela komercijalna proizvodnja Matlab-a i njegov intenzivniji razvoj. Najbolji je CAS alat za rad s matricama, zbog čega ima veliku primjenu u inžinjerstvu. Za te svrhe je posebno optimiziran, te operacije s matricama izvršava relativno brzo. Bitno je napomenuti da Matlab ima svoj programski jezik, koji je relativno lagan za učenje i korištenje. Ono što je nedostatak programiranja u Matlab-u, kao i u svim CAS alatima jeste da je za izvršavanje programskih kodova napisanih u njemu potrebno pokrenuti i koristiti Matlab. Nemoguće 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 matematičkim izrazima i pisanje programskih kodova za rješavanje problema s kojima se susrećemo u raznim inžinjerskim poslovima. Po svojoj formi, Matlab je interaktivni jezik—interpreter, namijenjen prvenstveno matematičkim operacijama s matricama. Rad s matematičkim operacijama je blizak načinu na koji i inače zapisujemo matematičke formule, pa jedan redak u Matlab-u može zamijeniti stotine redaka napisanih u nekom programskom jeziku opće 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 veličine predstavljaju kao matrice s dimenzijom 1×1. Svi su podaci interno zapisani u double float obliku (dostupno je 64 bita memorije za zapis nekog podatka), što osigurava vrlo veliki dinamički raspon i tačnost prilikom računanja. Pored realnih brojeva i matrica, podržani su i kompleksni brojevi i kompleksne matrice. Nad matricama je moguće jednostavno primjeniti sve za njih karakteristične matematičke operacije. Osim standardnih operacija, moguće su i operacije po njihovim elementima (kvadriranje, množenje, dijeljenje i sl.). Matrice možemo unositi na više načina: − eksplicitno - unošenjem svakog elementa matrice primjer: A = [1 2 3; 4 5 6; 7 8 9] − pomoću ugrađenih funkcija (zeros, ones, rand...) primjer: A = zeros(2,2) - kreiranje matrice A reda 2x2 čiji su svi elementi nule − pomoću korisničkih funkcija − učitavanjem iz eksternih file-ova. Matrice unosimo tako što članove po redovima odvajamo znakom „ ; “ ili pritiskom na Enter, a u jednom redu članove možemo odvajati praznim mjestom ili zarezom. Osnovne operacije nad matricama vrše se matematskim operatorima (+,-,*,^2...). Bitno je napomenuti da ovi operatori vrše operacije s matricama, dakle, znak za množenje napisan između dvije matrice pronaći će matrični proizvod tih matrica, čiji formati moraju odgovarati formatima 6

Seminarski rad

CAS - Computer Algebra System

podrazumijevanim prema pravilu za množenje matrica. U suprotnom, Matlab će nam javiti grešku. Ukoliko želimo vršiti množenje, dijeljenje ili bilo koju drugu operaciju po elementima matrice, ispred matematskog operatora dodat ćemo tačku. Matlab ima i veliki broj ugrađenih funkcija za rad s matricama, kao što su računanje determinante kvadratne matrice, traženje inverzne matrice, transponovanje matrice, nalaženje najvećeg 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 ćemo prozor editora teksta i pisati programski kod koji se u smješta u tzv. M-File. Ime je dobio zbog toga što ima ekstenziju „ .m “. U M-File-u pišemo program slično kao u programskim jezicima, s tim da ne moramo vršiti deklaraciju varijabli na početku. Varijable će automatski biti deklarisane čim ih pozovemo u programu. Nakon što napišemo program, on će se izvršiti u razvojnom okruženju Matlab-a i moći ćemo ga pokretati samo kada je pokrenut i Matlab. Nezavisne aplikacije, kao što je to ranije navedeno, nije moguće praviti u ovom CAS programu. Pored standardnih M-File-ova imamo i tzv. korisničke funkcije ili Function File-ove. I oni imaju ekstenziju „.m“, ali se svojom strukturom i namjenom razlikuju od običnih 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 više argumenata (matrica ili string), dok izlaz može biti nijedan, jedan ili više argumenata. Možemo je pozvati iz komandnog prozora, script file-a ili iz neke druge korisničke funkcije. 3.5. Grafika Često su nam osim numeričkih, potrebni i grafički prikazi dobijenih rezultata. Bogata paleta grafičkih funkcija omogućava korisniku jednostavno kreiranje raznih dijagrama, iscrtavanje 2D i 3D funkcija, uređivanje istih itd. Osnovna funkcija za grafički prikaz je plot. Ona se koristi za generisanje 2D dijagrama. Na slici na idućoj stranici je prikazan primjer iscrtane matematičke funkcije korištenjem funkcije plot:

7

Seminarski rad

CAS - Computer Algebra System

Slika 3.2. Primjer korištenja funkcije plot Kada prikazujemo zavisnost tri varijable, pozvat ćemo funkciju plot3 i kao argumente joj zadati tri vektora čije smo vrijednosti prethodno zadali ili izračunali. Rezultat ovakve operacije bit će dijagram na kojem je prikazana neka površina u 3D koordinatnom sistemu. Osim standardnih plot i plot3 funkcija, često se koriste i funkcije za specijalnu grafiku. U to spadaju stupičasti dijagrami, polarni dijagrami, histogrami, tzv. „pie“ dijagrami i sl. Njih također možemo predstaviti u 2D i 3D prikazu. 3.4. Simulink Simulink je dio Matlab-a namijenjen simuliranju dinamičkih sistema. Za sam unos i opis sistema koji se simulira, koristi se jednostavno grafičko okruženje u kojem sastavljamo model kombinirajući gotove komponente. Takvim pristupom je simulacija sistema značajno olakšana, jer se od korisnika ne zahtijeva unos diferencijalnih jednačina koje opisuju sistem, već je dovoljno znati blok-shemu sistema. Simulink se pokreće unutar Matlab-a zadavanjem naredbe simulink ili odabirom ikone iz alatne trake. Nakon pokretanja Simulink-a otvara se Simulink Library Browser. On sadrži 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 koristeći 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 će nam predstavljati jedan blok. Pri tome određene ulaze i izlaze elemenata ne spajamo, jer će oni postati novi ulazi i izlazi iz zamišljenog 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 rješenje koje skraćuje vrijeme rješavanja i ispitivanja raznih dinamičkih sistema s kojima se susrećemo u mašinstvu. Uz Simulink, koji služi simuliranju dinamičkih sistema, Matlab ima veliki broj toolbox-a koji svoju primjenu nalaze u svim granama tehničkih i drugih nauka, u kojima se susrećemo s matematičkim problemima. Njihova osnovna svrha je olakšavanje i ubrzavanje manipuliranja matematičkim izrazima koji se često pojavljuju u raznim poslovima, a moguće ih je skinuti sa službene stranice Matlab-a. 8

Seminarski rad

CAS - Computer Algebra System

4. MAPLE 4.1. Osnovne informacije Još jedan značajan CAS softverski alat je Maple iz kompanije Maplesoft. Njegov razvoj je počeo 1980. godine na Univerzitetu Waterloo u Kanadi i od tada se intenzivno razvijaju nove verzije s mnogobrojnim poboljšanjima. Do danas je izašlo 16 verzija ovog programa, a vremenski razmaci između izlazaka novijih verzija postaju sve kraći. Razlog tome je konstantna borba za vodeću poziciju s konkurencijom u području matematičkog software-a za inžinjere. Maple je CAS alat koji ima vlastiti programski jezik s elementima proceduralnog i objektnoorijentisanog programiranja. Dobar GUI olakšava korisniku razvoj vlastitih programa. Bitno je napomenuti da od svih CAS alata, Maple ima najbolje grafičke mogućnosti, 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 matematičkih funkcija. Specifičan je po tome što pored numeričkih rješenja nekih matematičkih problema daje i simbolička gdje god je to moguće. Zbog toga je veoma pogodan za rješavanje integrala, jednačina, traženja izvoda funkcija, rješavanje diferencijalnih jednačina 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, moguće ga je povezivati s CAD alatima.

Slika 4.1. Određivanje otpora u štapovima rešetke uz pomoć 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 okruženje za razne vrste proračuna, kreiranje dijagrama, ali i uljepšavanje istih i kreiranje dokumentacije, raznih prezentacija, animacija itd. Unos izraza u Maple-u možemo vršiti na 2 načina. To su tzv. 1D i 2D način. 1D je klasični unos matematičkog izraza i izgleda kao i u programskim jezicima kakvi su Fortran, C++ i sl (npr. y**2=3*x+5). Drugi način je prikaz izraza u standardnoj matematičkoj formi, što je mnogo preglednije i za oko posmatrača ugodnije. U radnom listu možemo pisati i običan tekst koji će imati istu svrhu kao i komentar i neće uticati na rad programa. Tekst možemo oblikovati i uređivati po vlastitoj želji. Osim unos teksta, moguće je unositi i slike, dijagrame preuzete iz drugih programa i slično, što omogućava kreiranje veoma kvalitetnih prezentacija rješenja nekih matematičkih problema. 4.3. Matematičke operacije Kao što je ranije navedeno, tzv. 2D prikaz matematskih izraza u Maple-u omogućava veoma jednostavan i pregledan rad korisniku, te zbog toga ispisivanje izraza nije potrebno posebno objašnjavati. Matematičke operacije u Maple-u izgledaju jednako kao i u klasičnoj matematici. Bogata paleta s ugrađenim funkcijama, operatorima, grčim alfabetom, specijalnim matematskim simbolima i ostalim stvarima s kojima se često srećemo u matematici nalazi se s lijeve strane radnog lista. Tako npr. za ispisivanje matrice, odabrat ćemo na lijevoj strani paletu za matrice, unijeti njene dimenzije i nakon klika na OK, na radnom listu ćemo dobiti matricu unešenih dimenzija. Na nama je samo da unesemo elemente koje želimo. Maple je pogodan i za rješavanje limesa, integrala, diferencijalnih jednačina i sl. Sve funkcije koje omogućavaju rad s višom matematikom, moguće je pronaći u njegovom Help file-u. 4.4. Grafički 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 grafičkog prikaza u pitanju. On nudi korisniku mogućnost da na mnogo načina izvrši vizualizaciju podataka. Posjeduje bogatu kolekciju funkcija za grafički prikaz funkcija, površina u 3D dijagramima, parametarskih funkcija, animacija i sl. Moguća su dva načina grafičkog prikazivanja podataka. To su Standard Plot i Smart Plot. Standard Plot je kreiranje grafičkog prikaza korištenjem standardnih grafičkih komandi. Generiše se pomoću naredbi plot i plot3d. Funkciju plot koristimo na način da u zagradi iza plot upišemo matematički 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 više promjenljivih i ona se koristi na isti način kao i plot. Dobijenu grafiku možemo uređivati, bojiti, približavati, udaljavati, mijenjati domenu u kojoj ju posmatramo, eksportovati u neki od standardnih formata slika (JPEG, BMP, GIF) i još mnogo toga. Sve ove parametre možemo jednostavno podešavati klikom na dijagram desnom tipkom miša.

10

Seminarski rad

CAS - Computer Algebra System

Smart plot je napredniji način generiranja grafičkog prikaza. Grafika se generira interaktivno, bez korištenja standardnih naredbi. Koristi se za brži prikaz koji će se kasnije uređivati. Maple ima bogatu biblioteku za specijalnu grafiku, u koju ubrajamo linijske i tačkaste dijagrame, prikazivanje raznih 3D površina itd.

Slika 4.2. 3D dijagram iscrtan pomoću 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 simboličke matematike. Uspješno radi sa svim kompleksnim matematičkim operacijama s kojima se srećemo u svakodnevnom inžinjerskom poslu. Osnovni razlog za korištenje ovog alata je ušteda vremena. Maplesoft na svojoj službenoj internet stranici navodi da se MapleSim koristi u raznim granama tehnologije, kao što su: − robotika i mehatronika − dizajniranje mašina i alata, uključujući i naučne instrumente − automobilizam − zrakoplovstvu, aerodinamici, svemirskoj robotici i sistemima navođenja − elektronici − energetska postrojenja itd. Upotreba MapleSim-a je slična kao i upotreba Simulink-a. Prvi korak sastoji se u biranju komponenti koje čine model s kojim radimo. Nakon toga, definišemo dijagram sistema, koji predstavlja veze između blokova sistema, a matematski model će se generisati automatski.

11

Seminarski rad

CAS - Computer Algebra System

5. MATHEMATICA 5.1. Nastanak i razvoj Mathematica je softverski alat u kojem korisnik u integriranom radnom okruženju rješava matematičke probleme s kojima se susreće. Prva verzija izašla je 1988. godine i od tada je imala veliki uticaj na način upotrebe kompjutera u tehničkim, naučno-istraživačkim i mnogim drugim područjima. Mathematica-u je razvila kompanija Wolfram Research Inc. (WRI) uz pomoć svjetskog tima stručnjaka predvođenih Stephenom Wolframom. Uspjeh Mathematica-e je potpomognut kontinuiranim rastom kompanije WRI, koji je omogućio razvoj velikog broja neovisnih poslova povezanih s tim alatom. WRI nudi uz Mathematica-u i paletu samostalnih proizvoda oslonjenih na moćnu jezgru ovog softverskog alata. U početku, Mathematica je najviše korištena u fizici, matematici i inžinjerstvu. Postala je osnovica za izradu velikog broja naučnih i tehničkih radova. 5.2. Razvojno okruženje i mogućnosti Kada pokrenemo Mathematica-u, otvorit će nam se njeno razvojno okruženje u kojem razvijamo osnovni tip datoteke nazvan notebook ili bilježnica. Ekstenzija ovog file-a je .nb i sastoji se od velikog broja ćelija. Ćelije sadrže raznovrsne tipove informacija koje je unio korisnik ili ih je proizvela Mathematica kao rezultat nekog proračuna. Svaka ćelija označena je uglastom zagradom na desnoj strani notebook-a. Postoje tri vrste ćelija, a to su: − Input ćelije - sadrže komande koje će se izvršiti, − Output ćelije - sadrže rezultate izvršavanja komandi, − Tekstualne ćelije - sadrže tekstualne zapise (komentare). Najlakše ih je raspoznati po različitom tipu fonta. Novu ćeliju kreiramo jednostavnim klikom na mjesto na kojem ju želimo vidjeti na radnom listu. Na taj način ćemo dobiti Input ćeliju. Pritiskom na tipke Ctrl + Enter izvršit će se naredbe koje smo unijeli u ćeliju. Rezultat je output ćelija u kojoj je prikazan rezultat Input ćelije. Ćelije možemo uređivati, grupisati, skrivati itd. Kao i u Maple-u, i u Mathematica-i postoje tzv. 1D i 2D zapisi matematičkih izraza. 2D izrazi mogu se unositi i pomoću ugrađenih paleta, sličnih poput onih u tekstualnim editorima, kao što je npr. Microsoft Word. Ukoliko izraze upisujemo bez paleta, koristimo se klasičnim programskim matematičkim zapisom s kojim se susrećemo i u drugim CAS alatima, u programskim jezicima višeg nivoa itd. Prilikom računanja vrijednosti nekog izraza, rezultat će, ako je to moguće, prvenstveno biti prikazan u simboličkom obliku. Da bismo dobili numeričko rješenje, koristit ćemo operator N[], a u uglaste zagrade smjestiti izraz koji želimo. Zbog preglednosti, Mathematica dozvoljava da se operator za množenje (*) zamijeni praznim mjestom, što poboljšava preglednost ako radimo s brojevima zapisanim u eksponencijalnom obliku.

12

Seminarski rad

CAS - Computer Algebra System

Kao i ostali CAS alati, Mathematica ima mogućnost rješavanja problema s kojima se susrećemo u višoj matematici. Rješavanje izvoda i integrala je prilično jednostavno, te korištenje Mathematica-e za ovu vrstu problema ubrzava sve vrste inžinjerskih procesa koji uključuju složene matematičke račune. Postoje i ugrađene funkcije za rješavanje diferencijalnih jednačina i traženja rezultata u numeričkom i analitičkom obliku. 5.3. Grafički prikaz Glavna komanda za dvodimenzionalno crtanje je Plot. U uglastoj zagradi iza ove komande, upisujemo funkciju koju želimo prikazati i interval u kojem se kreću promjenljive. Poput većine komandi i Plot ima svoje opcije pomoću kojih možemo podešavati njegovo ponašanje. Redoslijed kojim specifiramo opcije je nebitan. Komanda za trodimenzionalno crtanje je Plot3D i možemo je uređivati na isti način kao i funkciju Plot. Osim ove dvije osnovne funkcije, postoje i još neke koje se dosta manje koriste, a moguće je skidati i razne druge sa službene stranice Mathematica-e. Sve grafike koje dobijemo u ovom programu, moguće je eksportovati u zasebne file-ove u najčešće korištenim 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 omogućava kreiranje programa za rješavanje složenijih problema. Svaki program napisan u Mathematica-i sastoji se od listi. Liste su važan dio ovog programskog jezika. Elementi liste mogu biti praktično bilo koji Mathematica objekti. Listama se može manipulirati na skoro svaki zamislivi način, što je dobro objašnjeno i dokumentovano u Help file-u. Svaka funkcija, koja se primjenjuje na neku listu, distribuirat će elemente po listi. Na sličan način to radi i Matlab, u kojem funkcije mogu da se primjenjuju na svaki član vektora ili matrice zasebno, prikazivajući kao rezultat vektor ili matricu istih dimenzija s novim članovima. Programski jezik Mathematica-e je mnogo drugačiji od klasičnih programskih jezika na koje smo navikli, ali je zbog dobrih mogućnosti i dobre dokumentovanosti veoma dobar i koristan.

13

Seminarski rad

CAS - Computer Algebra System

6. MATHCAD 6.1. Zašto izabrati Mathcad? Mathcad je jedan od najmoćnijih CAS alata danas. Omogućava inžinjerima da jednostavno rješavaju matematičke probleme, dokumentuju ih i međusobno razmjenjuju. Ono što ga razlikuje od ostalih CAS alata jeste da je on prilično jednostavan za korištenje. Manipuliše sa svim vrstama matematičkih izraza koje zapisujemo u istom obliku kao što to radimo olovkom na papiru. Njegovo radno okruženje kombinira standardnu matematičku notaciju, tekst i grafiku. Bitna razlika između Mathcad-a i ostalih CAS alata jeste u tome što su matematičke funkcije i grafici kojima su one predstavljene konstantno povezani. Ukoliko izvršimo izmjenu na nekom izrazu, automatski će se promijeniti i izgled njegovog grafika. Ovaj softverski alat moguće je koristiti za rješavanje širokog spektra matematičkih problema, bilo da nam treba rješenje u simboličkom ili numeričkom obliku. Ono što je još jedna zanimljiva karakteristika ovog programa jeste da prepoznaje fizikalne mjerne jedinice. Ukoliko u svom računu vršimo operacije nad mjernim jedinicama (kakve su npr. kilometar, sekunda, amper itd.), Mathcad će automatski u toku računanja pretvarati i prilagođavati veličine i mjerne jedinice, te na kraju nam uz rezultat prikazati i odgovarajuću mjernu jedinicu. 6.2. Radni list Nakon što pokrenemo Mathcad, otvorit će nam se GUI na kojem će, između ostalog, biti radni list. Upisivanje funkcija na radnom listu vršimo tako što kliknemo na Insert Function ili na radni list, nakon čega će nam se otvoriti prostor za unos funkcije. Ono što krasi Mathcad jeste da se u njegovom Interface-u nalazi paleta sa svim matematičkim funkcijama u standardnoj matematičkoj formi, pa je zbog toga rad mnogo lakši i preglednost pri rješavanju nekih problema mnogo bolja nego npr. kod Matlab-a. Svaka jednačina, grafik, tekst ili bilo koji zaseban objekat koji smo unijeli naziva se region, koji možemo mišem pomjerati po radnom listu, kopirati i sl. Nakon što dodijelimo vrijednost nekoj varijabli, njena vrijednost bit će povezana s regionom u kojem smo smjestili varijablu. Ako bilo kada u toku programa poželimo 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 će se ponovno računati. Na sličan način se mijenja grafik funkcije od promjene funkcije kojom je zadat, što je spomenuto nešto ranije. Korištenjem Mathcad-ove palete za unos izraza i funkcija, možemo unositi matrice proizvoljnih dimenzija, vektore, nizove itd.

14

Seminarski rad

CAS - Computer Algebra System

6.3. Grafika i formatiranje izgleda Nakon što unesemo matematičku funkciju kojoj želimo iscrtati grafik, jednostavno kliknemo na komandu X-Y Plot i naš posao je obavljen. Ukoliko kliknemo dva puta mišem na grafik, otvorit će nam se Dialog Box za formatiranje izgleda grafika. Mathcad je prilagodljiv kada je izgled u pitanju, pa se zbog toga mogu uređivati i načini prikazivanja izraza na radnom listu, prikaz rezultata i sl. U Formatting alatnoj traci pronaći ćemo opcije za uređivanje boje teksta, vrste slova, debljine i ostalih opcija s kojima se možemo susresti u tekstualnim editorima. Radi isticanja ili zabilježavanja bitnijih jednačina za rad, u Mathcad-u je moguće bojiti i uređivati izgled pojedinih jednačina. Osim toga, moguće je uređivati 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 olakšavaju izvršavanje zadataka koje bi bilo nemoguće ili teško izvršiti na bilo koji drugi način. To je zbog toga što program u Mathcad-u može imati mnoge atribute koji ga vežu za programske jezike, uključujući uslovno grananje, ciklične strukture (petlje), lokalne varijable, rad s greškama i sl. Program je, jednostavno rečeno, izraz sačinjen od više od jednog iskaza. Program pišemo tako što otvorimo Programming alatnu traku koja sadrži operatore programiranja. Način programiranja je sličan 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 odgovarajuću skraćenicu na tastaturi. Npr. uslovno grananje naredbom if nećemo pozivati unosom riječi „if“ na tastaturi, nego ćemo istu pronaći 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 (izvršava 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 matematičkim izrazima. Pomoću toga, moguće je rješavati i najkompleksnije matematičke probleme s kojima se inžinjeri susreću u raznim poslovima. 15

Seminarski rad

CAS - Computer Algebra System

7. ZAKLJUČAK Savremena industrija je pod velikim uticajem razvoja tehnologije. Što više vrijeme odmiče, to je tehnologija naprednija, zbog čega i tržište zahtijeva bržu i kvalitetniju proizvodnju. Moderna proizvodnja zahtijeva sve više mašinske obrade proizvoda i automatizacije proizvodnih sistema. Computer Algebra System je najnapredniji sistem za rješavanje matematičkih problema i olakšava sve vrste proračuna s kojima se savremeni inžinjer susreće u poslu. Napredni CAS alati su neizostavan dio savremenog inžinjerstva. Njihovom upotrebom za rješavanje matematičkih problema s kojima se susreće, savremeni inžinjer olakšava sebi veliki dio računanja, zbog čega mu je potrebno manje vremena da odradi neki posao. Potrebno je samo razviti metodu rješavanja problema, a sav problem riješit će računar. Programiranje u ovim softverskim alatima također pomaže u raznim vrstama poslova. Gotovi programi mogu se upotrebljavati za rješavanje tipičnih problema s kojima se inžinjeri često susreću. Također, korištenjem simulacijskih okruženja za modeliranje dinamičkih sistema (Simulink, MapleSim...), savremeni inžinjer treba samo da izabere komponente koje čine model i definiše veze između njih, a program će sam da generiše matematički model koji će omogućiti vizualiziranje rezultata, procjenu tačnosti, optimizaciju, manipuliranje s raznim ulazima itd.

16

Seminarski rad

CAS - Computer Algebra System

Popis slika Slika 1.1. Ilustracija zavisnosti savremenog mašinstva od upotrebe računara Slika 3.1. Primjer nekih operacija nad matricama Slika 3.2. Primjer korištenja funkcije plot Slika 4.1. Određivanje otpora u štapovima rešetke uz pomoć Maple-a Slika 4.2. 3D dijagram iscrtan pomoću funkcije plot Slika 5.1. Help sistem programskog paketa Mathematica Slika 6.1. Izgled radnog lista Mathcad-a

17

2 7 8 9 11 13 15

Seminarski rad

CAS - Computer Algebra System

Popis tabela Tabela 1. Značenje skraćenica sa slike 1 Tabela 2. Službene web stranice proizvođača 4 najpoznatija CAS alata

18

2 5

Seminarski rad

CAS - Computer Algebra System

Literatura Knjige: 1. Introduction to Matlab for Engineering Students - David Houcque, Northwestern University, 2005. 2. Kratke upute za korištenje Matlab-a - Tomislav Petković, Zagreb, 2005. 3. Maple Getting Started Guide - Maplesoft, Waterloo, 2005. 4. Simboličko programiranje (Mathematica) - Krešimir Kumerički, 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 mašinskih konstrukcija - Dušan 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

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.