Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Vijesti
  • Matlab programski jezik. Osnovne matrične operacije

Matlab programski jezik. Osnovne matrične operacije

MATLAB je tehnički računalni jezik visoke razine, interaktivno okruženje za razvoj algoritama i moderan alat za analizu podataka.
MATLAB, u usporedbi s tradicionalnim programskim jezicima (C/C++, Java, Pascal, FORTRAN), omogućuje smanjenje vremena potrebnog za rješavanje tipičnih problema za red veličine i značajno pojednostavljuje razvoj novih algoritama.
MATLAB je temelj cijele MathWorks obitelji proizvoda i primarni je alat za rješavanje širokog spektra znanstvenih i primijenjenih problema u područjima kao što su: dizajn objekata i upravljačkih sustava, komunikacijski sustavi, obrada signala i slike, mjerenje i testiranje signala, financijsko modeliranje i računalna biologija itd.
MATLAB kernel čini rad s matricama stvarnih, složenih i analitičkih tipova podataka, kao i sa strukturama podataka i tablicama pretraživanja, što je moguće lakšim. MATLAB sadrži ugrađene funkcije za linearnu algebru (LAPACK, BLAS), brzu Fourierovu transformaciju (FFTW), funkcije za rad s polinomima, osnovne statistike i numeričke funkcije rješenja diferencijalne jednadžbe; proširena matematičke knjižnice za Intel MKL. Sve ugrađene funkcije MATLAB kernela dizajnirali su i optimizirali stručnjaci i rade brže ili jednako brzo kao njihov C/C++ ekvivalent.

Opis jezika

Jezik MATLAB je programski jezik visoke razine koji uključuje podatkovne strukture temeljene na matricama, širok raspon funkcija, integrirano razvojno okruženje, objektno orijentirane mogućnosti i sučelja za programe napisane na drugim programskim jezicima.

Programi napisani u MATLAB-u su dvije vrste - funkcije i skripte. Funkcije imaju ulazne i izlazne argumente, kao i vlastiti radni prostor za pohranjivanje međurezultata izračuna i varijabli. Skripte koriste zajednički radni prostor. I skripte i funkcije ne tumače se u strojni kod i spremaju se kao tekstualne datoteke. Također je moguće spremiti takozvane unaprijed raščlanjene programe - funkcije i skripte obrađene u oblik pogodan za strojno izvršavanje. Općenito, takvi programi rade brže od običnih.

Glavna značajka jezika MATLAB njegove su široke mogućnosti rada s matricama, što su tvorci jezika izrazili sloganom Think vectorized.

Matematika i proračuni

MATLAB pruža korisniku veliki broj(nekoliko stotina) funkcija za analizu podataka, pokrivajući gotovo sva područja matematike, posebice:
Matrice i linearna algebra - matrična algebra, linearne jednadžbe, svojstvene vrijednosti i vektori, singulariteti, faktorizacija matrica i drugo.
Polinomi i interpolacija - korijeni polinoma, operacije nad polinomima i njihovo diferenciranje, interpolacija i ekstrapolacija krivulja i drugo.
Matematička statistika i analiza podataka - statističke funkcije, statistička regresija, digitalno filtriranje, brza Fourierova transformacija i drugo.
Obrada podataka - skup posebnih funkcija, uključujući iscrtavanje, optimizaciju, pretraživanje nule, numeričku integraciju (u kvadraturama) i druge.
Diferencijalne jednadžbe - rješavanje diferencijalnih i diferencijalno-algebarskih jednadžbi, diferencijalnih jednadžbi s kašnjenjem, ograničenih jednadžbi, parcijalnih diferencijalnih jednadžbi i dr.
Rijetke matrice su posebna klasa podataka paketa MATLAB koja se koristi u specijaliziranim aplikacijama.
Cjelobrojna aritmetika - izvođenje cjelobrojnih aritmetičkih operacija u MATLAB-u.


Razvoj algoritma

MATLAB pruža prikladne alate za razvoj algoritama, uključujući i one visoke razine, korištenjem koncepta objektno orijentiranog programiranja. Ima sve potrebne alate za integrirano razvojno okruženje, uključujući debugger i profiler. Funkcije za rad s cijelim tipovima podataka olakšavaju stvaranje algoritama za mikrokontrolere i druge aplikacije gdje je to potrebno.


Vizualizacija podataka

Paket MATLAB ima veliki broj funkcija za konstruiranje grafikona, uključujući trodimenzionalne, vizualna analiza podataka i stvaranje animiranih videa.

Ugrađeno razvojno okruženje omogućuje vam stvaranje grafičkih korisničkih sučelja s različitim kontrolama kao što su gumbi, polja za unos i drugo. Pomoću komponente MATLAB Compiler ova se grafička sučelja mogu pretvoriti u samostalne aplikacije.


Vanjska sučelja

MATLAB paket uključuje razna sučelja za dobivanje pristupa vanjskim rutinama napisanim u drugim programskim jezicima, podacima, klijentima i poslužiteljima koji komuniciraju kroz tehnologije Component Object Model ili Dynamic Data Exchange, kao i periferni uređaji, koji izravno komuniciraju s MATLAB-om. Mnoge od ovih mogućnosti poznate su kao MATLAB API.


COM

MATLAB omogućuje pristup funkcijama koje vam omogućuju stvaranje, manipuliranje i brisanje COM objekata (i klijenata i poslužitelja). Podržana je i ActiveX tehnologija. Svi COM objekti pripadaju posebnoj COM klasi paketa MATLAB. Svi programi koji imaju funkcije kontrolera automatizacije mogu pristupiti MATLAB-u kao poslužitelju automatizacije.


DDE

MATLAB sadrži funkcije koje mu omogućuju pristup drugim Windows aplikacijama i dopuštaju tim aplikacijama pristup MATLAB podaci, putem tehnologije dinamičke razmjene podataka (DDE). Svaka aplikacija koja može biti DDE poslužitelj ima svoje jedinstveno identifikacijsko ime. Za MATLAB ovo ime je Matlab.


Web usluge

U MATLAB-u je moguće pozivati ​​metode web servisa. Posebna funkcija stvara klasu na temelju metoda API-ja web servisa.

Matlab komunicira s klijentom web servisa prihvaćajući poruke od njega, obrađujući ih i šaljući odgovor. Podržane su sljedeće tehnologije: Simple Object Access Protocol (SOAP) i Web Services Description Language (WSDL).


COM priključak

Sučelje serijskog porta MATLAB omogućuje izravan pristup perifernim uređajima kao što su modemi, pisači i znanstvena oprema spojena na računalo putem serijski priključak(COM port). Sučelje radi stvaranjem posebnog objekta klase za serijski port. Dostupne metode ove klase omogućuju vam čitanje i pisanje podataka na serijski port, korištenje događaja i rukovatelja događajima te pisanje informacija na disk računala u stvarnom vremenu. Ovo je neophodno pri provođenju eksperimenata, simulaciji sustava u stvarnom vremenu i za druge primjene.


MEX datoteke

Paket MATLAB uključuje sučelje za interakciju s vanjskim aplikacijama napisanim u C-u i Fortran-u. Ova interakcija se provodi putem MEX datoteka. Moguće je pozivati ​​rutine napisane u C-u ili Fortran-u iz MATLAB-a kao da su ugrađene funkcije paketa. MEX datoteke su dinamičke biblioteke veza koje se mogu učitati i izvršiti pomoću tumača ugrađenog u MATLAB.


DLL

MATLAB generičko DLL sučelje omogućuje pozivanje funkcija koje se nalaze u uobičajenim bibliotekama dinamičkih veza izravno iz MATLAB-a. Ove funkcije moraju imati C sučelje.

Uz to, MATLAB ima mogućnost pristupa svojim ugrađenim funkcijama putem C sučelja, što vam omogućuje korištenje funkcija paketa u vanjskim aplikacijama napisanim u C-u. Ova tehnologija u MATLAB-u naziva se C Engine.


Setovi alata

Za MATLAB je moguće izraditi posebne alatne kutije koje proširuju njegovu funkcionalnost. Alatne kutije su zbirke funkcija napisanih u MATLAB-u za rješavanje određena klasa zadaci. Mathworks nudi alate koji se koriste u mnogim područjima, uključujući sljedeće:
Digitalni signal, slika i obrada podataka: DSP Toolbox, Slika Kutija s alatima za obradu, Wavelet Toolbox, Communication Toolbox, Filter Design Toolbox - skupovi funkcija koje vam omogućuju rješavanje širokog spektra problema obrade signala, slika, dizajna digitalnih filtara i komunikacijskih sustava.
Kontrolni sustavi: Control Systems Toolbox, µ-Analysis and Synthesis Toolbox, Robust Control Toolbox, System Identification Toolbox, LMI Control Toolbox, Model Predictive Control Toolbox, Model-Based Calibration Toolbox - skupovi funkcija koje olakšavaju analizu i sintezu dinamičkih sustava, dizajn, modeliranje i identifikacija sustava upravljanja, uključujući suvremene algoritme upravljanja kao što su robusno upravljanje, H∞-upravljanje, LMN sinteza, µ-sinteza i drugi.
Financijska analiza: GARCH Toolbox, Fixed-Income Toolbox, Financial Time Series Toolbox, Financial Derivatives Toolbox, Financial Derivatives Toolbox, Datafeed Toolbox - skupovi funkcija koje vam omogućuju brzo i učinkovito prikupljanje, obradu i prijenos različitih financijskih informacija.
Analiza i sinteza geografskih karata, uključujući trodimenzionalne: Mapping Toolbox.
Prikupljanje i analiza eksperimentalnih podataka: Data Acquisition Toolbox, Image Acquisition Toolbox, Instrument Control Toolbox, Link for Code Composer Studio - skupovi funkcija koje vam omogućuju spremanje i obradu podataka dobivenih tijekom eksperimenata, uključujući i u stvarnom vremenu. Podržan je širok raspon znanstvene i inženjerske mjerne opreme.
Vizualizacija i prezentacija podataka: Virtual Reality Toolbox - omogućuje stvaranje interaktivnih svjetova i vizualizaciju znanstvenih informacija korištenjem tehnologija virtualne stvarnosti i VRML jezika.
Razvojni alati: MATLAB Builder za COM, MATLAB Builder za Excel, MATLAB Compiler, Filter Design HDL Coder - skupovi funkcija koji vam omogućuju stvaranje neovisnih aplikacija iz MATLAB okruženja.
Interakcija s vanjskim softverskim proizvodima: MATLAB Report Generator, Excel Link, Database Toolbox, MATLAB Web Server, Link for ModelSim - skupovi funkcija koje vam omogućuju spremanje podataka u različitim vrstama kako bi drugi programi mogli raditi s njima.
Baze podataka: Database Toolbox - alati za rad s bazama podataka.
Paketi za znanost i matematiku: Bioinformatics Toolbox, Curve Fitting Toolbox, Fixed-Point Toolbox, Fuzzy Logic Toolbox, Alatni okvir za genetski algoritam i izravno pretraživanje, OPC alatni okvir, optimizacijski alatni okvir, alatni okvir za parcijalne diferencijalne jednadžbe, alatni okvir za spline, alatni okvir za statistiku, RF alatni okvir - skupovi specijaliziranih matematičke funkcije, omogućujući rješavanje širokog spektra znanstvenih i inženjerskih problema, uključujući razvoj genetski algoritmi, rješavanje parcijalnih diferencijalnih problema, cjelobrojnih problema, optimizacija sustava i dr.
Neuronske mreže: Neural Network Toolbox - alati za sintezu i analizu neuronskih mreža.
Simbolički izračuni: Symbolic Math Toolbox - alati za simboličke izračune s mogućnošću interakcije sa simboličkim programom Maple.

Uz gore navedeno, postoje tisuće drugih MATLAB alata koje su napisale druge tvrtke i entuzijasti.

Pozdrav, dragi čitatelji! U našem članku o osnovama MatLab programiranja upoznat ćemo se sa sintaksom ovog jezika koji ćemo koristiti uglavnom za matematičke izračune.

MATLAB je interaktivni sustav u kojem je glavni podatkovni element niz. To vam omogućuje da odlučite razne zadatke, koji uključuju tehničke izračune, posebno one koji uključuju vektore i matrice, nekoliko su puta brži od pisanja programa korištenjem drugih programskih jezika.

Varijable u MATLAB-u:

Postoji nekoliko vrsta varijabli, a evo najosnovnijih:

  • logično(točno – 1, netočno – 0)
  • char– niz znakova
  • numerički– nizovi brojeva s pomičnim zarezom
  • int: int8 (niz 8-bitnih cijelih brojeva s predznakom, 1 bajt po broju), također int16, int32, int64
  • singl– niz brojeva s pomičnim zarezom jednostruke preciznosti (4 bajta po broju)
  • dvostruko– niz brojeva s pomičnim zarezom dvostruke preciznosti (16 znakova)
  • struktura– strukturirani niz polja za pohranu podataka s imenima

Naziv varijable:
duljina - do 63 znaka;
ne smiju odgovarati nazivima funkcija i procedura;
mora započeti slovom;
može sadržavati slova, brojke, podvlake;
Postoje velika i mala slova.

Postavljanje varijable je vrlo jednostavno:

Još jedan primjer:

>> a=2;b=4;a+b ans = 6

Kao što vidite, sam Matlab prikazuje rezultat operacije s 2 varijable.

Nizovi:

Krenimo od zadatka jednodimenzionalni nizovi:

Naredba retka za naredbe: x= ili x=
Vježbajte pojedinačni elementi: x(3) = 3
Duljina niza može se pronaći naredbom: duljina (x)

Prijeđimo na dvodimenzionalan nizovi:

Naredba naredbenog retka: x =

ans = 1 2 3 4 5 6 7 8

Određivanje pojedinačnih elemenata: x(2,3) = 7
Pristup zasebnom p-tom retku niza: y = [p,:]
Pristup k-tom stupcu niza: y = [:,k]
Naredba B=A(:,:) pristupa svim elementima matrice, tj. stvara kopiju matrice A.

Također biste trebali znati o standardnim matricama:

  • nule(n,m) — matrica nula veličine nxm
  • ones(n,m) – matrica jedinica veličine nxm
  • rand(n,m) – matrica slučajnih brojeva veličine nxm
  • eye(n,m) – matrica jedinica na glavnoj dijagonali veličine nxm

