matlab web portal
TRANSCRIPT
![Page 1: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/1.jpg)
Realizacija e-learning softvera za sisteme automatskog upravljanja
primenom web tehnologija
kandidat: Aleksandar Pavić
Diplomski – bachelor
![Page 2: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/2.jpg)
U prezentaciji se govori o: Implementaciji MATLAB web portala na LAMP
platformi Virtuelizaciji MATLAB web portala Mogućnostima upotrebe i unapređenja Tehničkim detaljima oko funkcionalnosti Primerima upotrebe Interaktivnom primeru “kontrola nivoa
tečnosti u rezervoaru uz pomoć PID kontrolera”
Izradi interaktivnog primera
![Page 3: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/3.jpg)
Polazne pretpostavke
Student
Pregled primera
Interakcija saMATLAB-om
Rešavanje zadataka
Izvršavanjeproizvoljnog MATLAB koda
![Page 4: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/4.jpg)
Arhitektura servera
Apache web server PHP
Bash shell
Database
Matlab
Procesiranje upita
Generisanje rešenja
![Page 5: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/5.jpg)
Multitasking/load-balancing/virtuelizacija...
bash shell
Instanca Matlaba
Instanca Matlaba
Instanca Matlaba
PHP
APACHE
Student
Student
Predavač
PHP/Load balancing
Saradnik
Matlab cloud
![Page 6: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/6.jpg)
Prednost upotrebe virtuelne mašine za obrazovne struke Linux i sav softver na virtuelnoj mašini kao i
vmware su freeware Studentu se može dati kompletna virtuelna
mašina, da ponese kući Student može da u obrazovne svrhe upropasti
kompletan kod na virtuelnoj mašini, ništa nije izgubljeno.
![Page 7: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/7.jpg)
Komunikacija korisnik-internet-matlabPočetak
Unos podataka
Kreiranje direktorijuma i m-
fajla
Kreiranje koda za poziv publish()
metode
Korisnik kuca MATLAB kod,odabire naziv datoteke i tip izlaznog rezultata
Sistem kreira direktorijum za zadatak i kreira .m datoteku sa kodom koji je korisnik uneo u prethodnom koraku
Kreira se kod sa publish metodom koji poziva datoteku i opciju izlaznog formata
Poziv exec funkcije sa
par. matbg i ulaznim .m
Poziva se php funkcija exec, sa parametrom matbg, koji je bash shell skripta za startovanje matlab-a iz komandne linije pod linuxom, sa ulaznim parametrom (publish datoteka iz prethodnog koraka), koji, kao pozadinski proces generiše rezultat izvršavanja matlab koda u naznačenom izlaznom formatu
Isporuka rezultata
KRAJ
Javascript/jQuery, ajax zahtev, koji proverava da li je datoteka sa rezultatom generisana
Izvršavanje završeno?
NE
DA
U speficiciranom izlaznom formatu, korisniku se prezentuje rezultat izvršavanja unešenog matlab koda
![Page 8: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/8.jpg)
Interakcija PHP-MATLABProgramski kod:
matlab -nodisplay -nodesktop -nosplash <$1 > $2 &
//upis MATLAB koda u datoteku$fp = fopen($userFolder.$filename.'/'.$filename.'.m', 'w');fwrite($fp, $mcode);fclose($fp);
//kreiranje publish datoteke$pub_code="publish('".$userFolder.$filename."/".$filename.".m','".$tipIzlaza."')";$fp = fopen($userFolder.$filename.'/publish_'.$filename.'.m', 'w');fwrite($fp, $pub_code);fclose($fp);
//podešavanje korisničkih pravaexec('chmod 0777 '.$userFolder.$filename.'/publish_'.$filename.'.m');exec('chown nobody '.$userFolder.$filename.'/publish_'.$filename.'.m');chdir($id);
//poziv MATLAB middleware bash skripte sa parametrom ka publish datoteciexec('matbg '.$userFolder.$filename.'/publish_'.$filename.'.m'.' out.txt');
![Page 9: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/9.jpg)
Editor MATLAB koda
Matlab editor EditArea
![Page 10: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/10.jpg)
Izgled portala u internet pregledniku:
![Page 11: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/11.jpg)
Prikaz greške u kodu i web formatiranja:
Programski kod:
%% Matrica A [3x3]A=[3 2 5;4 3 0;7 1 12];%% Matrica B [3x1]b=[9 -2 29]';%% Racunanje vektora XX=A\b
![Page 12: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/12.jpg)
Interaktivni primer kontrole punjenja rezervoara sa PID regulatorom
![Page 13: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/13.jpg)
Princip funkcionisanja interaktivne simulacije
SIMULACIJAOBRADA REZULTATA
POZIV MATLABAOBRADA PODATAKAINTERAKCIJA SA
KORISNIKOM
![Page 14: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/14.jpg)
Model rezervoara
h
bV
a h
A
Promenljiva Tip Opis h varijabla Visina tečnosti u rezervoaru – regulisana varijabla A parametar Površina dna rezervoara b konstanta Ulaz vode u rezervoar a konstanta Izlaz vode iz rezervoara V varijabla Voltaža pumpe ili ventila na ulazu – manipulativna varijabla
![Page 15: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/15.jpg)
Blok-šema simulink modela
sys='rezervoar';load_system(sys);set_param('rezervoar/PID Kontroler', 'P', '0.283');set_param('rezervoar/PID Kontroler', 'I', '0.20');set_param('rezervoar/PID Kontroler', 'D', '-1.4996');sim(sys);save('scope.txt','ScopeData','-ascii');
![Page 16: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/16.jpg)
Prikaz gotovog primera...
![Page 17: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/17.jpg)
Mogućnosti unapređenja primera
Keširanje već simuliranih parametara Rad bez MATLAB-a (pripremljen skup
podataka) Mogućnost izmene tipa kontrolera
![Page 18: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/18.jpg)
Način na koji je projekat realizovan Oko 40 commit revizija koda i rada Na 3 računara + virtuelna mašina bez
problema oko verzioniranja XP-dev.com Tortoise SVN i svn konzolni klijent
![Page 19: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/19.jpg)
U prezentaciji je bilo reči o: Implementacija MATLAB web portala na LAMP
platformi Mogućnosti hostinga/virtuelizacije rešenja Mogućnostima upotrebe i unapređenja Tehničkim detaljima oko funkcionalnosti Primerima MATLAB koda izvršenim putem
portala Interaktivnom primeru “kontrola nivoa
tečnosti u rezervoaru uz pomoć PID kontrolera”
Izradi interaktivnog primera
![Page 20: Matlab web portal](https://reader031.vdocuments.mx/reader031/viewer/2022021507/58724bf51a28ab852f8b5dd1/html5/thumbnails/20.jpg)
Kraj!