MATLAB je okruenje za numerike proraune i programski
MATLAB je okruženje za numeričke proračune i programski jezik koji proizvodi firma Math. Works. MATLAB omogućava lako manipulisanje matricama, prikazivanje funkcija i fitovanje, implementaciju algoritama, stvaranje grafičkog korisničkog interfejsa kao i povezivanje sa programima pisanim u drugim jezicima. MATLAB je nastao kao skraćenica za „MATrix LABoratory“ („laboratorija za matrice“). Osmislio ga je kasnih 1970 -ih Kliv Moler (engl. Cleve Moler), šef katedre za informatiku na Univerzitetu „Novi Meksiko“. Danas svojstva MATLAB-a daleko prevazilaze prvobitnu zamisao i on sada pokriva sva moguca opšta, tehnička i naučna izračunavanja.
MATLAB je moguće nabaviti zajedno sa Simulinkom kao i brojnim dodacima koji pokrivaju gotovo sve inženjerske oblasti. Dodaci su razvrstani po sledećim kategorijama: Matematika i optimizacija Statistika i analiza podataka Kontrola i analiza sistema Procesiranje signala i komunikacija Obrada slike Test i merenja Analiza signala u vremenskom, frekvencijskom domenu Povezivanje sa drugim aplikacijama Povezivanje baza podataka i izveštavanje Distribuirano računanje. . .
MODEL U MATLAB/SIMULINK-U
REZULTATI DOBIJENI U MATLAB/SIMULINK-U Brzina i pozicija dobijeni u Matlab-u.
ISPISIVANJE REZULTATA U WORKSPACE
DRUGI NAČIN PRIKAZIVANJA GRAFIKA >> plot(vreme, pozicija); Napomena: Prilikom ispisivanja rezultata u workspace koristiti Array kod opcije Save format.
EDITOVANJE GRAFIKA Editovanje grafika iscrtanog uz pomoć komande zadate u Command Window Matlab-a, vrši se izborom opcija Edit/Figure Properties i Edit/Axes Properties. Nakon toga može se vršiti: § Ubacivanje mreže, § Davanje imena ordinati ili apscisi, § Ograničenje ose, § Promena fonta, veličine fonta. Nakon željene izmene slika se može sačuvati u raznim formatima u zavisnosti od potreba korisnika.
EDITOVANJE GRAFIKA
Vežba. Napraviti da liči na grafik sa slike!!!
GRAFIČKI KORISNIČKI INTERFEJS Graphical User Interface Development Environment (Guide) Naredba za pokretanje: guide
GRAFIČKI KORISNIČKI INTERFEJS U ovom okruženju se nalaze razne alatke za kreiranje željenih komponenti korisničkog interfejsa. Te komponente se nazivaju uicontrols (user interface controls). Pomoću ovog okruženja moguće je kreirati dve vrste fajlova: FIG fajlove (fajlove koji predstavljaju kreirani korisnički interfejs) i script fajlove (M-fajlove). Primer: Kreiraćemo GUI sa tri dugmeta (pushbutton) i padajućom listom. On će nam omogućiti da biramo između tri načina prikaza 3 D grafika za prethodno definisane funkcije. Za kreiranje treba ispratiti sledeće korake: opokrenemo GUIDE okruženje unošenjem komande guide. Na taj način smo pokrenuli Layout Editor. I (kao na prethodnoj slici).
GRAFIČKI KORISNIČKI INTERFEJS o. Izaberemo Blank GUI. Prikazuje se prozor kao na sledećoj slici. o. Ako želimo da uključimo nazive alata koje možemo birati iz palete (leva strana prozora) to ćemo uraditi sa File>Preferences i čekiramo opciju Show names in component palette.
GRAFIČKI KORISNIČKI INTERFEJS o. Kreiramo GUI tako što biramo kontrole iz palete i postavljamo ih na željeno mesto. Kreiraćemo 3 dugmeta. Iz palete biramo Push. Button komponentu i postavljamo dugme na željenu poziciju. Da bismo kreirali još dva dugmeta kliknemo desnim klikom na dugme i izaberemo opciju Duplicate (ili Ctrl+D sa tastature).
GRAFIČKI KORISNIČKI INTERFEJS o. Radi lakšeg manipulisanja dugmićima, sa palete biramo komponentu Panel, postavimo element na odgovarajuće mesto i prenesemo dugmiće na panel koji smo kreirali.
GRAFIČKI KORISNIČKI INTERFEJS o. Zatim unosimo sledeće elemente sa palete: Static Text, Pop-up Menu i Axes. Poređajmo ih kao na sledećoj slici.
GRAFIČKI KORISNIČKI INTERFEJS Sada ćemo podesiti GUI pomoću Property Inspector-a kome se pristupa desnim klikom na uneti element ili iz menija View. On omogućava da se vide trenutne karakteristike elementa i njegova podešavanja. 1. Prvo ćemo promeniti ime GUI-ja na taj način što kliknemo bilo gde u polju (a ne na neki od unetih elemenata), pa na View>Property Inspector i u polje Name upišemo “Simple GUI”. 2. Zatim menjamo naslov panela, tako što kliknemo na panel i u polje Title unesemo upišemo “Plot Types”. 3. Sada treba podesiti dugmiće. Na svako od dugmeta kliknemo a zatim u Property Inspector-u, u polju String unesemo tekst koji će biti ispisan na svakom dugmetu (“Surf”, “Mesh”, “Contour” redom) 4. Isto podešavanje treba primeniti i elementima Static Text i Pop-up Menu. Za element Static Text unesemo “Select Data”. 5. Kod Pop-up Menu elementa se unosi sledeći tekst u tri reda koji će biti prikazan kada se klikne na ovaj element. U prvom redu unosimo “peaks”, u drugom “membrane” i u trećem “sinc”. Tag polje kod ovog elementa (Pop-up Menu) se koristi kako bi se lakše označio element koji se koristi. GUIDE koristi taj tag prilikom kreiranja M-code funkcija. U to polje unesimo “plot_popup”(mora sa crticom). To isto uradimo i za ostale elemente.
GRAFIČKI KORISNIČKI INTERFEJS Element Surf dugme Mesh dugme Contour dugme Tag surf_pushbutton mesh_pushbutton contour_pushbutton o. U ovom trenutku možemo da pokrenemo GUI klikom na dugme Run (zeleno “Play” dugme). Prikazaće se sledeći prozor sa obaveštenjem o kreiranju/izmenama u našim Fig i M-fajlovima. Treba kliknuti na Yes. GUI je potrebno sačuvati sa imenom simple_gui.
GRAFIČKI KORISNIČKI INTERFEJS o. Nakon toga prikazuje se izgled kreiranog grafičkog korisničkog interfejsa (slika ispod). Takođe, otvoren je M-fajl koji sadrži automatski generisan kod kao i prostor za naš kod koji ćemo uneti (callback funkcija) koji će se izvršavati kada se izabere odgovarajuća kontrola sa kreiranog GUI-ja. Sada ćemo uneti callback funkciju.
GRAFIČKI KORISNIČKI INTERFEJS o. Show Functions dugme (slika ispod) će nam pomoći da lakše dođemo do mesta gde treba uneti odgovarajući kod. o. Prvo idemo do simple_gui_Opening. Fcn rutine koja se prva poziva kada se pokrene GUI. U telu funkcije kucamo sledeći tekst i na taj način definišemo početno stanje grafika: % Create the data to plot handles. peaks=peaks(35); handles. membrane=membrane; [x, y]=meshgrid(-8: 0. 5: 8); r=sqrt(x. ^2+y. ^2)+eps; sinc=sin(r). /r; handles. sinc=sinc; handles. current_data=handles. peaks; surf(handles. current_data);
GRAFIČKI KORISNIČKI INTERFEJS o. Nakon toga vraćamo se na prozor GUI editora i ponovo ga pokrenemo klikom na dugme Run.
Kada je GUI kreiran i pokrenut i kada korisnik klikne na neku od kontrola, u našem slučaju na neko od dugmića, MATLAB izvršava callback funkciju. Da bismo došli do tela funkcije opet idemo na dugme Show Functions u editoru i biramo surf_pushbutton_Callback rutinu. surf(handles. current_data); mesh(handles. current_data); callback funkcija dugmeta Mesh contour(handles. current_data); callback funkcija dugmeta Contour Pop-up Menu se koristi da bi korisnik izabrao koje će podatke da prikazuje na grafikonu. Da bi to bilo moguće potrebno je uneti sledeći kod u telu callback funkcije plot_popup_callback. val=get(h. Object, 'Value'); str=get(h. Object, 'String'); switch str{val} case 'peaks' % User select peaks handles. current_data=handles. peaks; case 'membrane' % User select membrane handles. current_data=handles. membrane; case 'sinc' % User select sinc handles. current_data=handles. sinc; end guidata(h. Object, handles);
KORISNI LINKOVI https: //www. mathworks. com/products. html? s_tid=gn_ps https: //www. tutorialspoint. com/matlab Knjige: Essential Matlab for Scientists and Engineers – Brian D. Hahn MATLAB – An Introduction with Applications – Amos Gilat Modeling and Simulation of Systems Using MATLAB and Simulink – Devendra K. Chaturvedi
LISTA JOŠ NEKIH KOMERCIJALNIH SOFTVERA ZA SIMULACIJU AMESim - platform to analyze multi-domain, intelligent systems and predict and optimize multidisciplinary performance. Developed by LMS International Any. Logic - Multimethod simulation modeling tool for business and science. Developed by XJ Technologies Arena - simulation and automation software developed by Rockwell Automation Auto. CAST - Metal casting design and simulation software developed by Advanced Reasoning Technologies Chemical Work. Bench - Chemical kinetics simulation software tool developed by Kintech Lab Circuit. Logix - Electronics simulation software developed by Logic Design Inc. COMSOL Multiphysics - (formerly FEMLAB) is a finite element analysis, solver and Simulation software / FEA Software package for various physics and engineering applications, especially coupled phenomena, or multi-physics. DX Studio - Suite of tools for simulation and visualization. Gold. Sim - Combines system dynamics with aspects of discrete event simulation, embedded in a Monte Carlo framework. Ecolego - A simulation software tool for creating dynamic models and performing deterministic and probabilistic simulations. Enterprise Dynamics - A simulation software platform developed by INCONTROL Simulation Solutions. Features include drag-and-drop modeling and instant 2 D and 3 D Animation. Extend. Sim - Simulation software for discrete event, continuous, discrete rate and agent-based simulation Flexsim is a discrete event simulation software which includes the basic Flex. Sim simulation software and three product lines: Flex. Sim distributed simulation system (Flex. Sim DS), Flex. Sim container terminal library (Flex. Sim CT) and Flex. Sim Healthcare Simulation (Flex. Sim HC) ACSL and acsl. X - Advanced Continuous Simulation Language Khimera - Chemical kinetics simulation software tool developed by Kintech Lab
Maple is a general-purpose computer algebra system developed and sold commercially by Waterloo Maple Inc. Maple. Sim - is a multi-domain modeling and simulation tool developed by Waterloo Maple Inc. Mathematica Wolfram System. Modeler – Modeling and simulation software based on the Modelica language NEi Nastran - Software for engineering simulation of stress, dynamics, and heat transfer in structures. Net. Sim - A popular network simulation software for education research NI Multisim Plant Simulation - Plant, line and process simulation and optimization software, developed by Siemens PLM Software. PRO/II - Steady state chemical process simulation and extensively used by oil and gas refineries. Project Team Builder - A Project Management simulator used for training and education. Robo. Logix - Robotics simulation software developed by Logic Design Inc. Ship Simulator - A vehicle simulation computer game by VSTEP which simulates maneuvering various ships in different environments. Simcad Pro - Dynamic Discrete and continuous simulation software. Visual interface with no coding environment. Support 2 D and 3 D animation and value stream mapping. SIMUL 8 - Software for discrete event or process based simulation. Simulations Plus - Modeling and simulation software for pharmaceutical research Simulation. X - Modeling and simulation software based on the Modelica language. Vis. Sim - System simulation and optional C-code generation of electrical, process, control, bio-medical, mechanical and UML State Chart systems
PONUĐENA LITERATURA ZA IZRADU PROJEKATA Priručnik za modeliranje i simulaciju dinamičkih sistema – Dragan Antić, Elektronski fakultet u Nišu Praktikum za modeliranje i simulaciju dinamičkih sistema – Marko Milojković, Dragan Antić, Saša Nikolić, 2018 Linear Control Systems – Florin Stratulat, Florin Ionescu, Steinbeis Edition, 2009
- Slides: 25