Operateri:

Operatere treba znati, jer bez njih je nemoguće sve savladati osnove programiranja u MATLAB-u.

  • Aritmetički operatori (aritmetički izrazi, izračuni)
  • Relacijski operatori (usporedba argumenata)
  • Logički operatori (logički izrazi)

Razine prioriteta aritmetičkog operatora:

  1. Transponiranje po elementima (.’), potenciranje po elementima (.*), matrična konjugacija (‘), potenciranje po elementima (^)
  2. Unarni plus (+) i unarni minus (-)
  3. Elementno množenje nizova (.*), desno dijeljenje nizova (./) i lijevo dijeljenje (.\), matrično množenje (*), rješavanje sustava linearnih jednadžbi, operacije (/) i (\)
  4. Zbrajanje (+) i oduzimanje nizova (-)
  5. Operater (:)

Unutar svake razine, operatori imaju jednak prioritet i ocjenjuju se redom s lijeva na desno. Redoslijed izračuna se može promijeniti pomoću zagrada.

Relacijski operatori:

  • > - više - funkcija gt().
  • >= - veće ili jednako - funkcija ge().
  • == - jednako - funkcija npr.()
  • ~= - nije jednako - funkcija ne().

Prioritet im je niži od aritmetičkih, ali viši od logičkih operatora.

Logički operatori:

  • & - niz: 1 - za svaku lokaciju u kojoj su oba elementa istinita (različita od nule) i 0 - za sve ostale elemente; and() funkcija
  • | - niz: 1 - za svaku lokaciju u kojoj je barem jedan element istinit (različit od nule) i 0 - za sve ostale elemente; or() funkcija
  • ~ - logička negacija za svaki element ulaznog niza, A; funkcija not().
  • xor - niz: 1 - za svaku lokaciju u kojoj je samo jedan element istinit (različit od nule) i 0 - za sve ostale elemente
A = ; B = ; A&B = 01001 A|B = 11101 ~A = 10010 xor(A,B)=10100

Jednostavni primjeri:

Određivanje matrice 3 puta 4 sa slučajnim brojevima:

>> rand (3,4) ans = 0,8147 0,9134 0,2785 0,9649 0,9058 0,6324 0,5469 0,1576 0,1270 0,0975 0,9575 0,9706 >> x = x = 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 >> detalj (x) ans = 0 >> x = X1 = 1 2 4 5 6 7 >> x = X2 = 1 2 4 5 6 7 >> x1*x2 ans = 11 14 18 29 38 51 41 54 73

Ovdje ćemo danas završiti. U sljedećim člancima ćemo se detaljno pozabaviti svim mogućnostima MATLAB-a. A vjerujte mi, te su prilike jako velike.
Ako imate pitanja, postavite ih u komentarima.

1. Lekcija 23. Uvod u MATLAB pakete proširenja

Lekcija #23.

Uvod u MATLAB pakete proširenja

    Navedite pakete proširenja

    Simulinc za Windows

    Paket simboličke matematike

    Matematički paketi

    Paketi za analizu i sintezu sustava upravljanja

    Paketi za identifikaciju sustava

    Dodatni Simulinc alati

    Paketi za obradu signala i slike

    Ostali paketi aplikacija

U ovoj lekciji ukratko ćemo se upoznati s glavnim načinom profesionalnog proširenja sustava i njegove prilagodbe za rješavanje određenih klasa matematičkih, znanstvenih i tehničkih problema - s paketima proširenja za sustav MATLAB. Nema sumnje da bi barem dio ovih paketa trebao biti posvećen zasebnom tečaju ili priručniku, možda i više od jednog. O većini ovih proširenja u inozemstvu su izdane zasebne knjige, a obujam dokumentacije o njima broji se stotinama megabajta. Nažalost, opseg ove knjige dopušta samo kratku šetnju kroz pakete proširenja kako bi se čitatelju dala ideja o smjerovima u kojima se sustav razvija.

2. Popis paketa proširenja

Navedite pakete proširenja

Kompletan sastav MATLAB 6.0 sustava sadrži niz komponenti, čiji se naziv, broj verzije i datum stvaranja mogu prikazati naredbom ver:

MATLAB verzija 6.0.0.88 (R12) na PCWIN MATLAB broj licence: 0

MATLAB Toolbox

Verzija 6.0

06-0ct-2000

Verzija 4.0

Verzija 4.0

04-0ct-2000

Kodiranje tijeka stanja

Verzija 4.0

04-0ct-2000

Radionica u stvarnom vremenu

Verzija 4.0

COMA referentni skup blokova

Verzija 1.0.2

Komunikacijski blokovi

Verzija 2.0

Communications Toolbox

Verzija 2.0

Control System Toolbox

Verzija 5.0

DSP blok skup

Verzija 4.0

Alatna kutija za prikupljanje podataka

Verzija 2.0

05-0ct-2000

Alat za bazu podataka

Verzija 2.1

Datafeed Toolbox

Verzija 1.2

Set brojčanika i mjerača

Verzija 1.1

Alat za dizajn filtera

Verzija 2.0

Alat za financijske derivate

Verzija 1.0

Alat za financijske vremenske serije

Verzija 1.0

Financijski alatni okvir

Verzija 2.1.2

Skup blokova s ​​fiksnom točkom

Verzija 3.0

Alat za neizrazitu logiku

Verzija 2.1

GARCH Toolbox

Verzija 1.0

Alat za obradu slika

Verzija 2.2.2

Instrument Control Toolbox

Verzija 1.0

LMI Control Toolbox

Verzija 1.0.6

MATLAB prevodilac

Verzija 2.1

MATLAB generator izvješća

Verzija 1.1

Kutija s alatima za mapiranje

Verzija 1.2


Verzija 1.0.5

Motorola DSP Developer's Kit

Verzija 1.1

Od rujna 2000

Mi-Analysis and Synthesis Toolbox

Verzija 3.0.5

Alat za neuronske mreže

Verzija 4.0

Skup blokova dizajna nelinearne kontrole

Verzija 1.1.4

Alat za optimizaciju

Verzija 2.1

Alat za parcijalne diferencijalne jednadžbe

Verzija 1.0.3

Blockset sustava napajanja

Verzija 2.1

Real-Time Workshop Ada Coder

Verzija 4.0

Radionica ugrađenog kodera u stvarnom vremenu

Verzija 1.0

Sučelje za upravljanje zahtjevima

Verzija 1.0.1

Robust Control Toolbox

Verzija 2.0.7

