Cuprins
I. Introducere .3
II. Noțiunile de bază din toolbox ul Statistics Toolbox ...4
III. Introducere în MATLAB Builder JA .5
III.1. Conceptele Builder ului Java ..6
III.1.1. Ce este un proiect ...6
III.1.2. MATLAB Builder JA pentru manipularea datelor în Java 7
III.1.3. Înțelegerea signaturii funcției generată de Builder ul Java .7
III.1.4. Înțelegerea signaturilor functiiilor MATLAB 8
III.1.5. Supraîncărcarea metodelor în Java care încapsulează cod MATLAB...8
III.1.6. Returnarea datelor din MATLAB către Java .8
III.1.7. Procesul de build din MATLAB 9
III.1.8. Procesul de package din MATLAB .13
III.1.9. Produsele MATLAB Compiler și MATLAB Builder JA 13
III.1.10. Functionarea componentei implementate ...14
IV. MATLAB Compiler Runtime (MCR) ..14
V. Generarea fișierului .jar din MATLAB Builder JA, pas cu pas ...14
VI. Clasele corespunzătoare tipurilor de dată din MATLAB .20
VI.1. Clasa MWArray ..20
VI.2. Clasa MWNumericArray 21
VI.3. Clasa MWStructArray .24
VI.4. Clasa MWJavaObjectRef 25
VI.5. Clasa MWException ...25
VI.6. Clasa WebFigure .26
VII. Ciclul de viață a unei aplicații web MATLAB .26
VIII. Elemetele de bază a procesării Web în MATLAB ...27
VIII.1. Folosirea paginilor JSP pentru a integra codul MATLAB pe o pagină Web...28
IX. Implementarea finală a produsului și integrarea funcțiilor MATLAB în Java 28
IX.1. Rularea aplicației web .35
X. Concluzii ..39
XI. Bibliografie ..40
Extras din document
I. Introducere
În zilele noastre, tehnologia s-a dezvoltat foarte mult odată cu dezvoltarea de aplicații
în domeniile industriale și mai ales tranziția acestora din variante de aplicații desktop în
variante de aplicații web. Așa cum stie toată lumea, în ziua de azi sunt din ce în ce mai puțin
existente aplicațiile desktop în industrie, deoarece este nevoie ca sisteme desktop sau sisteme
notebook să aibe extrem de multe resurse pentru a rula o aplicație desktop ce o poate folosi o
companie implicată piața muncii într-un anumit domeniu.
Orice companie în orice domeniu ce este implicată în piața muncii, dorește din ce în
ce mai mult ca informațiile pe care vor să le acceseze să fie reținute într-un server web și nu a
mai stoca în alte dispozitive externe care nu fac altceva decât să crească riscul pierderii
datelor, pe cand un server web în care se pot stoca date de orice natură din orice domeniu și
acestea nu se vor pierde niciodată, mai mult decât atât, accesul datelor reținute pe un server
web care transmite datele într-o aplicație web, se poate face prin intermediul unui
administator, care ar consta într-un user de tip admin și o parolă.
Compania MathWorks Inc. pune la dispoziție pachetul de programe MATLAB, în
care sunt integrate numeroase toolbox-uri ce ajută la crearea unor aplicații web in diverse
domenii, cum ar fi: aerospațiu, aeronautică, apărare, electronică, conunicații, construcții de
mașini, farmaceutică, medicală, semiconductoare, robotică, producție de energie, procese
industriale, instrumentație, transporturi, știința pământurilor si oceanelor, industria
calculatoarelor, industria software și internet, industria serviciilor financiare, managementul
serviciilor economice și financiare, statistică, geografie, biologie, etc.[11]
Această lucrare dorește a vă demonstra că se pot folosi aplicații în domeniile sus
menționate, fără a avea instalat într-un device electronic, pachetul de programe MATLAB
care ne furnizează nouă rezultatele finale ale produsului dezvoltat. Pentru a implementa un
astfel de produs trebuie să știm că totul pleacă de la definirea unei funcții proprii în pachetul
de programe MATLAB, de către un programator care este specializat în limbajul de
programare MATLAB.
Trebuie știut de asemenea că toolbox-urile instalate în MATLAB sunt dezvoltate tot
de către definirea unor funcții proprii în limbajul de programare MATLAB, de către un
programator care este specializat în limbajul de programare sus menționat.
În această lucrare, vă vom prezenta modul de implementare a unei aplicații web în
domeniul statisticii, folosind limbajul de programare Java si facilitățile oferite toolbox-ul
Statistics Toolbox versiunea 9.1, ce este integrat în pachetul de programe MATLAB R2014b.
II. Noțiunile de bază din toolbox-ul Statistics Toolbox
Statistics Toolbox 9.1 pune la dispoziția utilizatorilor numeroase funcționalități din
domeniul statisticii, ce sunt implementate în pachetul de programe MATLAB, pentru
distribuții de probabilitate, cum ar fi:[10]
Pentru distribuții discrete , avem următoarele distribuții de probabilitate cu
urmatoarele funcții:
1. Distribuția binomială , cu funcțiile MATLAB disponibile: binocdf , binopdf ,
binornd , binostat , binofit , binoinv .
2. Distribuția geometrică , cu funcțiile MATLAB disponibile: geocdf , geopdf ,
geoinv , geornd , geostat .
3. Distribuția hipergeometrică , cu funcțiile MATLAB diponibile : hygecdf ,
hygepdf , hygeinv , hygestat , hygernd .
4. Distribuția Poisson , cu funcțiile MATLAB disponibile : poisscdf , poisspdf ,
poissinv , poisstat , poissfit , poissrnd .
5. Distribuția uniform discretă , cu funcțiile MATLAB disponibile: unidcdf ,
unidpdf , unidrnd , unidinv , unifstat .
Pentru distribuții continue , avem următoarele distribuții de probabilitate cu
următoarele funcții:
1. Distribuția Beta , cu funcțiile MATLAB disponibile: betacdf , betapdf ,
betastat , betarnd , betafit , betainv .
2. Distribuția chi-pătrat , cu funcțiile MATLAB disponibile: chi2pdf , chi2cdf ,
chi2inv , chi2stat , chi2rnd , chi2gof .
3. Distribuția exponentială , cu funcțiile MATLAB disponibile: expcdf , exppdf ,
exprnd , expstat , expfit , exprnd , explike .
4. Distribuția normală , cu funcțiile MATLAB disponibile: normcdf , normpdf ,
normstat , norminv , normrnd , normfit .
5. Distribuția uniform continuă , cu funcțiile MATLAB disponibile: unifcdf ,
unifpdf , unifrnd , unifstat , unifinv , unifit .
6. Distribuția Weibull , cu funcțiile MATLAB disponibile: wblcdf , wblpdf ,
wblinv , wblstat , wblrnd , wblfit .
Pentru fiecare distribuție, funcțiile MATLAB care se termină în prefixul pdf , acestea
sunt folosite pentru a determina densitatea de probabilitate a distribuțiilor sus menționate,
funcțiile MATLAB care se termină în prefixul cdf , acestea sunt folosite pentru a determina
funcț ia de repartiț ie , iar cele care se termină cu prefixul stat , acestea sunt folosite pentru a
determina media și dispersia pentru fiecare distribuție în parte. Celelalte funcții de la fiecare
distribuție de probabilitate, fie continuă, fie discretă se folosesc în alte aplicații care pot fi
utile in industria domeniului de statistică.[9]
Exemple de aplicații în domeniul statisticii pot fi următoarele:
- generarea de fluxuri de evenimente (fluxuri Bernulli, fluxuri Poisson).
- generarea de procese stohastice (lanțuri Markov continue si omogene, lanțuri
Markov discrete si omogene, analiza tranzițiilor de stare a unui lanț Markov,
analiza regimului staționar unui lanț Markov).
În cadrul acestei lucrări am folosit toate funcțiile care determină densitatea de
probabilitate, funcția de repartiție, media și dispersia unei variabile aleatoare de la fiecare
distribuție în parte și funcțiile pentru fiecare distribuție care generează un vector de numere
aleatoare (cu terminația rnd).
Bibliografie
1. The MathWorks, Inc., 2006, MATLAB Builder for Java User’s Guide
2. The MathWorks, Inc., 2014, MATLAB Application Deployment Web Example
Guide
3. The MathWorks, Inc., 2015, MATLAB Compiler SDK Web Example Guide
4. The MathWorks, Inc., 2008, MWStructArray,
http://wind.isi.edu/marbles/assets/components/workflow_portal/users/lib/CombinedC
NV/MCR/v79/help/toolbox/javabuilder/MWArrayAPI/com/mathworks/toolbox/javab
uilder/MWStructArray.html
5. The MathWorks, Inc., 2008, MWNumericArray,
http://wind.isi.edu/marbles/assets/components/workflow_portal/users/lib/CombinedC
NV/MCR/v79/help/toolbox/javabuilder/MWArrayAPI/com/mathworks/toolbox/javab
uilder/tMWNumericArray.html
6. The MathWorks, Inc., 2008, MWArray,
http://wind.isi.edu/marbles/assets/components/workflow_portal/users/lib/CombinedC
NV/MCR/v79/help/toolbox/javabuilder/MWArrayAPI/com/mathworks/toolbox/javab
uilder/MWArray.html
7. The MathWorks, Inc., 2008, MWJavaObjectRef,
http://wind.isi.edu/marbles/assets/components/workflow_portal/users/lib/CombinedC
NV/MCR/v79/help/toolbox/javabuilder/MWArrayAPI/com/mathworks/toolbox/javab
uilder/MWJavaObjectRef.html
8. The MathWorks, Inc., 2008, WebFigure,
http://wind.isi.edu/marbles/assets/components/workflow_portal/users/lib/CombinedC
NV/MCR/v79/help/toolbox/javabuilder/MWArrayAPI/com/mathworks/toolbox/javab
uilder/webfigures/WebFigure.html
9. The MathWorks, Inc., 2008, MWException,
http://wind.isi.edu/marbles/assets/components/workflow_portal/users/lib/CombinedC
NV/MCR/v79/help/toolbox/javabuilder/MWArrayAPI/com/mathworks/toolbox/javab
uilder/MWException.html
10. The MathWorks, Inc., 2015, Statistics and Machine Learning Toolbox
Documentation, http://www.mathworks.com/help/stats/functionlist.html
11. The MathWorks, Inc., 2015, MathWorks Solutions,
http://www.mathworks.com/solutions/?s_tid=gn_sol
Preview document
Conținut arhivă zip
- Crearea unui website cu aplicatii numerice utilizand platforma Java 2015.pdf