SB2SL (pretvara SystemBuild u Simu

Verzija 2.1

Alat za obradu signala

Verzija 5.0

Simulink akcelerator

Verzija 1.0

Razlikovanje modela za Simulink i...

Verzija 1.0

Alat za pokrivanje modela Simulink

Verzija 1.0

Simulink Generator izvješća

Verzija 1.1

Spline Toolbox

Verzija 3.0

Alatna kutija za statistiku

Verzija 3.0

Alat za simboličku matematiku

Verzija 2.1.2


Verzija 5.0

Wavelet Toolbox

Verzija 2.0

Verzija 1.1

xPC Target ugrađena opcija

Verzija 1.1

Imajte na umu da su gotovo svi paketi proširenja u MATLAB-u 6.0 ažurirani i datiraju iz 2000. godine. Zamjetno je proširen njihov opis, koji u PDF formatu zauzima već više od deset tisuća stranica. Dolje je kratak opis glavnih paketa proširenja

3. Simulink za Windows

Simulink za Windows

Paket proširenja Simulink koristi se za simulacijsko modeliranje modela koji se sastoje od grafičkih blokova sa zadanim svojstvima (parametrima). Sa druge strane, komponente modela su grafički blokovi i modeli koji se nalaze u nizu biblioteka i mogu se prenijeti u glavni prozor pomoću miša i međusobno povezati potrebnim vezama. Modeli mogu uključivati ​​izvore signala različitih vrsta, virtualne instrumente za snimanje, grafički alati animacija. Dvostruki klik na blok modela prikazuje prozor s popisom njegovih parametara koje korisnik može promijeniti. Pokretanje simulacije pruža matematičko modeliranje konstruiranog modela s vizualnim prikazom vizualni prikaz rezultate. Paket se temelji na konstrukciji blok dijagrama prijenosom blokova iz biblioteke komponenti u prozor za uređivanje modela koji kreira korisnik. Zatim se model pokreće. Na sl. Na slici 23.1 prikazan je proces modeliranja jednostavnog sustava – hidrauličkog cilindra. Praćenje se provodi pomoću virtualnih osciloskopa - na sl. Slika 23.1 prikazuje zaslone dva takva osciloskopa i prozor jednostavnog podsustava modela. Moguće je modelirati složene sustave koji se sastoje od mnogo podsustava.

Simulink sastavlja i rješava jednadžbe stanja modela i omogućuje povezivanje raznih virtualnih mjerni instrumenti. Jasnoća prezentacije rezultata simulacije je zapanjujuća. Brojni primjeri korištenja paketa Simulink već su navedeni u lekciji 4. Prethodna verzija paketa je dovoljno detaljno opisana u knjigama. Glavna inovacija je obrada matričnih signala. Dodani zasebni Simulink paketi performansi, kao što je Simulink Accelerator za sastavljanje koda modela, Simulink profiler za analizu koda itd.

Riža. 23.1. Primjer modeliranja sustava hidrauličkog cilindra pomoću Simulink ekstenzije

1.gif

Slika:

1b.gif

Slika:

4. Real Time Windows Target and Workshop

Real Time Windows Target and Workshop

Snažan simulacijski podsustav u stvarnom vremenu povezan sa Simulinkom (s dodatnim hardverom u obliku kartica za proširenje računala), predstavljen paketima proširenja Real Time Windows Target i Workshop, moćan je alat za upravljanje stvarnim objektima i sustavima. Osim toga, ova proširenja vam omogućuju stvaranje izvršnih kodova modela. Riža. Slika 4.21 u lekciji 4 prikazuje primjer takvog modeliranja za sustav opisan van der Polovim nelinearnim diferencijalnim jednadžbama. Prednost takvog modeliranja je njegova matematička i fizička jasnoća. U komponentama modela Simulink možete specificirati ne samo fiksne parametre, već i matematičke odnose koji opisuju ponašanje modela.

5. Generator izvješća za MATLAB i Simulink

Generator izvješća za MATLAB i Simulink

Generator izvješća, alat predstavljen u MATLAB-u 5.3.1, pruža informacije o radu sustava MATLAB i paketa proširenja Simulink. Ovaj je alat vrlo koristan pri otklanjanju pogrešaka složenih računalnih algoritama ili pri simulaciji složenih sustava. Generatori izvješća pokreću se naredbom Report. Izvješća se mogu prezentirati kao programi i uređivati.

Generatori izvješća mogu pokretati naredbe i programske fragmente uključene u izvješća i omogućiti vam praćenje ponašanja složenih izračuna.

6. Alat za neuronske mreže

Alat za neuronske mreže

Paket aplikacijskih programa koji sadrži alate za konstruiranje neuronskih mreža na temelju ponašanja matematičkog analoga neurona. Paket pruža učinkovitu podršku za dizajn, obuku i simulaciju raznih dobro poznatih mrežnih paradigmi, od osnovnih modela perceptrona do najmodernijih asocijativnih i samoorganizirajućih mreža. Paket se može koristiti za istraživanje i primjenu neuronskih mreža na probleme kao što su obrada signala, nelinearna kontrola i financijsko modeliranje. Omogućena je mogućnost generiranja prijenosnog C koda pomoću Real Time Workshopa.

Paket uključuje više od 15 poznate vrste mreže i pravila učenja koja korisniku omogućuju odabir najprikladnije paradigme za određenu primjenu ili istraživački problem. Za svaku vrstu arhitekture i pravila učenja postoje funkcije za inicijalizaciju, obuku, prilagodbu, stvaranje i simulaciju, demonstraciju i primjer mrežne aplikacije.

Za nadzirane mreže možete odabrati prednju ili rekurentnu arhitekturu koristeći niz pravila učenja i tehnika dizajna kao što su perceptron, povratno širenje, Levenbergovo širenje unatrag, mreže radijalne baze i rekurentne mreže. Možete jednostavno promijeniti bilo koju arhitekturu, pravila učenja ili prijelazne funkcije, ili dodati nove - sve bez pisanja ijednog reda C ili FORTRAN-a. Primjer korištenja paketa za prepoznavanje slike slova dan je u lekciji 4. Detaljan opis prethodne verzije paketa može se pronaći u knjizi.

7. Alat za neizrazitu logiku

Alat za neizrazitu logiku

Aplikacijski paket Fuzzy Logic odnosi se na teoriju neizrazitih (fuzzy) skupova. Pruža podršku za moderne metode neizrazitog klasteriranja i prilagodljive neizrazite neuronske mreže. Grafički alati paketa omogućuju vam interaktivno praćenje ponašanja sustava.

Glavne karakteristike paketa:

  • definiranje varijabli, neizrazita pravila i funkcije pripadnosti;
  • interaktivno gledanje neizrazitog logičkog zaključivanja;
  • modernim metodama: adaptivno neizrazito zaključivanje korištenjem neuronskih mreža, neizrazito klasteriranje;
  • interaktivna dinamička simulacija u Simulinku;
  • generiranje prijenosnog C koda pomoću Real-Time Workshopa.

Ovaj primjer jasno pokazuje razlike u ponašanju modela kada se uzme u obzir neizrazita logika i bez takvog razmatranja.

8. Symbolic Math Toolbox

Alat za simboličku matematiku

Paket aplikacijskih programa koji sustavu MATLAB daju temeljno nove mogućnosti - mogućnost rješavanja problema u simboličkom (analitičkom) obliku, uključujući implementaciju točne aritmetike proizvoljne bitne dubine. Paket se temelji na korištenju simboličke matematičke jezgre jednog od najmoćnijih računalnih algebarskih sustava - Maple V R4. Pruža simboličku diferencijaciju i integraciju, izračun zbroja i umnoška, ​​širenje u Taylorov i Maclaurinov red, operacije s potencijskim polinomima (polinomima), izračun korijena polinoma, rješavanje nelinearnih jednadžbi u analitičkom obliku, sve vrste simboličkih transformacija, supstitucija i mnogo toga više. Ima naredbe za izravan pristup jezgri sustava Maple V.

Paket omogućuje pripremu procedura sa sintaksom sistemskog programskog jezika Maple V R4 i njihovu instalaciju u MATLAB sustav. Nažalost, u pogledu mogućnosti simboličke matematike, paket je puno inferioran u odnosu na specijalizirane sustave računalne algebre, kao što su najnovije verzije Maplea i Mathematice.

9. Matematički paketi

Matematički paketi

MATLAB uključuje mnoge pakete proširenja koji poboljšavaju matematičke mogućnosti sustava, povećavajući brzinu, učinkovitost i točnost izračuna.

10.NAG Foundation Toolbox

NAG Foundation Toolbox

Jedna od najmoćnijih biblioteka matematičkih funkcija koju je stvorila posebna skupina The Numerical Algorithms Group, Ltd. Paket sadrži stotine novih značajki. Nazivi funkcija i sintaksa za njihovo pozivanje posuđeni su iz poznate knjižnice NAG Foundation Library. Kao rezultat toga, iskusni korisnici NAG FORTRAN-a mogu lako raditi s NAG paketom u MATLAB-u. Knjižnica NAG Foundation pruža svoje funkcije u obliku objektnih kodova i odgovarajućih m-datoteka za njihovo pozivanje. Korisnik može jednostavno modificirati ove MEX datoteke na razini izvornog koda.

Paket nudi sljedeće značajke:

    korijeni polinoma i modificirana Laguerreova metoda;

    izračun zbroja niza: diskretna i Hermitsko-diskretna Fourierova transformacija;

    obične diferencijalne jednadžbe: metode Adams i Runge-Kutta;

    parcijalne diferencijalne jednadžbe;

    interpolacija;

    izračun svojstvene vrijednosti i vektori, singularni brojevi, podrška za kompleksne i realne matrice;

    aproksimacija krivulja i ploha: polinomi, kubni splineovi, Chebyshevljevi polinomi;

    minimizacija i maksimizacija funkcija: linearno i kvadratno programiranje, ekstremi funkcija više varijabli;

    dekompozicija matrice;

    rješavanje sustava linearnih jednadžbi;

    linearne jednadžbe (LAPACK);

    statistički izračuni, uključujući deskriptivnu statistiku i distribucije vjerojatnosti;

    korelacijske i regresijske analize: linearne, multivarijantne i generalizirane linearni modeli;

    višedimenzionalne metode: glavne komponente, ortogonalne rotacije;

    generiranje slučajnih brojeva: normalna razdioba, Poissonova, Weibullova i Koschijeva razdioba;

    neparametarska statistika: Friedman, Kruskal-Wallis, Mann-Whitney; O vremenskim serijama: jednovarijantnim i multivarijantnim;

    aproksimacije specijalnih funkcija: integralne eksponencijalne, gama-funkcije, Besselove i Hankelove funkcije.

Konačno, ovaj paket omogućuje korisniku stvaranje FORTRAN programa koji se dinamički povezuju s MATLAB-om.

11. Spline Toolbox

Aplikacijski paket za rad sa splajnovima. Podržava jednodimenzionalnu, dvodimenzionalnu i višedimenzionalnu spline interpolaciju i aproksimaciju. Pruža prezentaciju i prikaz složenih podataka i grafičke podrške.

Paket vam omogućuje izvođenje interpolacije, aproksimacije i transformacije splineova iz B-forme u komadni polinom, interpolaciju s kubičnim splineovima i izglađivanje, izvođenje operacija na splineovima: izračun derivacije, integrala i prikaza.

Paket Spline opremljen je programima za rad s B-splajnovima, opisanim u djelu “Praktični vodič kroz splajnove” Karla DeBoera, tvorca splajnova i autora Spline paketa. Značajke paketa, u kombinaciji s jezikom MATLAB i detaljnim korisničkim priručnikom, čine splineove lakima za razumijevanje i učinkovitu primjenu na različite probleme.

Paket uključuje programe za rad s dva najčešće korištena oblika spline reprezentacije: B-oblik i komadni polinomski oblik. B-forma je prikladna u fazi konstruiranja splajna, dok je komadno-polinomijalni oblik učinkovitiji tijekom stalnog rada sa splajnom. Paket uključuje funkcije za kreiranje, prikaz, interpolaciju, aproksimaciju i obradu splineova u B-obliku i kao segmente polinoma.

12. Alatna kutija za statistiku

Alatna kutija za statistiku

Paket statističkih aplikacija koji dramatično proširuje mogućnosti MATLAB sustava u provedbi statističkih izračuna i statističke obrade podataka. Sadrži vrlo reprezentativan skup alata za generiranje slučajnih brojeva, vektora, matrica i nizova s ​​različitim zakonima distribucije, kao i mnoge statističke funkcije. Treba napomenuti da su najčešće statističke funkcije uključene u jezgru MATLAB sustava (uključujući funkcije za generiranje slučajnih podataka s ravnomjernom i normalnom distribucijom). Glavne karakteristike paketa:

    opisne statistike;

    distribucije vjerojatnosti;

    procjena i aproksimacija parametara;

    testiranje hipoteze;

    višestruka regresija;

    interaktivna postupna regresija;

    Monte Carlo simulacija;

    aproksimacija na intervalima;

    statistička kontrola procesa;

    planiranje pokusa;

    modeliranje površine odziva;

    aproksimacija nelinearnog modela;

    analiza glavnih komponenti;

    statistički grafikoni;

    grafičko korisničko sučelje.

Paket uključuje 20 različitih distribucija vjerojatnosti, uključujući t (Studentovu), F i hi-kvadrat. Odabir parametara, grafički prikaz distribucija i metoda za izračun najboljih aproksimacija osigurani su za sve vrste distribucija. Postoje mnogi interaktivni alati za dinamičku vizualizaciju i analizu podataka. Postoje specijalizirana sučelja za modeliranje površine odziva, vizualizaciju distribucija, generiranje slučajnih brojeva i linija razine.

13. Alat za optimizaciju

Alat za optimizaciju

Paket primijenjenih problema - za rješavanje optimizacijskih problema i sustava nelinearnih jednadžbi. Podržava osnovne metode za optimizaciju funkcija niza varijabli:

    bezuvjetna optimizacija nelinearnih funkcija;

    metoda najmanjih kvadrata i nelinearna interpolacija;

    rješavanje nelinearnih jednadžbi;

    linearno programiranje;

    kvadratno programiranje;

    uvjetna minimizacija nelinearnih funkcija;

    minimaks metoda;

    višekriterijska optimizacija.

Razni primjeri pokazuju učinkovito korištenje funkcija paketa. Uz njihovu pomoć također možete usporediti kako se isti problem rješava različitim metodama.

14. Alat za parcijalne diferencijalne jednadžbe

Alat za parcijalne diferencijalne jednadžbe

Vrlo važan paket aplikacija koji sadrži mnoge funkcije za rješavanje sustava parcijalnih diferencijalnih jednadžbi. Pruža učinkovita sredstva za rješavanje takvih sustava jednadžbi, uključujući one krute. Paket koristi metodu konačnih elemenata. Naredbe i GUI paketa mogu se koristiti za matematičko modeliranje parcijalne diferencijalne jednadžbe primijenjene na širok raspon inženjerskih i znanstvenih primjena, uključujući probleme čvrstoće materijala, proračune elektromagnetskih uređaja, probleme prijenosa topline i mase i probleme difuzije. Glavne karakteristike paketa:

    punopravno grafičko sučelje za obradu parcijalnih diferencijalnih jednadžbi drugog reda;

    automatski i prilagodljivi odabir mreže;

    postavljanje rubnih uvjeta: Dirichlet, Neumann i mješoviti;

    fleksibilna formulacija problema korištenjem MATLAB sintakse;

    potpuno automatsko umrežavanje i odabir veličina konačnih elemenata;

    nelinearne i adaptivne sheme projektiranja;

    sposobnost vizualizacije polja različitih parametara i funkcija rješenja, demonstrirati prihvaćene particije i efekte animacije.

Paket intuitivno slijedi šest koraka rješavanja PDE metodom konačnih elemenata. Ovi koraci i odgovarajući načini paketa su sljedeći: definiranje geometrije (način crtanja), određivanje rubnih uvjeta (način graničnih uvjeta), odabir koeficijenata koji definiraju problem (PDE način), diskretizacija konačnih elemenata (način mreže), određivanje početni uvjeti i rješavanje jednadžbi (način rješenja), naknadna obrada rješenja (način grafikona).

15. Paketi za analizu i sintezu sustava upravljanja

Paketi za analizu i sintezu sustava upravljanja

Control System Toolbox

Paket Control System namijenjen je modeliranju, analizi i projektiranju sustava automatska kontrola- kontinuirano i diskretno. Paketne funkcije implementiraju tradicionalne metode prijenosnih funkcija i moderne metode prostora stanja. Frekvencijski i vremenski odziv, nultopolni dijagrami mogu se brzo izračunati i prikazati na ekranu. Paket uključuje:

    kompletan set alata za analizu MIMO (višestruki ulaz višestruki izlaz) sustava;

    vremenske karakteristike: funkcije prijenosa i prijelaza, odgovor na proizvoljni utjecaj;

    frekvencijske karakteristike: Bode, Nichols, Nyquist i dr. dijagrami;

    razvoj Povratne informacije;

    dizajn LQR/LQE kontrolera;

    karakteristike modela: upravljivost, uočljivost, spuštanje reda modela;

    podrška za sustave s odgodom.

Dodatne značajke izgradnje modela omogućuju vam da konstruirate složenije modele. Vremenski odziv može se izračunati za impulsni ulaz, jednostruki ulaz ili nasumični ulazni signal. Također postoje funkcije za analizu singularnih brojeva.

Interaktivno okruženje za usporedbu vremenskog i frekvencijskog odziva sustava pruža korisniku grafičke kontrole za simultani prikaz i prebacivanje između odgovora. Mogu se izračunati različite karakteristike odziva kao što su vrijeme pojačanja i vrijeme pojačanja.

Paket Control System sadrži alate za odabir parametara povratne sprege. Tradicionalne metode uključuju: analizu singularnih točaka, određivanje pojačanja i koeficijenata prigušenja. Od suvremenih metoda: linearno-kvadratno upravljanje itd. Paket Control System uključuje veliki broj algoritama za projektiranje i analizu sustava upravljanja. Osim toga, ima prilagodljivo okruženje i omogućuje vam stvaranje vlastitih m-datoteka.

16. Alat za dizajn nelinearnog upravljanja

Alat za dizajn nelinearnog upravljanja

Nonlinear Control Design (NCD) Blockset implementira metodu dinamičke optimizacije za dizajn upravljačkog sustava. Dizajniran za korištenje sa Simulinkom, ovaj alat automatski prilagođava parametre sustava na temelju korisnički definiranih vremenskih ograničenja.

Paket koristi povlačenje mišem za promjenu vremenskih ograničenja izravno na grafikonima, što vam omogućuje jednostavno postavljanje varijabli i specificiranje nedefiniranih parametara, pruža interaktivnu optimizaciju, implementira Monte Carlo simulaciju, podržava dizajn SISO (jedan ulaz - jedan izlaz) i MIMO kontrolu sustava , omogućuje modeliranje potiskivanja smetnji, praćenja i drugih vrsta odgovora, podržava probleme ponavljajućih parametara i probleme upravljanja sustavima s kašnjenjem te omogućuje izbor između zadovoljenih i nedostižnih ograničenja.

17. Robust Control Toolbox

Robust Control Toolbox

Paket Robust Control uključuje alate za dizajn i analizu viševarijabilnih robusnih sustava upravljanja. To su sustavi s pogreškama modeliranja, čija dinamika nije u potpunosti poznata ili se parametri mogu mijenjati tijekom modeliranja. Snažni algoritmi paketa omogućuju vam izvođenje složenih izračuna uzimajući u obzir promjene u mnogim parametrima. Značajke paketa:

    sinteza LQG regulatora na temelju minimizacije jedinstvenih i integralnih normi;

    višeparametarski frekvencijski odziv;

    izgradnja modela prostora stanja;

    transformacija modela na temelju singularnih vrijednosti;

    spuštanje reda modela;

    spektralna faktorizacija.

Paket Robust Control nadograđuje se na funkcionalnosti paketa Control System, dok pruža napredan skup algoritama za dizajn sustava upravljanja. Paket predstavlja most između moderne teorije upravljanja i praktičnih primjena. Ima mnoge funkcije koje implementiraju suvremene metode za projektiranje i analizu viševarijabilnih robusnih regulatora.

Manifestacije nesigurnosti koje narušavaju stabilnost sustava su različite - šum i smetnje u signalima, netočnost modela prijenosne funkcije, nemodelirana nelinearna dinamika. Paket Robust Control omogućuje procjenu granice stabilnosti s više parametara pod različitim nesigurnostima. Među korištenim metodama: Perronov algoritam, analiza značajki prijenosnih funkcija itd.

Paket Robust Control pruža različite metode projektiranja povratnih informacija, uključujući: LQR, LQG, LQG/LTR itd. Potreba za snižavanjem reda modela javlja se u nekoliko slučajeva: snižavanje reda objekta, snižavanje reda kontrolera, modeliranje velikih sustava. Kvalitativni postupak redukcije reda modela mora biti numerički stabilan. Postupci uključeni u paket Robust Control uspješno se nose s ovim zadatkom.

18. Model Predictive Control Toolbox

Model Predictive Control Toolbox

Paket Model Predictive Control sadrži kompletan set alata za implementaciju prediktivne (proaktivne) strategije upravljanja. Ova je strategija razvijena za rješavanje praktičnih problema upravljanja složenim višekanalnim procesima uz prisutnost ograničenja varijable stanja i upravljanje. Prediktivne metode upravljanja koriste se u kemijskoj industriji i za upravljanje drugim kontinuiranim procesima. Paket nudi:

    modeliranje, identifikacija i dijagnostika sustava;

    podrška za MISO (više ulaza - jedan izlaz), MIMO, prijelazne karakteristike, modeli prostora stanja;

    analiza sustava;

    pretvaranje modela u različite oblike reprezentacije (prostor stanja, prijenosne funkcije);

    pružanje tutorijala i demonstracija.

Prediktivni pristup problemima upravljanja koristi eksplicitni linearni dinamički model postrojenja za predviđanje utjecaja budućih promjena u upravljačkim varijablama na ponašanje postrojenja. Problem optimizacije formuliran je kao problem kvadratnog programiranja s ograničenjima, koji se iznova rješava u svakom koraku simulacije. Paket vam omogućuje stvaranje i testiranje kontrolera za jednostavne i složene objekte.

Paket sadrži više od pedeset specijaliziranih funkcija za dizajn, analizu i modeliranje dinamičkih sustava koji koriste prediktivno upravljanje. Podržava sljedeće tipove sustava: pulsno, kontinuirano i diskretno vrijeme, prostor stanja. Obrađuju se različite vrste smetnji. Osim toga, ograničenja na ulazne i izlazne varijable mogu se eksplicitno uključiti u model.

Alati za simulaciju omogućuju praćenje i stabilizaciju. Alati za analizu uključuju izračun polova zatvorene petlje, frekvencijski odziv i druge karakteristike upravljačkog sustava. Za identifikaciju modela paket ima funkcije za interakciju s paketom System Identification. Paket također uključuje dvije Simulink funkcije koje vam omogućuju testiranje nelinearnih modela.

19. mu - Analiza i sinteza

(Mu)-Analiza i sinteza

Paket p-Analysis and Synthesis sadrži funkcije za projektiranje robusnih sustava upravljanja. Paket koristi jedinstvenu normu i singularnu optimizaciju parametara i. Ovaj paket uključuje grafičko sučelje za pojednostavljenje manipulacije blokovima tijekom dizajna. optimalni regulatori. Svojstva paketa:

  • projektiranje regulatora koji su optimalni u jedinstvenim i integralnim normama;
  • procjena realnog i kompleksnog singularnog parametra mu;
  • D-K iteracije za približne mu-sinteza;

    GUI za analizu odziva zatvorene petlje;

    sredstva za smanjenje reda modela;

    izravno povezivanje pojedinih blokova velikih sustava.

Model prostora stanja može se kreirati i analizirati na temelju matrica sustava. Paket podržava rad s kontinuiranim i diskretni modeli. Paket ima punopravno grafičko sučelje, uključujući: mogućnost postavljanja raspona ulaznih podataka, poseban prozor za uređivanje svojstava D-K iteracija i grafički prikaz frekvencijskih karakteristika. Ima funkcije za zbrajanje matrica, množenje, razne transformacije i druge operacije na matricama. Pruža mogućnost snižavanja redoslijeda modela.

20. Tijek stanja

Stateflow je paket za modeliranje sustava vođenih događajima temeljen na teoriji konačnih automata. Ovaj paket je namijenjen za korištenje sa Simulink paketom za modeliranje dinamičkih sustava. Možete umetnuti dijagram toka stanja (ili SF dijagram) u bilo koji Simulink model, koji će odražavati ponašanje komponenti objekta (ili sustava) modeliranja. SF dijagram je animiran. Koristeći blokove i veze označene bojama, možete pratiti sve faze rada simuliranog sustava ili uređaja i učiniti njegov rad ovisnim o određenim događajima. Riža. Slika 23.6 ilustrira modeliranje ponašanja automobila kada se na cesti dogodi hitan slučaj. Ispod modela automobila vidljiv je SF dijagram (točnije jedan okvir njegovog rada).

Za izradu SF dijagrama paket ima praktičan i jednostavan uređivač, kao i alate za korisničko sučelje.

21. Alat za teoriju kvantitativne povratne sprege

Alat za teoriju kvantitativne povratne sprege

Paket sadrži funkcije za stvaranje robusnih (stabilnih) sustava s povratnom spregom. QFT (teorija kvantitativne povratne sprege) je inženjerska metoda koja koristi modele predstavljanja frekvencije kako bi zadovoljila različite zahtjeve kvalitete u prisutnosti nesigurnih karakteristika postrojenja. Metoda se temelji na zapažanju da je povratna informacija neophodna u slučajevima kada su neke karakteristike objekta nesigurne i/ili kada se na njegov ulaz primjenjuju nepoznati poremećaji. Značajke paketa:

    procjena frekvencijskih granica nesigurnosti svojstvenih povratnoj sprezi;

    grafičko korisničko sučelje koje vam omogućuje optimizaciju procesa pronalaženja potrebnih parametara povratne informacije;

    funkcije za određivanje utjecaja različitih blokova uvedenih u model (multiplekseri, zbrajači, povratne petlje) u prisutnosti nesigurnosti;

    podrška za modeliranje analognih i digitalnih povratnih petlji, kaskada i sklopova s ​​više petlji;

    rješavanje nesigurnosti u parametrima postrojenja korištenjem parametarskih i neparametarskih modela ili kombinacijom ovih vrsta modela.

Teorija povratne sprege prirodni je nastavak klasičnog frekvencijskog pristupa dizajnu. Njegov glavni cilj je dizajnirati jednostavne kontrolere male veličine s minimalnom propusnošću koji zadovoljavaju karakteristike performansi u prisutnosti nesigurnosti.

Paket vam omogućuje izračunavanje različitih parametara povratnih informacija, filtara i ispitnih kontrolera u kontinuiranom i diskretnom prostoru. Ima prikladno grafičko sučelje koje vam omogućuje stvaranje jednostavnih kontrolera koji zadovoljavaju zahtjeve korisnika.

QFT vam omogućuje da dizajnirate kontrolere koji zadovoljavaju različite zahtjeve, unatoč promjenama u parametrima modela. Izmjereni podaci mogu se izravno koristiti za dizajn regulatora, bez potrebe za identifikacijom kompleksnog odziva sustava.

22.LMI Control Toolbox

LMI Control Toolbox

Kontrolni paket LMI (Linear Matrix Inequality) pruža integrirano okruženje za postavljanje i rješavanje problema linearnog programiranja. Paket, izvorno namijenjen dizajnu upravljačkih sustava, omogućuje vam rješavanje bilo kojih problema linearnog programiranja u gotovo svim područjima djelatnosti u kojima se takvi problemi pojavljuju. Glavne karakteristike paketa:

    rješavanje problema linearnog programiranja: problemi kompatibilnosti ograničenja, minimiziranje linearnih ciljeva u prisutnosti linearnih ograničenja, minimiziranje svojstvenih vrijednosti;

    istraživanje problema linearnog programiranja;

    grafički uređivač za probleme linearnog programiranja;

    postavljanje ograničenja u simboličkom obliku;

    višekriterijski dizajn regulatora;

    provjera stabilnosti: kvadratna stabilnost linearnih sustava, stabilnost po Ljapunovu, provjera Popovljevog kriterija za nelinearne sustave.

LMI Control paket sadrži moderne simplex algoritme za rješavanje problema linearnog programiranja. Koristi strukturirani prikaz linearnih ograničenja, što poboljšava učinkovitost i smanjuje memorijske zahtjeve. Paket sadrži specijalizirane alate za analizu i projektiranje sustava upravljanja temeljenih na linearnom programiranju.

Rješivači linearnog programiranja mogu jednostavno testirati stabilnost dinamičkih sustava i sustava s nelinearnim komponentama. Prethodno se ova vrsta analize smatrala presloženom za implementaciju. Paket omogućuje čak i kombinaciju kriterija koja se prije smatrala previše složenom i rješivom samo uz pomoć heurističkih pristupa.

Paket je moćan alat za rješavanje problema konveksne optimizacije koji se javljaju u područjima kao što su kontrola, identifikacija, filtriranje, strukturni dizajn, teorija grafova, interpolacija i linearna algebra. Paket LMI Control uključuje dvije vrste grafičkog korisničkog sučelja: uređivač problema linearnog programiranja (LMI Editor) i sučelje Magshape. LMI Editor vam omogućuje postavljanje ograničenja u simboličkom obliku, a Magshape korisniku pruža prikladne alate za rad s paketom.

23. Paketi za identifikaciju sustava

Paketi za identifikaciju sustava

Toolbox za identifikaciju sustava

Paket System Identification sadrži alate za izradu matematičkih modela dinamičkih sustava na temelju opaženih ulaznih i izlaznih podataka. Ima fleksibilno grafičko sučelje koje vam pomaže organizirati podatke i stvarati modele. Metode identifikacije uključene u paket primjenjive su na širok raspon problema, od dizajna kontrolnih sustava i obrade signala do analize vremenskih nizova i vibracija. Glavna svojstva paketa:

    jednostavno i fleksibilno sučelje;

    prethodna obrada podataka, uključujući prethodno filtriranje, uklanjanje trendova i pristranosti; O izbor raspona podataka za analizu;

    analiza odziva u vremenskoj i frekvencijskoj domeni;

    prikaz nula i polova prijenosne funkcije sustava;

    analiza reziduala pri testiranju modela;

    konstrukcija složenih dijagrama, kao što je Nyquistov dijagram itd.

GUI pojednostavljuje pretprocesiranje podataka kao i interaktivni proces identifikacije modela. Također je moguće raditi s paketom u naredbenom modu i korištenjem Simulink ekstenzije. Operacije učitavanja i spremanja podataka, odabira raspona, brisanja odstupanja i trendova izvode se s uz minimalan napor i nalaze se u glavnom izborniku.

Prikaz podataka i identificiranih modela organiziran je grafički na način da se tijekom procesa interaktivne identifikacije korisnik može jednostavno vratiti na prethodni korak rada. Za početnike je moguće pogledati sljedeće moguće korake. Grafički alati omogućuju stručnjaku da pronađe bilo koji od prethodno dobivenih modela i ocijeni njegovu kvalitetu u usporedbi s drugim modelima.

Počevši od mjerenja izlaza i ulaza, možete stvoriti parametarski model sustava koji opisuje njegovo ponašanje tijekom vremena. Paket podržava sve tradicionalne strukture modela, uključujući autoregresiju, Box-Jenkins itd. Podržava linearne modele prostora stanja, koji se mogu definirati u diskretnom i kontinuiranom prostoru. Ovi modeli mogu uključivati ​​proizvoljan broj ulaza i izlaza. Paket uključuje funkcije koje se mogu koristiti kao testni podaci za identificirane modele. Linearna identifikacija modela naširoko se koristi u projektiranju upravljačkih sustava kada je potrebno izraditi model objekta. U problemima obrade signala, modeli se mogu koristiti za adaptivnu obradu signala. Metode identifikacije također su uspješno primijenjene na financijske aplikacije.

24. Alat za identifikaciju sustava frekvencijske domene

Alat za identifikaciju sustava frekvencijske domene

Paket Frequency Domain System Identification pruža specijalizirane alate za identifikaciju linearnih dinamičkih sustava prema njihovom vremenskom ili frekvencijskom odzivu. Frekvencijske metode usmjerene su na identificiranje kontinuirani sustavi, koja je snažna nadopuna tradicionalnijoj diskretnoj tehnici. Metode paketa mogu se primijeniti na probleme poput modeliranja električnih, mehaničkih i akustičkih sustava. Svojstva paketa:

    periodički poremećaji, vršni faktor, optimalni spektar, pseudoslučajni i diskretni binarni nizovi;

    proračun intervala pouzdanosti za amplitudu i fazu, nule i polove;

    identifikacija kontinuiranih i diskretnih sustava s nepoznatim kašnjenjem;

    dijagnostika modela, uključujući modeliranje i izračun reziduala;

    pretvaranje modela u format System Identification Toolbox i obrnuto.

Primjenom pristupa u frekvencijskoj domeni najbolji model se može postići u frekvencijskoj domeni; izbjegavanje grešaka u uzorkovanju; jednostavno izolirati DC komponentu signala; značajno poboljšati omjer signala i šuma. Za dobivanje signala smetnji, paket pruža funkcije za generiranje binarnih nizova, minimiziranje veličine vrha i poboljšanje spektralnih karakteristika. Paket omogućuje identifikaciju kontinuiranih i diskretnih linearnih statičkih sustava, automatsko generiranje ulaznih signala, kao i grafički prikaz nula i polova prijenosne funkcije rezultirajućeg sustava. Funkcije za testiranje modela uključuju izračunavanje reziduala, prijenosnih funkcija, nula i polova te pokretanje modela korištenjem testnih podataka.

25. Dodatni MATLAB paketi proširenja

Dodatni MATLAB paketi proširenja

Communications Toolbox

Paket aplikativnih programa za konstruiranje i modeliranje raznih telekomunikacijskih uređaja: digitalnih komunikacijskih vodova, modema, pretvarača signala itd. Ima bogat skup modela naj razne uređaje komunikacija i telekomunikacija. Sadrži niz zanimljivih primjera alata za modeliranje komunikacija, na primjer, modem koji radi pomoću v34 protokola, modulator za pružanje jednopojasne modulacije, itd.

26. Skup blokova digitalne obrade signala (DSP).

Skup blokova digitalne obrade signala (DSP).

Aplikacijski paket za projektiranje procesorskih uređaja digitalna obrada signale. To su prije svega visokoučinkoviti digitalni filtri s frekvencijskim odzivom (frekventnim odzivom) specificiranim ili prilagođenim parametrima signala. Rezultati modeliranja i projektiranja digitalnih uređaja pomoću ovog paketa mogu se koristiti za izgradnju visoko učinkovitih digitalnih filtara na temelju moderni mikroprocesori digitalna obrada signala.

27. Skup blokova s ​​fiksnom točkom

Skup blokova s ​​fiksnom točkom

Ovaj poseban paket usmjeren je na modeliranje digitalnih upravljačkih sustava i digitalnih filtara u sklopu paketa Simulink. Poseban skup komponenti omogućuje vam brzo prebacivanje između izračuna fiksne i pomične (točke). Možete odrediti duljinu riječi od 8, 16 ili 32 bita. Paket ima niz korisnih svojstava:

    korištenje nepredznačene ili binarne aritmetike;

    korisnički odabir položaja binarne točke;

    automatsko postavljanje položaja binarne točke;

    pregled maksimalnih i minimalnih raspona signala modela;

    prebacivanje između izračuna s fiksnim i pomičnim zarezom;

    korekcija preljeva i dostupnost ključnih komponenti za operacije s fiksnom točkom; logički operatori, jednodimenzionalne i dvodimenzionalne tablice pretraživanja.

28. Paketi za obradu signala i slike

Paketi za obradu signala i slike

Alat za obradu signala

Snažan paket za analizu, modeliranje i dizajn uređaja za obradu svih vrsta signala, pružajući njihovo filtriranje i mnoge transformacije.

Paket za obradu signala pruža iznimno sveobuhvatne mogućnosti za kreiranje programa za obradu signala za moderne znanstvene i inženjerske primjene. Paket koristi razne tehnike filtriranja i najnovije algoritme spektralna analiza. Paket sadrži module za razvoj linearnih sustava i analizu vremenskih serija. Paket će posebno biti koristan u područjima kao što su obrada audio i video informacija, telekomunikacije, geofizika, zadaci kontrole u stvarnom vremenu, ekonomija, financije i medicina. Glavna svojstva paketa:

    modeliranje signala i linearnih sustava;

    projektiranje, analiza i implementacija digitalnih i analognih filtara;

    brza Fourierova transformacija, diskretna kosinusna i druge transformacije;

    procjena spektra i statistička obrada signala;

    parametarska obrada vremenskih serija;

    generiranje signala raznih oblika.

Paket za obradu signala idealna je ljuska za analizu i obradu signala. Koristi algoritme provjerene u praksi odabrane za maksimalnu učinkovitost i pouzdanost. Paket sadrži širok raspon algoritama za predstavljanje signala i linearnih modela. Ovaj skup omogućuje korisniku prilično fleksibilan pristup stvaranju skripte za obradu signala. Paket uključuje algoritme za transformaciju modela iz jedne reprezentacije u drugu.

Paket za obradu signala uključuje kompletan skup tehnika za stvaranje digitalnih filtara s različitim karakteristikama. Omogućuje vam brzi razvoj visokopropusnih i niskopropusnih filtara, pojasnih i stop-propusnih filtara, višepojasnih filtara, uključujući Chebyshev, Yule-Walker, eliptične filtre itd.

Grafičko sučelje omogućuje dizajniranje filtara određivanjem zahtjeva za njih u načinu povlačenja objekata mišem. Paket uključuje sljedeće nove metode dizajna filtera:

    generalizirana Chebyshevljeva metoda za stvaranje filtara s nelinearnim faznim odzivom, kompleksnim koeficijentima ili proizvoljnim odzivom. Algoritam su razvili McLennan i Karam 1995. godine;

    ograničeni najmanji kvadrati omogućuju korisniku eksplicitnu kontrolu maksimalne pogreške (izglađivanje);

    metoda obračuna minimalna narudžba filter s Kaiser prozorom;

    generalizirana Butterworthova metoda za projektiranje niskopropusnih filtara s maksimalno ujednačenim propusnim pojasima i prigušenjem.

Na temelju optimalnog algoritma brze Fourierove transformacije, obrada signala nudi nenadmašnu izvedbu za analizu frekvencije i spektralnu procjenu. Paket uključuje funkcije za izračunavanje diskretne Fourierove transformacije, diskretne kosinusne transformacije, Hilbertove transformacije i drugih transformacija koje se često koriste za analizu, kodiranje i filtriranje. Paket implementira metode spektralne analize kao što su Welchova metoda, metoda maksimalne entropije itd.

Novo grafičko sučelje omogućuje pregled i vizualnu procjenu karakteristika signala, dizajn i primjenu filtara, provođenje spektralne analize, istraživanje utjecaja razne metode i njihove parametre na rezultirajući rezultat. Grafičko sučelje posebno je korisno za vizualizaciju vremenskih nizova, spektara, vremenskih i frekvencijskih karakteristika te položaja nula i polova prijenosnih funkcija sustava.

Paket za obradu signala osnova je za rješavanje mnogih drugih problema. Na primjer, kombiniranjem s paketom Image Processing, 2D signali i slike mogu se obraditi i analizirati. Kada je uparen s paketom za identifikaciju sustava, paket za obradu signala omogućuje parametarsko modeliranje sustava u vremenskoj domeni. U kombinaciji s paketima Neural Network i Fuzzy Logic, mogu se stvoriti različiti alati za obradu podataka ili ekstrakciju klasifikacijskih značajki. Alat za generiranje signala omogućuje vam stvaranje pulsnih signala različitih oblika.

29. Alat za spektralnu analizu višeg reda

Alat za spektralnu analizu višeg reda

Paket Higher-Order Spectral Analysis sadrži posebne algoritme za analizu signala korištenjem trenutaka višeg reda. Paket pruža široke mogućnosti za analizu ne-Gaussovih signala, budući da sadrži algoritme za možda najnaprednije metode za analizu i obradu signala. Glavne karakteristike paketa:

    procjena spektra visokog reda;

    tradicionalni ili parametarski pristup;

    obnova amplitude i faze;

    adaptivno linearno predviđanje;

    harmonijska obnova;

    Procjena kašnjenja;

    blok obrada signala.

Paket spektralne analize višeg reda omogućuje vam analizu signala oštećenih ne-Gaussovim šumom i procesima koji se javljaju u nelinearnim sustavima. Spektri visokog reda, definirani u smislu trenutaka visokog reda signala, sadrže dodatne informacije koje se ne mogu dobiti korištenjem samo autokorelacije ili analize spektra snage signala. Spektri visokog reda omogućuju:

    potisnuti Gaussov šum aditivne boje;

    identificirati signale neminimalne faze;

    istaknuti informacije zbog ne-Gaussove prirode šuma;

    detektirati i analizirati nelinearna svojstva signala.

Moguće primjene spektralne analize visokog reda uključuju akustiku, biomedicinu, ekonometriju, seizmologiju, oceanografiju, fiziku plazme, radar i radar. Osnovne funkcije paketa podržavaju spektre visokog reda, unakrsnu spektralnu procjenu, linearne modele predviđanja i procjenu kašnjenja.

30. Alat za obradu slike

Alat za obradu slika

Image Processing pruža znanstvenicima, inženjerima, pa čak i umjetnicima širok raspon alata za obradu i analizu digitalne slike. Usko povezan s okruženjem za razvoj aplikacija MATLAB, Image Processing Toolbox oslobađa vas dugotrajnog kodiranja i otklanjanja pogrešaka algoritama, omogućujući vam da se usredotočite na rješavanje glavnog znanstvenog ili praktičnog problema. Glavna svojstva paketa:

    restauracija i isticanje detalja slike;

    rad s odabranim područjem slike;

    analiza slike;

    linearna filtracija;

    pretvorba slike;

    geometrijske transformacije;

    povećanje kontrasta važnih detalja;

    binarne transformacije;

    obrada slike i statistika;

    transformacije boja;

    mijenjanje palete;

    pretvorba tipa slike.

Paket Image Processing pruža brojne mogućnosti za stvaranje i analizu grafičkih slika u MATLAB okruženju. Ovaj paket pruža iznimno fleksibilno sučelje koje vam omogućuje manipuliranje slikama, interaktivni razvoj grafike, vizualizaciju skupova podataka i označavanje rezultata za bijele knjige, izvješća i publikacije. Fleksibilnost, kombinacija algoritama paketa s takvom značajkom MATLAB-a kao što je matrično-vektorski opis čine paket vrlo prikladnim za rješavanje gotovo svih problema u razvoju i prezentaciji grafike. Primjeri korištenja ovog paketa u okruženju sustava MATLAB navedeni su u lekciji 7. MATLAB uključuje posebno dizajnirane postupke za poboljšanje učinkovitosti grafičke ljuske. Posebno se mogu primijetiti sljedeće značajke:

    interaktivno otklanjanje pogrešaka pri razvoju grafike;

    profiler za optimizaciju vremena izvršenja algoritma;

    alate za izgradnju interaktivnog grafičkog korisničkog sučelja (GUI Builder) za ubrzavanje razvoja GUI predložaka, omogućujući vam da ga prilagodite zadacima korisnika.

Ovaj paket omogućuje korisniku da potroši znatno manje vremena i truda na stvaranje standardne grafike i tako koncentrira napore na važne detalje i značajke slika.

MATLAB i paket Image Processing maksimalno su prilagođeni za razvoj i implementaciju novih ideja i metoda korisnika. U tu svrhu postoji skup pridruženih paketa usmjerenih na rješavanje svih vrsta specifičnih problema i problema u nekonvencionalnom okruženju.

Obradu slika trenutno intenzivno koristi više od 4000 tvrtki i sveučilišta diljem svijeta. Istodobno, postoji vrlo širok raspon zadataka koje korisnici rješavaju pomoću ovog paketa, poput istraživanja svemira, vojnog razvoja, astronomije, medicine, biologije, robotike, znanosti o materijalima, genetike itd.

31. Wavelet Toolbox

Paket Wavelet pruža korisniku kompletan skup programa za proučavanje višedimenzionalnih nestacionarnih pojava pomoću valića (kratkovalnih paketa). Relativno nedavno stvorene metode u paketu Wavelet proširuju mogućnosti korisnika u onim područjima gdje se obično koristi tehnika Fourierove dekompozicije. Paket može biti koristan za aplikacije kao što su obrada govora i zvuka, telekomunikacije, geofizika, financije i medicina. Glavna svojstva paketa:

    poboljšano grafičko korisničko sučelje i skup naredbi za analizu, sintezu, filtriranje signala i slika;

    transformacija višedimenzionalnih kontinuiranih signala;

    diskretna pretvorba signala;

    dekompozicija i analiza signala i slika;

    širok raspon osnovnih funkcija, uključujući korekciju graničnih učinaka;

    skupna obrada signala i slika;

    entropijska analiza paketa;

    filtriranje s mogućnošću postavljanja tvrdih i mekih pragova;

    optimalna kompresija signala.

Koristeći paket, možete analizirati značajke koje druge metode analize signala propuštaju, tj. trendove, outliere, prekide u izvedenicama visokog reda. Paket vam omogućuje komprimiranje i filtriranje signala bez očitih gubitaka, čak i u slučajevima kada trebate sačuvati i visoko- i niskofrekventne komponente signala. Postoje algoritmi kompresije i filtriranja za skupna obrada signale. Programi za kompresiju odabiru minimalni broj koeficijenata koji najtočnije predstavljaju izvornu informaciju, što je vrlo važno za sljedeće stupnjeve sustava kompresije. Paket uključuje sljedeće setove valićnih baza: biorthogonal, Haar, Mexican Hat, Mayer itd. Paketu možete dodati i vlastite baze.

Opsežan korisnički priručnik objašnjava kako raditi s metodama paketa, popraćen brojnim primjerima i punim referentnim dijelom.

32. Ostali paketi aplikacija

Ostali paketi aplikacija

Financijski alatni okvir

Paket aplikativnih programa za financijske i ekonomske kalkulacije vrlo relevantan za naše razdoblje tržišnih reformi. Sadrži mnoge funkcije za izračun složenih kamata, transakcije bankovnih depozita, izračun dobiti i još mnogo toga. Nažalost, zbog brojnih (iako, općenito, ne baš temeljnih) razlika u financijskim i ekonomskim formulama, njegova uporaba u našim uvjetima nije uvijek razumna - postoji mnogo domaćih programa za takve izračune, na primjer "Računovodstvo 1C". Ali ako se želite povezati s bazama podataka financijskih novinskih agencija – Bloom-berg, IDC preko Datafeed Toolbox MATLAB paketa, onda, naravno, svakako koristite MATLAB pakete financijskih proširenja.

Financijski paket je osnova za rješavanje mnogih financijskih problema u MATLAB-u, od jednostavni proračuni do distribuiranih aplikacija punog opsega. Financijski paket može se koristiti za izračun kamatnih stopa i dobiti, analizu prihoda od derivata i depozita te optimiziranje investicijskog portfelja. Glavne karakteristike paketa:

    Obrada podataka;

    analiza varijance učinkovitosti investicijskog portfelja;

    analiza vremenskih serija;

    izračunavanje prinosa vrijednosnih papira i procjena stopa;

    statistička analiza i analiza osjetljivosti tržišta;

    godišnji obračun prihoda i obračun novčanog toka;

    metode obračuna amortizacije.

S obzirom na važnost datuma određene financijske transakcije, Financijski paket uključuje nekoliko funkcija za manipuliranje datumima i vremenima u različitim formatima. Financijski paket omogućuje izračun cijena i povrata za ulaganja u obveznice. Korisnik ima mogućnost postavljanja nestandardnih, uključujući neredovite i nedosljedne rasporede dugovnih i kreditnih transakcija te konačnog obračuna prilikom otplate računa. Funkcije ekonomske osjetljivosti mogu se izračunati uzimajući u obzir različite ročnosti.

Algoritmi Financijskog paketa za izračun pokazatelja novčanog toka i drugih podataka koji se odražavaju u financijskim računima omogućuju izračun, posebice, kamatnih stopa na zajmove i kredite, omjera profitabilnosti, primitaka od zajma i ukupnih vremenskih razgraničenja, procjenu i prognozu vrijednosti investicijskog portfelja , te izračunati pokazatelje amortizacije itd. Funkcije paketa mogu se koristiti uzimajući u obzir pozitivne i negativne novčane tokove (cash-flow) (višak novčanih primitaka nad isplatama, odnosno novčanih isplata nad primicima).

Financijski paket sadrži algoritme koji vam omogućuju analizu investicijskog portfelja, dinamiku i faktore ekonomske osjetljivosti. Konkretno, pri određivanju učinkovitosti ulaganja, funkcije paketa omogućuju vam stvaranje portfelja koji zadovoljava klasični problem G. Markowitza. Korisnik može kombinirati algoritme paketa za izračun Sharpeovih omjera i stope povrata. Analiza dinamike i čimbenika ekonomske osjetljivosti omogućuje korisniku određivanje pozicija za razgraničene trgovine, zaštitu od rizika i trgovine s fiksnom stopom. Financijski paket također pruža opsežne mogućnosti za prezentiranje i prezentaciju podataka i rezultata u obliku grafikona i dijagrama tradicionalnih za ekonomska i financijska polja. Gotovina se može prikazati u decimalnom, bankovnom i postotnom formatu po izboru korisnika.

33. Kutija s alatima za mapiranje

Paket Mapping pruža grafičko sučelje i sučelje naredbenog retka za analizu geografskih podataka, prikaz karata i pristup vanjskim izvorima geografskih podataka. Osim toga, paket je pogodan za rad s mnogim poznatim atlasima. Svi ovi alati u kombinaciji s MATLAB-om pružaju korisnicima sve uvjete za produktivan rad sa znanstvenim geografskim podacima. Glavne karakteristike paketa:

    vizualizacija, obrada i analiza grafičkih i znanstvenih podataka;

    više od 60 kartografskih projekcija (izravnih i inverznih);

    dizajn i prikaz vektorskih, matričnih i kompozitnih karata;

    grafičko sučelje za izradu i obradu karata i podataka;

    globalni i regionalni atlasi podataka i sučelja s vladinim podacima visoke rezolucije;

    geografska statistika i navigacijske funkcije;

    trodimenzionalni prikaz karata s ugrađenim isticanjem i sjenčanjem;

    pretvarači za popularne formate geografskih podataka: DCW, TIGER, ETOPO5.

Paket Mapping uključuje više od 60 najpoznatijih projekcija, uključujući cilindrične, pseudo-cilindrične, konusne, polikonične i pseudo-konusne, azimutalne i pseudo-azimutalne. Moguće su projekcije naprijed i natrag, kao i nestandardne vrste projekcija koje odredi korisnik.

U paketu Mapping karticom poziva se svaka varijabla ili skup varijabli koji odražava ili dodjeljuje numeričku vrijednost geografska točka odnosno područja. Paket vam omogućuje rad s vektorskim, matričnim i kartama mješovitih podataka. Snažno grafičko sučelje pruža iskustvo interaktivne karte, kao što je mogućnost pomicanja pokazivača na objekt i klikanja na njega za dobivanje informacija. Grafičko sučelje MAPTOOL je cjelovito okruženje za razvoj aplikacija za rad s kartama.

U paketu su najpoznatiji atlasi svijeta, Sjedinjenih Američkih Država i astronomski atlasi. Geografska struktura podataka pojednostavljuje ekstrakciju i obradu podataka iz atlasa i karata. Struktura geografskih podataka i funkcionalnost za interakciju s vanjskim geografskim podacima u formatima Digital Chart of the World (DCW), TIGER, TBASE i ETOPO5 spojeni su kako bi pružili snažan i fleksibilan alat za pristup postojećim i budućim geografskim bazama podataka. Pažljiva analiza geografskih podataka često zahtijeva matematičke metode, radeći u sfernom koordinatnom sustavu. Paket Mapping pruža podskup geografskih, statističkih i navigacijskih funkcija za analizu geografskih podataka. Značajke navigacije pružaju moćne mogućnosti za obavljanje zadataka putovanja kao što su pozicioniranje i planiranje rute.

34. Blockset sustava napajanja

Toolbox za prikupljanje podataka i Toolbox za kontrolu instrumenata

Data Acquisition Toolbox je paket za proširenje koji se odnosi na područje prikupljanja podataka putem blokova povezanih s internom sabirnicom računala, generatora funkcija, analizatora spektra - ukratko, instrumenata koji se široko koriste u istraživačke svrhe za dobivanje podataka. Podržava ih odgovarajuća računalna baza. Novi Instrument Control Toolbox omogućuje povezivanje instrumenata i uređaja s serijsko sučelje te s Public Channel i VXI sučeljima.

36. Toolbox baze podataka i Virtual Reality Toolbox

Alat za baze podataka i alat za virtualnu stvarnost

Brzina Database toolboxa povećana je za više od 100 puta, uz pomoć kojeg se informacije razmjenjuju s nizom sustava za upravljanje bazama podataka putem ODBC ili JDBC drajvera:

  • Pristup 95 ili 97 Microsoft;

    Microsoft SQL Server 6.5 ili 7.0;

    Sybase Adaptive Server 11;

    Sybase (bivši Watcom) SQL Server Anywhere 5.0;

    IBM DB2 Universal 5.0;

  • Computer Associates Ingres (sve verzije).

Svi podaci su unaprijed pretvoreni u niz ćelija u MATLAB 6.0. U MATLAB-u 6.1 također možete koristiti niz struktura. Visual Query Builder vam omogućuje stvaranje proizvoljno složenih upita u SQL dijalektima ovih baza podataka, čak i bez znanja SQL-a. Mnoge heterogene baze podataka mogu se otvoriti u jednoj sesiji.

Virtual Reality Toolbox dostupan je počevši od MATLAB-a 6.1. Omogućuje izvođenje trodimenzionalne animacije i animacije, uključujući modele Simulink. Programski jezik - VRML - jezik za modeliranje virtualne stvarnosti (Virtual Reality Modeling Language). Animaciju je moguće gledati s bilo kojeg računala opremljenog preglednikom koji podržava VRML. Potvrđuje da je matematika znanost o kvantitativnim odnosima i prostornim oblicima bilo kojeg stvarnog ili virtualnog svijeta.

37. Excel Link

Omogućuje korištenje Microsoft Excela 97 kao MATLAB I/O procesora. Da biste to učinili, samo instalirajte datoteku excllinkxla koju je dostavio Math Works kao funkciju dodatka u Excelu. U Excelu trebate upisati Service > Dodaci > Pregledaj, odaberite datoteku u direktoriju \matlabrl2\toolbox\exlink i instalirajte je. Sada, svaki put kada pokrenete Excel, pojavit će se prozor s naredbama MATLAB, a upravljačka ploča programa Excel bit će dopunjena gumbima getmatrix, putmatrix, evalstring. Da biste zatvorili MATLAB iz Excela, samo upišite =MLC1ose() u bilo koju ćeliju programa Excel. Za otvaranje nakon izvršavanja ove naredbe morate ili kliknuti na jedan od gumba getmatrix, putmatrix, evalstring ili upisati Usluga Excel> Makro >Prostirka za trčanje! abi ni t. S mišem odabranim preko niza Excel ćelija, možete kliknuti getmatrix i upisati naziv MATLAB varijable. Matrica će se pojaviti u Excelu. Nakon što ispunite niz Excel ćelija brojevima, možete označiti raspon, kliknuti putmatrix i unijeti naziv MATLAB varijable. Rad je stoga intuitivan. Za razliku od MATLAB-a, Excel Link ne razlikuje velika i mala slova: I i i, J i j su ekvivalentni.

Pozovite demonstracije paketa proširenja.

Uvod

MATLAB(skraćenica za engleski)"Matrix laboratorij" ) - paket aplikativnih programa za rješavanje problema tehničkih proračuna i istoimeni programski jezik koji se koristi u ovom paketu. MATLAB ® Koristi ga više od 1.000.000 inženjera i znanstvenika, a radi na većini modernih operativnih sustava.

Razvijen je MATLAB kao programski jezik autora Clevea Mowlera na kraju 1970-ih godine kada je bio dekan fakultet Računalo znanosti u Sveučilište Novog Meksika. Svrha razvoja bila je omogućiti studentima fakulteta korištenje programskih biblioteka Linpack I EISPACK bez potrebe za učenjem Fortran. Uskoro novi jezik proširio među ostalim sveučilištima i bio primljen s velikim zanimanjem znanstvenika koji rade na području primijenjene matematike. I danas možete pronaći verziju na internetu 1982. godine, napisano u Fortranu, distribuirano otvoreni izvor. Inženjer John Little ( Engleski Ivan N. (Utičnica) Malo) upoznali su se s ovim jezikom tijekom posjeta Clevea Mowlera u Sveučilište Stanford V 1983. godine. Uvidjevši da novi jezik ima veliki komercijalni potencijal, udružio se s Cleveom Mowlerom i Steveom Bangertom ( Engleski Steve Bangert). Zajedno su prepisali MATLAB C i osnovana u 1984 društvo MathWorks za daljnji razvoj. Ove biblioteke, prepisane u C-u, dugo su bile poznate pod imenom JACKPAC. MATLAB je izvorno bio namijenjen projektiranju upravljačkih sustava (specijalnost Johna Littlea), ali je brzo stekao popularnost u mnogim drugim znanstvenim i inženjerskim područjima. Također se naširoko koristio u obrazovanju, osobito za podučavanje Linearna algebra I numeričke metode.

Jezik MATLAB je interpretirani programski jezik visoke razine koji uključuje podatkovne strukture temeljene na matricama, širok raspon funkcija, integrirano razvojno okruženje, objektno orijentirane mogućnosti i sučelja za programe napisane na drugim programskim jezicima.

Programi napisani u MATLAB-u su dvije vrste - funkcije i skripte. Funkcije imaju ulazne i izlazne argumente, kao i vlastiti radni prostor za pohranjivanje međurezultata izračuna i varijabli. Skripte koriste zajednički radni prostor. I skripte i funkcije nisu kompajlirane u strojni kod i spremaju se kao tekstualne datoteke.

Glavna značajka MATLAB jezika su njegove široke mogućnosti za rad s matricama, što su tvorci jezika izrazili u sloganu “misli vektorski”

MATLAB korisniku pruža velik broj (nekoliko stotina) funkcija za analizu podataka, pokrivajući gotovo sva područja matematike, a posebice:

    Matrice i linearna algebra - matrična algebra, linearne jednadžbe, svojstvene vrijednosti i vektori, singulariteti, faktorizacija matrica i drugo.

    Polinomi i interpolacija korijenskih polinoma, operacije nad polinomima i njihovo diferenciranje, interpolacija i ekstrapolacija krivulja i drugo.

    Matematička statistika i analiza podataka - statističke funkcije, statistička regresija, digitalno filtriranje, brza Fourierova transformacija i drugo.

    Obrada podataka - skup posebnih funkcija, uključujući iscrtavanje, optimizaciju, pretraživanje nule, numeričku integraciju (u kvadraturama) i druge.

    Diferencijalne jednadžbe - rješavanje diferencijalnih i diferencijalno-algebarskih jednadžbi, diferencijalnih jednadžbi s kašnjenjem, jednadžbi s ograničenjima, jednadžbi parcijalnih derivacija i dr.

    Rijetke matrice su posebna klasa podataka paketa MATLAB koja se koristi u specijaliziranim aplikacijama.

    Cjelobrojna aritmetika - izvođenje cjelobrojnih aritmetičkih operacija u MATLAB-u.

1. Osnovne informacije

1.1. MatLab radno okruženje

Za pokretanje programa dvaput kliknite na ikonu. Pred vama će se otvoriti radno okruženje prikazano na slici.

Radno okruženje MatLab 6.x sadrži sljedeće elemente:

    alatna traka s gumbima i padajućim popisom;

    prozor s karticama Launch Pad I Radni prostor, iz kojeg možete pristupiti različitim modulima ToolBoxa i sadržajima radnog stola;

    prozor s karticama Povijest naredbi I Trenutni direktorij, namijenjen za pregled i ponovno pozivanje prethodno unesenih naredbi, kao i za postavljanje trenutnog imenika;

    naredbeni prozor koji sadrži prompt "unos" i trepćući okomiti kursor;

    statusna traka.

Ako neki od prozora prikazanih na slici nedostaju u radnom okruženju MatLab 6.x, trebali biste otići na izbornik Pogled odaberite odgovarajuće stavke: Naredbeni prozor, Povijest naredbi, Trenutni direktorij, Radni prostor, Launch Pad.

Naredbe treba upisivati ​​u naredbeni prozor. Simbol ", koji označava prompt naredbenog retka, ne mora se upisivati. Pogledati radno područje pogodan za korištenje klizača ili tipki Dom,Kraj, za pomicanje lijevo ili desno i PageUp,Stranica niže za pomicanje gore ili dolje. Ako iznenada, nakon kretanja po radnom području naredbenog prozora, naredbeni redak s trepćućim kursorom nestane, samo kliknite Unesi.

Važno je zapamtiti da upisivanje bilo koje naredbe ili izraza mora završiti pritiskom Unesi, kako bi MatLab program izvršio ovu naredbu ili evaluirao izraz.

1.2. Jednostavni izračuni

Upišite 1+2 u naredbeni redak i pritisnite Unesi. Kao rezultat toga, MatLab naredbeni prozor prikazuje sljedeće:

Riža. 2 Grafički prikaz analize glavnih komponenti

Što je učinio program MatLab? Najprije je izračunala zbroj 1+2, zatim rezultat upisala u posebnu varijablu ans i prikazala njegovu vrijednost, jednaku 3, u naredbenom prozoru. Ispod odgovora nalazi se naredbeni redak s trepćućim kursorom, što pokazuje da je MatLab spreman za daljnje izračune. Možete upisati nove izraze u naredbeni redak i pronaći njihova značenja. Ako trebate nastaviti raditi s prethodnim izrazom, na primjer, izračunati (1+2)/4,5, tada je najlakši način koristiti postojeći rezultat koji je pohranjen u varijabli ans. Upišite ans/4.5 (kod unosa decimala se koristi točka) i pritisnite Unesi, ispada

Riža. 3 Grafički prikaz analize glavnih komponenti

1.3. Echo naredbe

Izvršenje svake naredbe u MatLabu prati eho. U gornjem primjeru, odgovor je ans = 0,6667. Često eho otežava percepciju rada programa i tada se može isključiti. Da biste to učinili, naredba mora završiti točkom i zarezom. Na primjer

Riža. 4 Primjer unosa funkcije ScoresPCA

1.4. Očuvanje radne okoline. Mat turpije

Najlakši način za spremanje svih vrijednosti varijabli je korištenje izbornika Datoteka paragraf Spremi radni prostor kao. Pojavljuje se dijaloški okvir Spremite varijable radnog prostora, u kojem trebate navesti direktorij i naziv datoteke. Prema zadanim postavkama, predlaže se spremanje datoteke u radni poddirektorij glavnog MatLab direktorija. Program će rezultate svog rada spremiti u datoteku s nastavkom mat. Sada možete zatvoriti MatLab. U sljedećoj radnoj sesiji, za vraćanje vrijednosti varijabli, trebali biste otvoriti ovu spremljenu datoteku pomoću podstavke Otvoren Jelovnik Datoteka. Sada su sve varijable definirane u prošloj sesiji ponovno dostupne. Mogu se koristiti u novounesenim naredbama.

Predavanje 3. Programiranje u MATLAB-u.

1. M-datoteke. ................................................. ...... ............................................ ............ ................................... .........

1.1. Rad u uredniku M-datoteke. ................................................. ...... ............................................ ............ ...

1.2. Vrste M-datoteka. Datotečni programi. ................................................. ...... ............................................

1.3. Funkcije datoteke. ................................................. ...... ............................................ ............ ................................

Funkcije datoteke s jednim ulaznim argumentom.......................................................................................

Funkcije datoteke s više ulaznih argumenata........................................................................

Funkcije datoteke s više izlaznih argumenata.....................................................................

1.4. Podfunkcije. ................................................. ...... ............................................ ............ ................................... ..

2. Kontrolne konstrukcije programskog jezika....................................................................

2.1. Operatori petlje..............................................................................................................................

For petlja. ................................................. ...... ............................................ ............ ................................... ......

Dok petlja. ................................................. ...... ............................................ ............ ...................................

2.2. Poslovnice operatera....................................................................................................................

Uvjetni operator ako . ................................................. ...... ............................................ ............ .................

Izjava o prebacivanju. ................................................. ...... ............................................ ............ ................................

2.3. Break, continue i return izjave. ................................................. ...... ...................................

2.4. O tehnikama racionalnog programiranja u MATLAB-u........................................................

Mnogi matematički sustavi stvoreni su pod pretpostavkom da će korisnik riješiti svoje probleme s malo ili nimalo programiranja. No, od samog početka bilo je jasno da takav put ima nedostataka i da je u velikoj mjeri manjkav. Mnogi problemi zahtijevaju razvijene programske alate koji pojednostavljuju pisanje njihovih algoritama i ponekad otvaraju nove metode za stvaranje potonjih.

S jedne strane, MATLAB sadrži ogroman broj ugrađenih operatora i funkcija (približava se tisuću), koji uspješno rješavaju mnoge praktične probleme, za koje je prije bilo potrebno pripremiti prilično složene programe. Na primjer, to su funkcije za invertiranje ili transponiranje matrica, izračunavanje vrijednosti derivata ili integrala, itd., itd. Broj takvih funkcija, uzimajući u obzir pakete proširenja sustava, već doseže nekoliko tisuća i neprestano se povećava. No, s druge strane, sustav MATLAB je od trenutka svog nastanka kreiran kao moćan matematički orijentiran programski jezik za tehničke proračune. visoka razina. I to su mnogi s pravom vidjeli kao važnu prednost sustava, koja ukazuje na mogućnost njegove upotrebe za rješavanje novih, najsloženijih matematičkih problema.

Sustav MATLAB ima ulazni jezik koji podsjeća na BASIC (s primjesama Fortran-a i Pascala). Snimanje programa u sustavu je tradicionalno i stoga poznato većini korisnika računala. Osim toga, sustav omogućuje uređivanje programa pomoću bilo kojeg uređivača teksta poznatog korisniku. Također ima vlastiti uređivač s programom za ispravljanje pogrešaka. Jezik sustava MATLAB u smislu programiranja matematičkih izračuna puno je bogatiji od bilo kojeg univerzalni jezik programiranje visoke razine. Implementira gotovo svaki poznati alat za programiranje, uključujući objektno orijentirano i vizualno programiranje. To daje iskusnim programerima beskrajne mogućnosti za samoizražavanje.

1. M-datoteke.

U U prethodnim predavanjima smo se osvrnuli na prilično jednostavne primjere čije izvođenje zahtijeva upisivanje nekoliko naredbi u naredbeni redak. Za složenije zadatke povećava se broj naredbi i rad na naredbenom retku postaje neproduktivan. Koristeći povijest naredbi,

spremanje varijabli radne okoline ili vođenje dnevnika pomoću dnevnika je zanemarivo

povećati produktivnost rada. Učinkovito rješenje je dizajn vlastitih algoritama u obliku programa (M-datoteka), koji se mogu pokretati iz radnog okruženja ili iz editora. Uređivač M-datoteka ugrađen u MATLAB omogućuje ne samo upisivanje teksta programa i njegovo pokretanje u cijelosti ili u dijelovima, već i otklanjanje pogrešaka u algoritmu. Detaljna klasifikacija M-datoteka je dana u nastavku.

1.1. Rad u M-file editoru.

Poseban editor s više prozora koristi se za pripremu, uređivanje i otklanjanje pogrešaka u m-datotekama. Dizajniran je kao tipična Windows aplikacija. Editor se može pozvati naredbom edit iz naredbenog retka ili naredbom glavnog izbornika File | Novo | M-datoteka. Nakon toga, u prozoru uređivača možete stvoriti vlastitu datoteku, koristiti alate za otklanjanje pogrešaka i pokretanje. Prije pokretanja datoteke, ona se mora zapisati na disk pomoću File | Spremi kao u izborniku uređivača.

Slika 1 prikazuje prozor uređivača/ispravljača pogrešaka. Pripremljeni tekst datoteke (ovo je najjednostavniji i naš prvi program u programskom jeziku MATLAB) može se zapisati na disk. Da biste to učinili, koristite naredbu Spremi kao, koja koristi standard Windows prozor za pisanje datoteke sa zadanim imenom. Treba imati na umu da naziv M-datoteke mora biti jedinstven, a zahtjev za nazivom datoteke isti je kao i za nazive varijabli okoline MATLAB-a. Nakon zapisivanja datoteke na disk, možete pokrenuti naredbu Pokreni na alatnoj traci ili izborniku Debug ili jednostavno kliknuti ., kako bi se izvršila m-datoteka.

Na prvi pogled može se činiti da je editor/debugger samo dodatna karika u lancu "korisnik - MATLAB". Zaista, tekst datoteke mogao bi se unijeti u prozor sustava i dobiti isti rezultat. Međutim, u stvarnosti to radi uređivač/debugger važna uloga. Omogućuje vam stvaranje m-datoteke (programa) bez brojnih "ljuski" koje prate rad u naredbenom načinu rada. Tekst takve datoteke podvrgava se temeljitoj provjeri sintakse, tijekom koje se mnoge korisničke pogreške identificiraju i uklanjaju. Na taj način editor omogućuje sintaktičku kontrolu nad datotekom.

Uređivač također ima druge važne alate za ispravljanje pogrešaka - omogućuje vam postavljanje posebnih oznaka u tekstu datoteke, koje se nazivaju prijelomne točke. Kada se dosegnu, izračuni se obustavljaju, a korisnik može procijeniti međurezultate izračuna (na primjer, vrijednosti varijabli), provjeriti ispravno izvršenje petlji itd. Konačno, uređivač vam omogućuje pisanje datoteke do format teksta i ovjekovječite svoj rad u datotečnom sustavu MATLAB.

Radi lakšeg rada s uređivačem/programom za ispravljanje pogrešaka, programske linije su numerirane redoslijedom. Uređivač ima više prozora. Prozor svakog programa je dizajniran kao kartica. Uređivač programa za ispravljanje pogrešaka olakšava pregled vrijednosti varijabli. Da biste to učinili, samo pomaknite pokazivač miša preko naziva varijable i držite ga - pojavit će se opis s nazivom varijable i njezinom vrijednošću.

Vrlo zgodna značajka uređivača M-datoteka je izvršavanje nekih naredbi. Da biste to učinili, koristite naredbu Evaluate Selection iz kontekstni izbornik ili glavni izbornikTekst, ili samo funkcijska tipka , koji vam omogućuju izvršavanje odabranog programskog teksta.

Riža. 1. Prozor uređivača M-datoteka.

1.2. Vrste M-datoteka. Datotečni programi.

Postoje dvije vrste M-datoteka u MATLAB-u: Skriptne M-datoteke, koje sadrže niz naredbi, i Funkcijske M-datoteke, koje opisuju korisnički definirane funkcije.

Datotečni programi su najjednostavniji tip M-datoteke. Oni nemaju ulazne ili izlazne argumente i rade na varijablama koje postoje u vremenu izvođenja ili mogu stvoriti nove varijable. Napisali ste mydemo file program kada ste čitali prethodni odjeljak. Sve varijable deklarirane u datotečnom programu postaju dostupne u radnom okruženju nakon njegovog izvođenja. Pokrenite program datoteke mydemo prikazan na popisu na slici 1. Idite na prozor radnog prostora i provjerite pojavljuju li se sve varijable unesene u M-datoteku u radnom prostoru. Sve varijable nastale tijekom izvođenja M-datoteke ostaju u radnom okruženju nakon njenog završetka, a mogu se koristiti u drugim datotečnim programima iu naredbama koje se izvode iz naredbenog retka.

Postoje dva načina za pokretanje programa za datoteke.

1. Iz uređivača M-datoteka kao što je gore opisano.

2. Iz naredbenog retka ili drugog programska datoteka, u kojoj se naziv M-datoteke (bez ekstenzije) koristi kao naredba. Korištenje druge metode mnogo je praktičnije, pogotovo ako će se stvoreni program datoteke više puta koristiti u budućnosti. Stvarna M-datoteka koja se kreira postaje naredba koju MATLAB razumije.

Zatvorite sve grafičke prozore i upišite mydemo u naredbeni redak, pojavit će se grafički prozor koji odgovara naredbama programske datoteke mydemo.m. Nakon unosa naredbe mydemo, MATLAB izvodi sljedeće radnje.

1. Provjerava je li unesena naredba ime bilo koja od definiranih varijabli

V radno okruženje. Ako je varijabla unesena, prikazuje se njezina vrijednost.

2. Ako unos nije varijabla, tada MATLAB traži unesenu naredbu među ugrađenim funkcijama. Ako se ispostavi da je naredba ugrađena funkcija, ona se izvršava.

3. Ako unos nije varijabla ili ugrađena funkcija, tada MATLAB počinje pretraživanje M-datoteka s nazivom tima i ekstenzijom m. Potraga počinje s trenutni imenik(Trenutni imenik); ako M-datoteka nije pronađena u njemu, tada MATLAB gleda direktorije navedene u putu pretraživanja (Path). (Za postavljanje trenutnog direktorija možete koristiti istoimeni prozor za odabir na alatnoj traci ili naredbu cd. Postavljanje staza pretraživanja vrši se pomoću

pomoću naredbe Set Path naredbe izbornika File ili pomoću naredbe addpath).

Ako nijedna od gornjih radnji nije rezultirala uspjehom, tada se u prozoru naredbi prikazuje poruka, na primjer, ako je napravljena pogreška.

MATLAB slijed pretraživanja sugerira da je vrlo važno ispravno imenovati svoj vlastiti program datoteka kada ga spremate u M-datoteku. Prvo, njegovo ime ne bi trebalo biti isto kao ime postojeće funkcije u MATLAB-u. Pomoću funkcije exist možete saznati je li ime zauzeto ili ne.

Drugo, naziv datoteke ne smije počinjati brojem, znakovima "+" ili "-" ili bilo kojim znakovima koje MATLAB može protumačiti kao pogrešku prilikom unosa izraza. Na primjer, ako M-datoteku nazovete programskom datotekom 5prog.m, tada kada je pokrenete iz izbornika uređivača ili dobit ćete poruku o pogrešci. Ovo nije iznenađujuće, budući da MATLAB očekuje da koristite 5 + prog (ili 5, prog) za procjenu aritmetičkog izraza s varijablom prog (ili da dodate 5 kao prvi element prog vektora reda). Stoga bi ispravno ime bilo prog5.m (ili barem p5rog.m), ali samo da počinje na slovo.

Imajte na umu da ako pokrenete odabrane naredbe (sve se naredbe mogu odabrati) M-datoteke s pogrešnim nazivom koristeći , onda neće biti greške. Zapravo se događa sekvencijalno izvođenje naredbe, ne razlikuje se od pozivanja iz naredbenog retka, a ne rad programa datoteke.

Još jedna vrlo česta pogreška je kod navođenja naziva programa datoteke, što ima na prvi pogled neobjašnjive posljedice: program se pokreće samo jednom. Ponovno pokretanje ne izvršava program. Pogledajmo ovu situaciju pomoću primjera datoteke programa iz ispisa 5.1, koju ste spremili u datoteku mydemo.m. Preimenujte datoteku u x.m, zatim izbrišite sve varijable radnog prostora iz prozora Preglednika varijabli radnog prostora ili iz naredbenog retka:

>> počisti sve

Izvršite program datoteke, na primjer, iz editora klikom . Pojavljuje se grafički prozor s dva grafikona i ništa ne nagovještava kvaku. Sada zatvorite grafički prozor i ponovno pokrenite program. Grafički prozor se više ne stvara, ali se vrijednosti arrayx prikazuju u naredbenom prozoru u skladu s prvom točkom gore navedenog MATLAB algoritma pretraživanja. Ove okolnosti treba uzeti u obzir pri odabiru naziva programa za datoteke. Jednako važno pitanje vezano je uz treću točku MATLAB algoritma pretraživanja - trenutni katalog i putove pretraživanja. Obično se izvorne M-datoteke pohranjuju u korisničke direktorije. Kako bi ih MATLAB pronašao, staze moraju biti postavljene tako da pokazuju lokaciju M-datoteka.

1.3. Funkcije datoteke.

Datotečni programi o kojima se gore raspravljalo su niz MATLAB naredbi; oni nemaju ulazne ili izlazne argumente. Za rješavanje računalnih problema i pisanje vlastitih aplikacija u MATLAB-u, često trebate programirati funkcije datoteke koje izvode potrebne radnje na ulaznim argumentima i vraćaju rezultat u izlaznim argumentima. Broj ulaznih i izlaznih argumenata ovisi o problemu koji se rješava - može postojati samo jedan ulazni i jedan izlazni argument, nekoliko oba ili samo ulazni argumenti.

Moguće je da nema ulaznih ili izlaznih argumenata. Ovaj odjeljak sadrži nekoliko jednostavnih primjera koji će vam pomoći razumjeti kako raditi s funkcijama datoteke. Datotečne funkcije, kao i datotečni programi, kreiraju se u M-file editoru.

Datotečne funkcije s jednim ulaznim argumentom.

Pretpostavimo da često trebate koristiti vrijednost funkcije u izračunima:

− xx 2

Funkciju datoteke ima smisla napisati jednom, a zatim je pozvati gdje god je potrebno da se izračuna ova funkcija za dati argument. Da biste to učinili, morate otvoriti novu datoteku u M-file editoru i upisati tekst:

funkcija f = myfun(x)

Riječ funkcija u prvom redu to specificira ovu datoteku sadrži funkcijsku datoteku. Prvi red je zaglavlje funkcije, koji sadrži naziv funkcije i popise ulaznih i izlaznih argumenata. Ulazni argumenti pišu se u zagradama iza naziva funkcije. U našem primjeru postoji samo jedan ulazni argument - x. Izlazni argument f naveden je lijevo od znaka jednakosti u zaglavlju funkcije. Prilikom odabira naziva funkcije datoteke, treba paziti da se izbjegnu sukobi s zauzeta imena u MATLAB-u. Gore smo raspravljali o sličnom pitanju: kako spremiti programsku datoteku u datoteku s jedinstvenim nazivom. Možete koristiti isti pristup pozivanja postojeće funkcije za imenovanje funkcije datoteke.

Nakon zaglavlja nalazi se tijelo funkcije datoteke - jedan ili više operatora (može ih biti dosta) koji implementiraju algoritam za dobivanje vrijednosti izlaznih varijabli iz ulaznih. U našem primjeru algoritam je jednostavan - zadan je x, izračunava se aritmetički izraz i rezultat se upisuje u f.

Sada trebate spremiti datoteku u svoj radni direktorij ili na neko drugo mjesto poznato MATLAB-u. Kada odaberete Spremi ili Spremi kao... iz izbornika Datoteka, prema zadanim postavkama predlaže se naziv datoteke koji odgovara nazivu funkcije myfun. Morate spremiti funkcijsku datoteku s ovim predloženim nazivom. Sada se stvorena funkcija može koristiti na isti način kao ugrađeni sin, cos i drugi, na primjer, iz naredbenog retka:

>> y=myfun(1.3) y =

Kada smo kreirali funkciju datoteke myfun, spriječili smo ispis vrijednosti f u naredbenom prozoru završavajući naredbu dodjele točkom i zarezom. Ako se to ne učini, bit će prikazano prilikom pozivanja y=myfun(1.3) . Kao opće pravilo, najbolje je izbjegavati ispis rezultata srednjih izračuna unutar funkcije datoteke u naredbeni prozor.

Funkcija datoteke navedena u prethodnom primjeru ima jedan značajan nedostatak. Pokušaj izračunavanja vrijednosti funkcije iz niza rezultira pogreškom, a ne vraćanjem vrijednosti niza na način na koji se to radi kada se koriste ugrađene funkcije.

>>x=;

>> y=myfun(x)

??? Pogreška pri korištenju ==> ^ Matrica mora biti kvadratna.

Greška u ==> C:\MATLAB6p5\work\myfun.m

Na retku 2 ==> f = exp(-x)*sqrt((x^2 + 1)/(x^4 + 0,1));

Očito, da bi se izbjegla ova greška potrebno je koristiti operacije po elementima. Konkretno, da bi naša funkcija radila ispravno, potrebno je prepisati tekst funkcije u sljedećem obliku:

funkcija f = myfun(x)

f = exp(-x).*sqrt((x.^2 + 1)./(x.^4 + 0.1));

Sada argument funkcije myfun može biti ili broj ili vektor ili matrica vrijednosti, na primjer:

>>x=;

>> y=myfun(x)

Varijabla y, koja pohranjuje rezultat pozivanja funkcije myfun, automatski postaje vektor tražene veličine.

Pogledajmo primjer korištenja funkcija. Iscrtavamo funkciju myfun na segmentu pomoću programa datoteke ili iz naredbenog retka:

>> x=0:0,5:4;

>> y=myfun(x);

>>plot(x,y)

Rješavanje računalnih problema pomoću MATLAB-a zahtijevat će od vas sposobnost programiranja funkcija datoteke koje odgovaraju zadatku koji imate (na primjer, desna strana sustava diferencijalnih jednadžbi ili integrand).

Sada ćemo pogledati samo jedan jednostavan primjer kako korištenje funkcija datoteke olakšava vizualizaciju matematičkih funkcija. Upravo smo iscrtali graf koristeći plot. Imajte na umu da niste morali pozvati myfun za izračunavanje vektora y - mogli ste odmah napisati izraz za njega i zatim specificirati parx i y u dijagramu. Datotečna funkcija koja nam je na raspolaganju myfun omogućuje nam pristup posebnoj funkciji fplot, koja zahtijeva navođenje naziva naše datotečne funkcije (u apostrofima) ili pokazivača na nju (s operatorom @ ispred naziva funkcije) i granica segment za iscrtavanje (u vektoru od dva elementa)

>> fplot("myfun", )

>> fplot(@myfun, )

Treba dodati algoritam za funkciju fplot koji automatski odabire korak argumenta, smanjujući ga u područjima brze promjene funkcije koja se proučava, što korisniku daje dobar prikaz podataka.

Datotečne funkcije s više ulaznih argumenata.

Pisanje funkcija datoteke s više ulaznih argumenata praktički se ne razlikuje od pisanja jednog argumenta. Svi ulazni argumenti smješteni su na popis odvojen zarezima. Sljedeći primjer sadrži funkciju datoteke koja izračunava duljinu radijus vektora trodimenzionalne točke

razmak x 2 + y 2 + z 2 .

funkcija r = polumjer3(x,y,z) r = sqrt(x.^2 + y.^2 + z.^2);

>> R = polumjer3(1, 1, 1)

Osim funkcija s više argumenata, MATLAB omogućuje stvaranje funkcija koje vraćaju više vrijednosti, odnosno imaju više izlaznih argumenata.

Datotečne funkcije s više izlaznih argumenata.

Datotečne funkcije s više izlaznih argumenata korisne su za procjenu funkcija koje vraćaju više vrijednosti (u matematici se nazivaju vektorske funkcije). Izlazni argumenti pridodaju se popisu izlaznih argumenata, odvojeni zarezima, a sam popis nalazi se u uglatim zagradama. Sljedeći primjer pruža funkciju hms datoteke za pretvaranje vremena navedenog u sekundama u sate, minute i sekunde:

funkcija = hms(sek) sat = kat(sek/3600);

Kada pozivate funkcije datoteke s više izlaznih argumenata, rezultat treba zapisati u vektor odgovarajuće duljine:

>> = hms(10000) H =

Ako eksplicitno ne navedete izlazne parametre kada koristite ovu funkciju, tada će rezultat pozivanja funkcije biti samo prvi izlazni argument:

>> hms(10000) ans =

Ako je popis izlaznih argumenata prazan, tj. zaglavlje izgleda ovako: funkcija myfun(a, b) ili funkcija = myfun(a, b) ,

tada funkcija datoteke neće vratiti nikakve vrijednosti. Takve se funkcije također ponekad pokažu korisnima.

MATLAB funkcije imaju još jednu korisnu kvalitetu - mogućnost dobivanja informacija o njima pomoću naredbe pomoći, na primjer, pomoć fplot. Također možete dodijeliti ovo svojstvo svojim funkcijama datoteke pomoću redaka komentara. Svi redovi komentara nakon zaglavlja i prije tijela funkcije ili praznog retka ispisuju se u naredbeni prozor pomoću naredbe help. Na primjer, za našu funkciju možete stvoriti savjet:

funkcija = hms(sek) %hms - pretvara sekunde u sate, minute i sekunde

% Funkcija hms služi za pretvaranje sekundi

% u sate minute i sekunde.

% = hms (sek)

sat = kat (sek/3600);

minuta = kat((sek - sat*3600)/60); sekunda = sek - sat*3600 - minuta*60;

1.4. Podfunkcije.

Razmotrimo drugu vrstu funkcija - podfunkcije. Korištenje podfunkcija temelji se na odvajanju dijela algoritma u nezavisnu funkciju, čiji se tekst nalazi u istoj datoteci kao i glavna funkcija. Pogledajmo ovo na primjeru.

funkcija jednostavna;

% Glavna funkcija a = 2*pi;

fl = f(1,1, 2,1) f2 = f(3,1, 4,2)-a f3 = f(-2,8, 0,7)+a

funkcija z = f(x, y)% Podfunkcija

z = x^3 - 2*y^3 - x*y + 9;

Prva jednostavna funkcija je glavna funkcija u simple.m, njegove se izjave izvršavaju ako korisnik pozove simple, na primjer, iz retka za naredbe. Svaki poziv podfunkcije f u glavnoj funkciji dovodi do prijelaza na operatore koji se nalaze u podfunkciji i kasnijeg povratka na glavnu funkciju.

Funkcijska datoteka može sadržavati jednu ili više podfunkcija s vlastitim ulaznim i izlaznim parametrima, ali može postojati samo jedna glavna funkcija. Naslov nove podfunkcije također je znak završetka prethodne. Glavna funkcija razmjenjuje informacije s podfunkcijama samo putem ulaznih i izlaznih parametara. Varijable definirane u podfunkcijama iu glavnoj funkciji su lokalne, dostupne su unutar opsega svoje funkcije.

Jedan od moguće opcije Korištenje varijabli koje su zajedničke svim funkcijama M-datoteke znači deklarirati te varijable na početku glavne funkcije i podfunkcije kao globalne, koristeći global s popisom imena varijabli odvojenih razmakom.

2. Kontrolne konstrukcije programskog jezika.

Datotečne funkcije i datotečni programi koje ste izradili u prethodna dva poglavlja najviše su jednostavni primjeri programa. Sve MATLAB naredbe sadržane u njima se izvršavaju sekvencijalno. Mnogi ozbiljniji problemi zahtijevaju programe u kojima se radnje ponavljaju ciklički, a ovisno o određenim uvjetima izvršavaju se različiti dijelovi programa. Ovo poglavlje opisuje kontrolne konstrukcije programskog jezika MATLAB, koje se mogu koristiti pri pisanju programa datoteka i funkcija datoteka.

2.1. Operatori petlje.

Slične radnje koje se ponavljaju izvode se pomoću operatora za petlju i dok . Petlja for je dizajnirana za izvođenje određenog broja ponovljenih radnji, dok je petlja awhile dizajnirana za radnje čiji broj nije unaprijed poznat, ali je poznat uvjet za nastavak petlje.

For petlja.

Upotreba for je sljedeća:

za brojanje = početak:korak:konačno

MATLAB naredbe

Ovdje je count varijabla petlje, start je njena početna vrijednost, final je konačna vrijednost, astep – korak za koji se broj povećava svaki put kada se uđe u petlju. Petlja završava čim vrijednost count postane veća od konačne. Varijabla petlje može uzeti ne samo cjelobrojne vrijednosti, već i stvarne vrijednosti bilo kojeg znaka. Evo primjera korištenja for petlje. Pretpostavimo da želite prikazati grafove obitelji krivulja za x, koje

određen funkcijom y (x,a)= e − ax sinx, ovisno o parametru, za vrijednosti parametra od -0,1 do

0,1 u koracima od 0,02. Možete, naravno, sekvencijalno izračunati y(x, a) i izgraditi njegove grafove za različite vrijednosti, ali mnogo je praktičnije koristiti for petlju. Tekst programske datoteke:

slika % stvara grafički prozor

x = 0:pi/30:2*pi; % izračunava vektor vrijednosti argumenata

% petlja kroz vrijednosti parametara za a = -0,1:0,02:0,1

% izračunavanje vektora vrijednosti funkcije za trenutnu vrijednost...

parametar

y = exp(-a*x).*sin(x); % dodavanje zadržavanja na grafikonu funkcije

plot(x, y) kraj

Kao rezultat izvršavanja ovog programa datoteka, pojavit će se grafički prozor, prikazan na sl. 2, koji sadrži traženu familiju krivulja.

Riža. 2. Familija krivulja.

For petlje mogu biti ugniježđene jedna u drugu, ali varijable ugniježđenih petlji moraju biti različite. Ugniježđene petlje korisne su za popunjavanje matrica. Primjer kreiranja Hilbertove matrice:

a = nule(n); za i = 1:n

za j = 1:n

a(i, j) = 1/(i+j-1);

Za kraj ovog odjeljka, bilježimo još jednu značajku for petlje, koja, zajedno sa sposobnošću specificiranja stvarnog brojača petlje s konstantnim korakom, čini for petlju prilično univerzalnom. Niz vrijednosti može se koristiti kao vrijednosti varijable petlje:

za brojanje = A

MATLAB naredbe

Ako je A vektor reda, tada count sekvencijalno uzima vrijednost svojih elemenata svaki put kada uđe u petlju. U slučaju dvodimenzionalnog niza A, u i-tom koraku petlje, count sadrži stupac A(:,i) . Naravno, ako je A vektor stupca, tada će se petlja izvršiti samo jednom s vrijednošću brojanja A .

For petlja je korisna kada se izvodi određeni konačni broj radnji. Postoje algoritmi s nepoznatim brojem ponavljanja, koji se mogu implementirati korištenjem fleksibilnije petlje while.

Dok petlja.

Dok petlja služi za organiziranje ponavljanja iste vrste radnji u slučaju kada je broj ponavljanja unaprijed nepoznat i određen ispunjenjem nekog uvjeta. Razmotrimo primjer proširenja niza sin(x):

x 2k + 1

S (x )= ∑ (− 1)

(2k + 1) !

k = 0

Naravno, neće biti moguće zbrajati do beskonačnosti, ali možete akumulirati iznos sa zadanom točnošću, na primjer, 10-10. Očito je da je broj članova niza u ovom slučaju nepoznat, pa je korištenje operatora for nemoguće. Rješenje je korištenje while petlje, koja se izvodi dok je zadovoljen uvjet petlje:

dok uvjet ponavljanja petlje

MATLAB naredbe

U U ovom primjeru, uvjet za ponavljanje ciklusa je da modul trenutnog člana

x 2 k + 1 (2k + 1) ! više od 10-10. Tekst funkcije datoteke mysin koja izračunava zbroj niza na temelju

odnos ponavljanja:

k − 1

2k (2k + 1)

funkcija s = mysin(x)

% Izračunavanje sinusa proširenjem niza

% Upotreba: y = mysin(x),-pi< х < pi

% izračun prvog člana zbroja za k = O k = 0;

% izračun pomoćne varijable

dok je abs(u) > 1,0e-10 k = k + 1;

u = -u* x2/(2*k)/(2*k + 1); s = s + u;

Najbolji članci na temu