Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • U kontaktu sa
  • Pomoć matematičarima: Pregled MATLAB-a. Zamjena ovih veličina u diferencijalne jednadžbe i zapažanje toga

Pomoć matematičarima: Pregled MATLAB-a. Zamjena ovih veličina u diferencijalne jednadžbe i zapažanje toga

MATLAB okruženje uključuje komandni interpreter visokog nivoa, grafički sistem, pakete ekstenzija i implementirano je u C. Sav rad je organizovan kroz Command Window, koji se pojavljuje kada se pokrene program matlab.exe. U toku rada podaci se smeštaju u memoriju (Workspace), kreiraju se grafički prozori za prikaz krivulja, površina i drugih grafikona.

Proračuni se izvode u komandnom prozoru u dijalog modu. Korisnik unosi komande ili pokreće fajlove sa tekstovima na MATLAB jeziku za izvršenje. Interpretator obrađuje ulaz i prikazuje rezultate: numeričke i string podatke, upozorenja i poruke o greškama. Ulazni red je označen sa >>. Komandni prozor prikazuje brojeve, varijable unete sa tastature i rezultate proračuna. Imena varijabli moraju početi slovom. Znak = odgovara operaciji dodjeljivanja. Pritiskom na tipku Enter sistem procjenjuje izraz i prikazuje rezultat. Upišite s tastature u red za unos:

Pritisnite tipku Enter, rezultat izračuna će se pojaviti na ekranu u području za gledanje:

Sve vrijednosti varijabli izračunate tokom trenutne sesije pohranjuju se u posebno rezerviranom području računarske memorije zvanom MATLAB Workspace. Komanda clc može obrisati sadržaj komandnog prozora, ali neće uticati na sadržaj radnog prostora. Kada nema potrebe za pohranjivanjem određenog broja varijabli u trenutnoj sesiji, one se mogu izbrisati iz memorije računala pomoću naredbe clear ili clear (ime1, ime2, ...). Prva naredba uklanja sve varijable iz memorije, a druga varijable pod nazivom ime1 i ime2. Komanda who može prikazati listu svih varijabli trenutno u radnom prostoru sistema. Da vidite vrijednost bilo koje varijable iz trenutnog radnog prostora sistema, samo upišite njeno ime i pritisnite tipku Enter.

Nakon završetka MATLAB sesije, sve prethodno izračunate varijable se gube. Da biste sačuvali sadržaj MATLAB radnog prostora u fajlu na disku računara, potrebno je da izvršite komandu menija File / Save Workspace As... Podrazumevano, ekstenzija naziva datoteke je mat, pa se takvi fajlovi obično nazivaju MAT fajlovi. Da biste učitali radni prostor koji je prethodno sačuvan na disku u memoriju računara, potrebno je izvršiti naredbu menija: Datoteka / Učitaj radni prostor....

Realni brojevi i dvostruki tip podataka

MATLAB sistem predstavlja na nivou mašine sve realne brojeve specificirane mantisom i eksponentom, na primer, 2.85093E + 11, gde slovo E označava bazu stepena jednaku 10. Ovaj osnovni tip podataka se naziva dupli. MATLAB podrazumevano koristi kratki format za izlaz realnih brojeva, koji prikazuje samo četiri decimalna mesta posle decimalnog zareza.

Unesite primjer s tastature:

"Rez = 5,345 * 2,868 / 3,14-99,455 + 1,274

Dobijte rezultat izračuna:

Ako želite potpuni prikaz realnog broja res, unesite naredbu s tastature:

pritisnite Enter i saznajte više detalja:

res = -93,29900636942675

Sada će svi rezultati proračuna biti prikazani sa tako visokom tačnošću tokom ove sesije u MATLAB okruženju. Ako želite da se vratite na staru tačnost vizuelnog predstavljanja realnih brojeva u komandnom prozoru pre završetka trenutne sesije, potrebno je da unesete i izvršite (pritiskom na taster Enter) naredbu:

Cele brojeve sistem prikazuje u komandnom prozoru kao cele brojeve.

Aritmetičke operacije se izvode nad realnim brojevima i varijablama tipa double: sabiranje +, oduzimanje -, množenje *, deljenje / i stepenovanje ^. Prioritet u izvođenju aritmetičkih operacija je normalan. Operacije istog prioriteta izvode se slijeva nadesno, ali zagrade mogu promijeniti taj redoslijed.

Ako nema potrebe da se u komandnom prozoru vidi rezultat procene nekog izraza, onda na kraju unetog izraza stavite tačku i zarez i tek onda pritisnite Enter.

MATLAB sistem sadrži sve osnovne elementarne funkcije za proračune sa realnim brojevima. Svaka funkcija je okarakterizirana svojim imenom, listom ulaznih argumenata (oni su odvojeni zarezima i nalaze se unutar zagrada iza imena funkcije) i izračunatom (vraćenom) vrijednošću. Lista svih elementarnih matematičkih funkcija dostupnih u sistemu može se dobiti korištenjem naredbe help elfun. Dodatak 1 navodi standardne funkcije realnih argumenata.

Procijenite izraz koji uključuje izračunavanje arcsinusne funkcije:

Pobrinite se da dobijete sljedeći izlaz:

koji odgovara broju "pi". MATLAB ima posebnu notaciju za računanje pi: pi. (Lista MATLAB sistemskih varijabli nalazi se u Dodatku 2).

MATLAB takođe ima logičke funkcije, funkcije povezane sa celobrojnom aritmetikom (zaokruživanje na najbliži ceo broj: round, skraćivanje razlomka broja: fix). Tu je i mod funkcija - ostatak dijeljenja uzimajući u obzir predznak, sign - znak broja, lcm - najmanji zajednički višekratnik, perms - izračunavanje broja permutacija i nchoosek - broj kombinacija, i mnogi drugi. Mnoge funkcije imaju domen koji se razlikuje od skupa svih realnih brojeva.

Osim aritmetičkih operacija nad operandima tipa double, izvode se i relacijske i logičke operacije. Relacijske operacije uspoređuju dva operanda po veličini. Ove operacije su napisane sljedećim znakovima ili kombinacijama znakova (tabela 1):

Tabela 1


Ako je operacija omjera istinita, njena vrijednost je jednaka 1, a ako je netačna, ona je 0. Relacijske operacije imaju niži prioritet od aritmetičkih operacija.

Otkucajte izraz sa operacijama relacija na tastaturi i izračunajte

"A = 1; b = 2; c = 3;

»Rez = (a

Dobit ćete sljedeći izlaz:

Logičke operacije nad realnim brojevima označene su znakovima navedenim u tabeli 2:

tabela 2


& | ~
I ILI NE

Prve dvije od ovih operacija su binarne (dvooperand), a posljednja je unarna (jedan operand). Logičke operacije tretiraju svoje operande kao "tačno" (nije jednako nuli) ili "netačno" (jednako nuli). Ako su oba operanda operacije AND tačna (nisu jednaka nuli), tada je rezultat ove operacije 1 (tačno); u svim ostalim slučajevima, "AND" operacija proizvodi vrijednost 0 ("false"). Operacija OR generiše 0 (netačno) samo ako su oba operanda lažna (jednaka nuli). NOT operacija invertuje netačno u istinito. Logičke operacije imaju najniži prioritet.

Kompleksni brojevi i kompleksne funkcije

Kompleksne varijable, kao i realne, automatski su tipa double i ne zahtijevaju nikakav preliminarni opis. Slova i ili j su rezervirana za pisanje zamišljene jedinice. U slučaju kada koeficijent ispred imaginarne jedinice nije broj, već varijabla, obavezno koristite znak množenja između njih. Dakle, kompleksni brojevi se mogu napisati na sljedeći način:

"2 + 3i; -6,789 + 0,834e-2 * i; 4-2j; x + y * i;

Gotovo sve elementarne funkcije mogu se izračunati sa složenim argumentima. Procijenite izraz:

»Res = sin (2 + 3i) * atan (4i) / (1 -6i)

Rezultat će biti:

1.8009 - 1.91901

Sljedeće funkcije su posebno dizajnirane za rad sa kompleksnim brojevima: abs (apsolutna vrijednost kompleksnog broja), conj (kompleksno konjugirani broj), imag (imaginarni dio kompleksnog broja), real (stvarni dio kompleksnog broja), kut (argument kompleksnog broja), isreal ( "Tačno" ako je broj važeći). Funkcije kompleksne varijable navedene su u Dodatku 1.

Što se tiče aritmetičkih operacija, ništa novo se ne može reći za kompleksne brojeve (u poređenju sa realnim). Isto vrijedi i za operacije relacije "jednako" i "nije jednako". Ostale relacijske operacije daju rezultat zasnovan samo na stvarnim dijelovima ovih operanada.

Unesite izraz, dobijete rezultat i objasnite ga:

»C = 2 + 3i; d = 2i; »C> d

Logičke operacije tretiraju operande kao lažne ako su jednaki nuli. Ako barem jedan dio kompleksnog operanda (stvarni ili imaginarni) nije jednak nuli, tada se takav operand tretira kao istinit.

Numerički nizovi

Da biste kreirali jednodimenzionalni niz, možete koristiti operaciju konkatenacije, označenu uglastim zagradama. Elementi niza se stavljaju između zagrada i odvajaju jedan od drugog razmakom ili zarezom:

"Al =; d =;

Da biste pristupili pojedinom elementu niza, potrebno je koristiti operaciju indeksiranja, za koju se nakon naziva elementa u zagradama navede indeks elementa.

Možete promijeniti elemente već formiranog niza primjenom operacija indeksiranja i dodjele. Na primjer, unosom:

promijenit ćemo treći element niza. Ili, nakon uvoda:

"Al (2) = (al (1) + al (3)) / 2;

drugi element niza će biti jednak aritmetičkoj sredini prvog i trećeg elementa. Pisanje nepostojećeg elementa je sasvim prihvatljivo - to znači dodavanje novog elementa već postojećem nizu:

Primjenjujući funkciju dužine na niz a1 nakon ove operacije, nalazimo da se broj elemenata u nizu povećao na četiri:

Ista radnja - "produženje niza a1" - može se izvesti pomoću operacije konkatenacije:

Niz možete definirati tako što ćete napisati sve njegove elemente zasebno:

"A3 (1) = 67; a3 (2) = 7,8; a3 (3) = 0,017;

Međutim, ovaj način stvaranja nije efikasan. Drugi način za kreiranje jednodimenzionalnog niza zasniva se na upotrebi posebne funkcije označene dvotočkom (operacija formiranja raspona numeričkih vrijednosti). Unesite prvi broj raspona, korak (inkrement) i krajnji broj raspona, odvojene dvotočkom. Na primjer:

"Dijap = 3,7: 0,3: 8,974;

Ako ne trebate prikazati cijeli rezultirajući niz, onda na kraju skupa (nakon konačnog broja raspona) upišite tačku i zarez. Da biste saznali koliko elemenata ima u nizu, pozovite funkciju dužine (ime niza).

Također možete koristiti operaciju konkatenacije da kreirate dvodimenzionalni niz (matrica). Elementi niza se kucaju jedan po jedan u skladu sa njihovim položajem u redovima, a kao separator linija koristi se tačka i zarez.

Unesite sa tastature:

»A =

Pritisnite ENTER, dobijamo:

Rezultirajuća matrica 3x2 a (prva je broj redaka, druga je broj stupaca) također se može formirati vertikalnom konkatenacijom vektora reda:

»A = [;;];

ili horizontalnom konkatenacijom vektora stupaca:

»A = [,];

Strukturu kreiranih nizova možete pronaći pomoću komande whos (ime niza), veličinu niza - pomoću funkcije ndims, a veličinu niza - veličinu.

Dvodimenzionalni nizovi se također mogu specificirati korištenjem operacije indeksiranja, zapisivanjem njegovih elemenata zasebno. Broj reda i stupca, na čijem se presjeku nalazi navedeni element niza, naveden je odvojen zarezima u zagradama. Na primjer:

"A (1,1) = 1; a (1,2) = 2; a (2.1) = 3; "A (2.2) = 4; a (3.1) = 5; a (3.2) = 6;

Međutim, biće mnogo efikasnije ako, pre nego što počnete da pišete elemente niza, kreirate niz potrebne veličine pomoću funkcija jedinica (m, n) ili nula (m, n), ispunjenih jedinicama ili nulama (m je broj redova, n je broj kolona). Kada se te funkcije pozovu, memorija se unaprijed dodjeljuje za datu veličinu niza, nakon čega postupno prepisivanje elemenata sa potrebnim vrijednostima ne zahtijeva ponovnu izgradnju memorijske strukture dodijeljene nizu. Ove funkcije se također mogu koristiti kada se specificiraju nizovi drugih dimenzija.

Ako je nakon formiranja niza X potrebno promijeniti njegove dimenzije bez mijenjanja elemenata niza, možete koristiti funkciju preoblikovanja (X, M, N), gdje su M i N nove dimenzije niza X

Rad ove funkcije može se objasniti samo na osnovu načina na koji MATLAB pohranjuje elemente niza u memoriju računala. Pohranjuje ih u neprekinuto područje memorije poređano po kolonama: prvi se nalaze elementi prve kolone, zatim elementi druge kolone i tako dalje. Pored stvarnih podataka (elemenata niza), u memoriji računara se pohranjuju i kontrolne informacije: tip niza (na primjer, dvostruki), dimenzija i veličina niza i druge servisne informacije. Ove informacije su dovoljne za određivanje granica kolona. Iz toga slijedi da je za preoblikovanje matrice pomoću funkcije preoblikovanja dovoljno promijeniti samo servisne informacije i ne dirati svoje podatke.

Možete zamijeniti redove matrice sa njenim stupcima operacijom transporta, koja je označena znakom. "(Tačka i apostrof). Na primjer,

"A =;

Operacija "(apostrof) vrši transpoziciju za realne matrice i transpoziciju sa simultanom kompleksnom konjugacijom za kompleksne matrice.

Objekti sa kojima MATLAB radi su nizovi. Čak i jedan dati broj u internom MATLAB predstavljanju je niz od jednog elementa. MATLAB vam omogućava da obavljate proračune sa ogromnim nizovima brojeva jednako lako kao i sa pojedinačnim brojevima, a to je jedna od najznačajnijih i najvažnijih prednosti MATLAB sistema u odnosu na druge softverske pakete fokusirane na računarstvo i programiranje. Pored memorije potrebne za skladištenje numeričkih elemenata (8 bajtova za svaki u slučaju realnih brojeva i 16 bajtova u slučaju kompleksnih brojeva), MATLAB automatski dodeljuje memoriju za kontrolne informacije prilikom kreiranja nizova.

Računanje s nizovima

U tradicionalnim programskim jezicima, proračuni s nizovima se izvode element po element u smislu da trebate programirati svaku zasebnu operaciju na posebnom elementu niza. U M-jeziku MATLAB sistema, moćne grupne operacije su dozvoljene na cijelom nizu odjednom. Grupne operacije MATLAB sistema omogućavaju izuzetno kompaktno definisanje izraza, u čijem proračunu se zapravo obavlja ogroman posao.

Operacije sabiranja i oduzimanja matrice su označene standardnim znakovima + i -.

Odredite matrice A i B i izvršite operaciju sabiranja matrice:

"A =; B =;

Ako se koriste operandi različitih veličina, izdaje se poruka o grešci, osim ako jedan od operanada nije skalar. Prilikom izvođenja operacije A + skalar (A je matrica), sistem će proširiti skalar na niz veličine A, koji se zatim dodaje element po element sa A.

Za množenje po elementima i dijeljenje nizova iste veličine po elementima, kao i za eksponencijaciju nizova po elementima, koriste se operacije označene kombinacijama dva simbola:. *, ./, i. ^. Upotreba kombinacija simbola objašnjava se činjenicom da simboli * i / označavaju specijalne operacije linearne algebre na vektorima i matricama.

Pored operacije. /, koja se zove operacija desnog dijeljenja po elementima, postoji i operacija lijevog dijeljenja po elementima. \. Razlika između ovih operacija: izraz A. / B vodi do matrice sa elementima A (k, m) / B (k, m), a izraz A. \ B vodi do matrice sa elementima B (k, m ) / A (k , m).

Znak * se dodeljuje množenju matrica i vektora u smislu linearne algebre.

Znak \ je fiksiran u MATLAB sistemu za rješavanje prilično složenog problema u linearnoj algebri - pronalaženje korijena sistema linearnih jednačina. Na primjer, ako je potrebno riješiti sistem linearnih jednadžbi Ay = b, gdje je A data kvadratna matrica veličine N'N, b je dati vektor stupca dužine N, onda pronaći nepoznati vektor stupca y je dovoljno da se izračuna izraz A \ b (ovo je ekvivalentno operaciji : A -1 B).

Tipični problemi analitičke geometrije u prostoru, povezani sa pronalaženjem dužina vektora i uglova između njih, sa proračunom skalarnih i vektorskih proizvoda, lako se rešavaju različitim sredstvima MATLAB sistema. Na primjer, da se pronađe unakrsni proizvod vektora, koristi se posebna funkcija križ, na primjer:

"U =; v =;

Tačkasti proizvod vektora može se izračunati korišćenjem funkcije opšte namene sum, koja izračunava zbir svih elemenata vektora (za matrice, ova funkcija izračunava sume za sve kolone). Poznato je da je skalarni proizvod jednak zbiru proizvoda odgovarajućih koordinata (elemenata) vektora. Dakle, izraz: "zbir (u. * V)

izračunava tačkasti proizvod dva vektora u i v. Tačkasti proizvod se također može izračunati kao: u * v ".

Dužina vektora se izračunava korištenjem dot proizvoda i funkcije kvadratnog korijena, na primjer:

»Sqrt (zbroj (u. * U))

Relacije i logičke operacije o kojima smo ranije govorili za skalare se izvode element po element u slučaju nizova. Oba operanda moraju biti iste veličine, a operacija vraća rezultat iste veličine. U slučaju kada je jedan od operanada skalar, vrši se njegovo preliminarno proširenje, čije je značenje već objašnjeno na primjeru aritmetičkih operacija.

Među funkcijama koje generiraju matrice sa datim svojstvima, funkcija oko, koji proizvodi jedinične kvadratne matrice, kao i široko korištenu funkciju rand, koja generiše niz sa slučajnim elementima ravnomjerno raspoređenim u intervalu od 0 do 1. Na primjer, izraz

generiše 3x3 niz slučajnih brojeva sa elementima ravnomerno raspoređenim od 0 do 1.

Ako ovu funkciju pozovete sa dva argumenta, na primjer R = rand (2,3), dobićete 2x3 matricu R slučajnih elemenata. Pozivanje randa sa tri ili više skalarnih argumenata proizvodi višedimenzionalne nizove slučajnih brojeva.

Determinanta kvadratne matrice se izračunava pomoću det funkcije. Među funkcijama koje izvode najjednostavnije kalkulacije na nizovima, uz gore razmatranu funkciju zbroja, koristi se i funkcija prod, koja je u svemu slična funkciji zbrajanja, samo što izračunava ne zbroj elemenata, već njihov proizvod. Funkcije max i min traže maksimalne i minimalne elemente niza, respektivno. Za vektore, oni vraćaju jednu numeričku vrijednost, a za matrice proizvode skup ekstremnih elemenata izračunatih za svaki stupac. Funkcija sortiranja sortira elemente jednodimenzionalnih nizova uzlaznim redoslijedom, a za matrice to sortira za svaki stupac posebno.

MATLAB ima jedinstvenu sposobnost izvođenja skupnih proračuna na nizovima koristeći obične matematičke funkcije, koje u tradicionalnim programskim jezicima rade samo sa skalarnim argumentima. Kao rezultat toga, uz pomoć izuzetno kompaktnih zapisa, pogodnih za unos sa tastature u interaktivnom režimu rada sa komandnim prozorom MATLAB sistema, moguće je izvršiti veliku količinu proračuna. Na primjer, samo dva kratka izraza

"X = 0: 0,01: pi / 2; y = sin (x);

izračunajte vrijednosti sin funkcije odjednom u 158 tačaka, formirajući dva vektora x i y sa po 158 elemenata.

Funkcije crtanja

Grafičke mogućnosti MATLAB-a su moćne i raznovrsne. Hajde da istražimo funkcije koje se najlakše koriste (grafika visokog nivoa).

Formirajte dva vektora x i y:

"X = 0: 0,01: 2; y = sin (x);

Pozovite funkciju:

a na ekranu ćete dobiti grafik funkcije (slika 1).

Rice. 1. Grafikon funkcije y = sin (x)

MATLAB prikazuje grafičke objekte u posebnim grafičkim prozorima sa riječju Figure u naslovu. Bez uklanjanja prvog grafičkog prozora sa ekrana, unesite izraze sa tastature

i dobiti novi graf funkcije u istom grafičkom prozoru (u ovom slučaju nestaju stare koordinatne ose i graf - to se može postići i naredbom clf, sa naredbom cla samo se graf briše, donoseći koordinate osi do njihovih standardnih raspona od 0 do 1).

Ako trebate nacrtati drugi graf "preko prvog grafa", onda prije drugog poziva grafičke funkcije plot, morate izvršiti naredbu hold on, koja je dizajnirana da zadrži trenutni grafički prozor:

"X = 0: 0,01: 2; y = sin (x);

Gotovo isto će se dogoditi (slika 2), ako upišete:

"X = 0: 0,01: 2; y = sin (x); z = cos (x);

»Grafikon (x, y, x, z)

Rice. 2. Grafovi funkcija y = sin (x), z = cos (x), ugrađeni u jedan grafički prozor

Ako trebate istovremeno prikazati nekoliko grafova tako da ne ometaju jedan drugog, onda se to može učiniti na dva načina. Prvo rješenje je da ih napravite u različitim grafičkim prozorima. Da biste to učinili, prije drugog poziva funkcije plot, upišite naredbu figure, koja kreira novi grafički prozor i prisiljava sve sljedeće funkcije crtanja da ih tamo prikažu.

Drugo rješenje za prikaz višestrukih dijagrama bez konfliktnih raspona koordinata je korištenje funkcije subplot. Ova funkcija vam omogućava da podijelite područje prikaza grafičkih informacija na nekoliko podoblasti, u svakoj od kojih možete prikazati grafikone različitih funkcija.

Na primjer, za prethodno obavljene proračune sa sin i cos funkcijama, ucrtajte ove dvije funkcije u prvu poddomenu, a grafiku funkcije exp (x) u drugu poddomenu istog grafičkog prozora (slika 3):

"Podzaplet (1,2,1); dijagram (x, y, x, z)

"Podzaplet (1,2,2); dijagram (x, w)

Rice. 3. Grafovi funkcija y = sin (x), z = cos (x) i w = exp (x), izgrađeni u dva poddomena istog grafičkog prozora

Opsezi varijacije varijabli na koordinatnim osa ovih poddomena su nezavisni jedan od drugog. Funkcija subplot prihvata tri numerička argumenta, od kojih je prvi jednak broju redova podoblasti, drugi je jednak broju kolona podoblasti, a treći argument je broj podoblasti (broj se broji duž redova sa prelaskom u novi red kada se iscrpi). Možete ukloniti akciju funkcije subplot naredbom:

»Podzaplet (1,1,1)

Ako su rasponi varijabli duž jedne ili obje ose preveliki za jedan dijagram, možete koristiti funkcije crtanja u logaritamskim skalama. Za to su dizajnirane funkcije semilogx, semilogy i loglog.

Možete iscrtati funkciju u polarnim koordinatama (slika 4) koristeći funkciju polarnog grafa.

"Phi = 0: 0,01: 2 * pi; r = sin (3 * phi);

Rice. 4. Grafikon funkcije r = sin (3 * phi) u polarnim koordinatama

Razmotrimo dodatne mogućnosti vezane za upravljanje izgledom grafikona - postavljanje boje i stila linija, kao i postavljanje raznih oznaka unutar grafičkog prozora. Na primjer, komande

"X = 0: 0,1: 3; y = sin (x);

»Prikaz (x, y," r - ", x, y," ko ")

omogućavaju vam da grafici date izgled crvene pune linije (slika 5), ​​na kojoj su crni krugovi postavljeni u diskretnim izračunatim tačkama. Ovdje funkcija plot iscrtava istu funkciju dva puta, ali u dva različita stila. Prvi od ovih stilova je označen kao "r-", što znači crtanje linije crvenom (slovo r), a crta znači crtanje pune linije. Drugi stil, označen kao "ko", znači crtanje crnih (slovo k) krugova (slovo o) umjesto izračunatih tačaka.

Rice. 5. Iscrtavanje funkcije y = sin (x) u dva različita stila

Općenito, funkcija dijagrama (x1, y1, s1, x2, y2, s2, ...) vam omogućava da kombinujete nekoliko grafova funkcija y1 (x1), y2 (x2), ... u jednom grafičkom prozoru pomoću crtajući ih stilovima s1, s2, ... itd.

Stilovi s1, s2, ... su specificirani kao skup od tri markera karaktera zatvorena u jednostruke navodnike (apostrofe). Jedan od ovih markera definira tip linije (Tablica 3). Drugi marker postavlja boju (tabela 4). Posljednji marker postavlja tip "bodova" koji se postavljaju (Tabela 5). Ne mogu se navesti sva tri markera. Tada se koriste zadani markeri. Redoslijed kojim su markeri usmjereni nije bitan, to jest, "r + -" i "- + r" daju isti rezultat.

Tablica 3. Markeri koji određuju tip linije

Tabela 4 Markeri koji određuju boju linije

Tabela 5 Markeri koji određuju tip tačke

Ako stavite marker na tip tačke u liniji stila, ali ne stavite marker na tip linije, tada se prikazuju samo izračunate tačke, a ne povezuju se kontinuiranom linijom.


MATLAB postavlja granice na horizontalnoj osi na vrijednosti koje je odredio korisnik za nezavisnu varijablu. Za zavisnu promenljivu duž vertikalne ose, MATLAB nezavisno izračunava opseg vrednosti funkcije. Ako trebate napustiti ovu funkciju skaliranja kada crtate grafove u MATLAB sistemu, onda morate eksplicitno nametnuti vlastita ograničenja za promjenu varijabli duž koordinatnih osa. Ovo se radi pomoću funkcije axis ().

Funkcije xlabel, ylabel, title i text koriste se za postavljanje različitih oznaka na rezultirajuću sliku. Funkcija xlabel kreira oznaku za horizontalnu os, funkcija ylabel - također za vertikalnu os (štaviše, ove oznake su orijentirane duž koordinatnih osa). Ako želite da postavite natpis na proizvoljno mjesto na slici, koristite funkciju teksta. Opšti naslov grafikona kreira funkcija title. Osim toga, koristeći mrežu na komandi, možete primijeniti mjernu mrežu na cijelo područje crtanja. Na primjer (sl. 6):

"X = 0: 0,1: 3; y = sin (x);

»Prikaz (x, y," r - ", x, y," ko ")

»Naslov (" Funkcija sin (x) graf");

»Xlabel (" xcoordinate "); ylabel ("grijeh (x)");

»Tekst (2.1, 0.9," \ leftarrowsin (x) "); grid on

Naslov sa funkcijom teksta postavlja se počevši od tačke sa koordinatama navedenim u prva dva argumenta. Podrazumevano, koordinate su navedene u istim jedinicama kao koordinate navedene na horizontalnoj i vertikalnoj osi. Posebni kontrolni znakovi se unose u tekst nakon znaka \ (obrnuta kosa crta).

3D grafika

Svaku tačku u prostoru karakteriziraju tri koordinate. Skup tačaka koje pripadaju određenoj liniji u prostoru mora biti specificiran u obliku tri vektora, od kojih prvi sadrži prve koordinate ovih tačaka, drugi vektor sadrži njihove druge koordinate, a treći vektor sadrži treće koordinate. Nakon toga, ova tri vektora se mogu unijeti na ulaz funkcije plot3, koja će projektovati odgovarajuću trodimenzionalnu liniju na ravan i izgraditi rezultujuću sliku (slika 7). Unesite sa tastature:

"T = 0: pi / 50: 10 * pi; x = sin (t);

»Y = cos (t); ploca3 (x, y, t); grid on

Rice. 7. Grafikon heliksa, nacrtan pomoću funkcije plot3

Ista funkcija plot3 može se koristiti za crtanje površina u prostoru, ako, naravno, ne nacrtate jednu liniju, već više. Ukucajte sa tastature:

"U = -2: 0,1: 2; v = -1: 0,1: 1;

"= Mreža (u, v);

»Z = exp (-X. ^ 2-Y. ^ 2);

Dobijte 3D dijagram funkcije (slika 8).

Funkcija plot3 iscrtava graf kao skup linija u prostoru, od kojih je svaka dio trodimenzionalne površine sa ravnima paralelnim ravnini yOz. Pored ove najjednostavnije funkcije, MATLAB ima niz drugih funkcija koje vam omogućavaju da postignete više realizma u slici trodimenzionalnih grafova.

Rice. 8. Grafikon površine u prostoru, izgrađen pomoću funkcije plot3


Skripte i m-fajlovi.

Za jednostavne operacije, interaktivni način rada je zgodan, ali ako se proračuni moraju izvoditi više puta ili je potrebno implementirati složene algoritme, onda treba koristiti MATLAB m-fajlove (ekstenzija datoteke se sastoji od jednog slova m). script-m-file (ili script) - tekstualni fajl koji sadrži instrukcije na MATLAB jeziku, koji se izvršava u automatskom batch modu. Pogodnije je kreirati takav fajl koristeći MATLAB editor. Poziva se iz komandnog prozora MATLAB sistema koristeći komandu menija File / New / M-file (ili krajnje levo dugme na traci sa alatkama koje prikazuje prazan beli list papira). Komande upisane u datoteke skripte će se izvršiti ako unesete ime datoteke skripte (bez ekstenzije) u komandnu liniju. Varijable definisane u komandnom prozoru i varijable definisane u skriptama čine jedan radni prostor MATLAB sistema, a varijable definisane u skriptama su globalne, njihove vrednosti će zameniti vrednosti istih varijabli koje su korišćene pre ove skripte fajl je pozvan.

Nakon kreiranja teksta skripte, on mora biti sačuvan na disku. Putanja do direktorija sa fajlom mora biti poznata MATLAB sistemu. Naredba File / Set Path poziva dijaloški okvir preglednika putanje direktorija. Da biste dodali novi direktorij na listu pristupnih staza, slijedite naredbu menija Putanja / Dodaj put.

Rad iz MatLab komandne linije je težak ako trebate unijeti mnogo naredbi i često ih mijenjati. Vođenje dnevnika sa naredbom dnevnika i čuvanje radnog okruženja samo malo olakšavaju stvari. Najprikladniji način za izvršavanje MatLab komandi je korištenje M-fajlovi, u koji možete upisivati ​​komande, izvršavati ih sve odjednom ili u dijelovima, pohranjivati ​​ih u datoteku i koristiti ih kasnije. M-file editor je namijenjen za rad sa M-datotekama. Koristeći ovaj uređivač, možete kreirati vlastite funkcije i pozvati ih, uključujući i iz komandne linije.

Proširite meni File glavnog MatLab prozora iu paragrafu Novo izaberite podstavku M-fajl... Nova datoteka se otvara u prozoru uređivača M-fajla.

Unesite komande u uređivaču koje vode do izgradnje dva grafikona u jednom grafičkom prozoru:

x =;
f = exp (-x);
podzaplet (1, 2, 1)
dijagram (x, f)
g = sin (x);
podzaplet (1, 2, 2)
dijagram (x, g)

Sačuvajte sada datoteku pod nazivom mydemo.m u poddirektorijum rad glavnog MatLab direktorija odabirom stavke Sačuvaj kao meni File urednik. Da biste pokrenuli sve naredbe sadržane u datoteci za izvršenje, odaberite stavku Trči na meniju Otklanjanje grešaka. Na ekranu će se pojaviti grafički prozor. Slika br.1, koji sadrži grafove funkcija. Ako odlučite da nacrtate kosinus umjesto sinusa, onda jednostavno promijenite liniju g = sin (x) u M-datoteci u g = cos (x) i ponovo pokrenite sve naredbe.

Napomena 1

Ako se napravi greška pri kucanju i MatLab ne može prepoznati komandu, tada se naredbe izvršavaju sve dok se ne unese pogrešno, nakon čega se u komandnom prozoru prikazuje poruka o grešci.

Veoma zgodna karakteristika koju nudi M-file editor je izvršavanje nekih naredbi. Zatvorite grafički prozor Slika br.1. Odaberite mišem dok držite lijevu tipku ili tipkama sa strelicama dok držite pritisnuto , prve četiri komande programa i izvršiti ih iz tačke Evaluate Odabir meni Tekst. Imajte na umu da je u grafičkom prozoru prikazan samo jedan grafikon, koji odgovara izvršenim komandama. Zapamtite da za izvršenje neke od naredbi odaberite ih i pritisnite ... Izvršite preostale tri programske komande i pratite stanje grafičkog prozora. Vježbajte sami, ukucajte bilo koje primjere iz prethodnih laboratorija u uređivač M-file i pokrenite ih.

Mogu se isporučiti pojedinačni blokovi M-fajla komentari, koji se preskaču tokom izvršavanja, ali su zgodni kada radite sa M-fajlom. Komentari u MatLabu počinju sa znakom procenta i automatski su označeni zelenom bojom, na primjer:

% iscrtavanje sin (x) u posebnom prozoru

Više datoteka može biti otvoreno istovremeno u M-file editoru. Prijelaz između datoteka se vrši pomoću oznaka s nazivima datoteka koje se nalaze na dnu prozora uređivača.

Otvaranje postojeće M-fajla se vrši pomoću stavke Otvori meni File radno okruženje, ili urednik M-fajlova. Također možete otvoriti datoteku u editoru koristeći MatLab edit naredbu iz komandne linije, navodeći ime datoteke kao argument, na primjer:

Naredba za uređivanje bez argumenta kreira novu datoteku.
Sve primjere koji se nalaze u ovoj i sljedećim laboratorijima najbolje je ukucati i sačuvati u M-fajli, dopuniti komentarima i izvršiti iz M-file editora. Primena numeričkih metoda i programiranja u MatLabu zahteva kreiranje M-fajlova.

2. Vrste M-fajla

Postoje dvije vrste M-fajlova u MatLabu: programski fajl(Script M-Files) koji sadrži niz naredbi, i fajl-funkcije(Function M-Files), koji opisuju korisnički definirane funkcije.

Kreirali ste programsku datoteku (proceduralnu datoteku) kada ste pročitali prethodni pododjeljak. Sve varijable deklarirane u programskoj datoteci postaju dostupne u proizvodnom okruženju nakon njegovog izvršenja. Pokrenite program datoteka prikazan u pododjeljku 2.1 u uređivaču datoteka M? i upišite who u komandnu liniju da vidite sadržaj radnog okruženja. Opis varijabli će se pojaviti u komandnom prozoru:

„Ko
Naziv Veličina Bajtovi Klasa
f 1x71 568 dvostruki niz
g 1x71 568 dvostruki niz
x 1x71 568 dupli niz
Ukupno je 213 elemenata koji koriste 1704 bajta

Varijable definirane u jednoj programskoj datoteci mogu se koristiti u drugim programima datoteka i u naredbama koje se izvršavaju iz komandne linije. Izvršavanje naredbi sadržanih u datotečnom programu izvodi se na dva načina:

  • Iz M-file editora kao što je gore opisano.
  • Iz komandne linije ili drugog programskog fajla, dok se ime M-datoteke koristi kao naredba.

Upotreba druge metode je mnogo praktičnija, posebno ako će se kreirana programska datoteka kasnije više puta koristiti. U stvari, generirani M-fajl postaje komanda koju MatLab razumije. Zatvorite sve grafičke prozore i upišite mydemo u komandnu liniju, pojaviće se grafički prozor koji odgovara komandama u programskoj datoteci mydemo.m. Nakon unosa naredbe mydemo MatLab izvodi sljedeće radnje.

  • Provjerava da li je unesena naredba ime neke od varijabli definiranih u proizvodnom okruženju. Ako se unese varijabla, tada se prikazuje njena vrijednost.
  • Ako nije unesena varijabla, tada MatLab traži unesenu naredbu među ugrađenim funkcijama. Ako se pokaže da je naredba ugrađena funkcija, onda se izvršava.

Ako nije unesena varijabla ili ugrađena funkcija, onda MatLab počinje tražiti M-datoteku s imenom naredbe i ekstenzijom m... Pretraga počinje sa trenutni imenik(Trenutni direktorij), ako M-datoteka nije pronađena u njemu, tada MatLab pretražuje direktorije instalirane u staze pretraživanja(Put). Pronađeni M-fajl se izvršava u MatLabu.

Ako nijedna od gore navedenih radnji nije dovela do uspjeha, tada se u komandnom prozoru prikazuje poruka, na primjer:

»Mydem
??? Nedefinirana funkcija ili varijabla "mydem".

Tipično, M-datoteke su pohranjene u korisničkom direktoriju. Da bi ih MatLab pronašao, trebali biste postaviti putanje koje ukazuju na lokaciju M-fajlova.

Napomena 2

Trebali biste zadržati svoje M-fajlove izvan glavnog MatLab direktorija iz dva razloga. Prvo, prilikom ponovnog instaliranja MatLab-a, datoteke koje se nalaze u poddirektorijumima glavnog MatLab direktorija mogu biti uništene. Drugo, pri pokretanju MatLab-a, svi fajlovi poddirektorijuma toolboxa se stavljaju u memoriju računara na neki optimalan način kako bi se povećao radni učinak. Ako ste zapisali M-fajl u ovaj direktorij, tada će ga biti moguće koristiti tek nakon ponovnog pokretanja MatLaba.

3. Postavljanje staza

U MatLab verzijama 6 .x određuju se trenutni direktorij i staze pretraživanja. Ova svojstva se postavljaju pomoću odgovarajućih dijaloških okvira ili pomoću naredbi iz komandne linije.

Trenutni direktorij se određuje u dijaloškom okviru Current Imenik radno okruženje. Prozor je prisutan u radnom okruženju ako je stavka odabrana Current Imenik meni Pogled radno okruženje.
Trenutni direktorij se bira sa liste. Ako nije na listi, onda se može dodati iz dijaloškog okvira Pregledaj za Folder, poziva se klikom na dugme koje se nalazi desno od liste. Sadržaj trenutnog direktorija je prikazan u tabeli datoteka.

Putanja pretraživanja su definirana u dijaloškom okviru Set Put navigator staza, kojem se pristupa sa tačke Set Put meni File radno okruženje.

Da biste dodali imenik, kliknite na dugme Dodati Folder Pregledaj za Put odaberite željeni direktorij. Dodavanje direktorija sa svim njegovim poddirektorijumima vrši se klikom na dugme Dodaj sa podfolderima. MATLAB traži put. Redoslijed pretraživanja odgovara lokaciji staza u ovom polju, pri čemu prvo gleda direktorij koji se nalazi na vrhu liste. Redoslijed pretraživanja se može promijeniti ili se putanja do imenika može potpuno izbrisati, za što odaberite imenik u polju MATLAB traži put i odredite njegov položaj pomoću sljedećih dugmadi:
Pokret to Top - pomaknite se na vrh liste;
Pokret Gore - pomaknuti se za jednu poziciju;
Ukloni - ukloniti sa liste;
Pokret Dole - pomeriti se za jednu poziciju naniže;
Pokret to Dno - staviti na dno liste.

4. Naredbe za postavljanje staza.

Koraci za postavljanje staza u MatLab 6 .x duplicirano naredbama. Trenutni direktorij se postavlja naredbom cd, na primjer cd c: \ users \ igor. Naredba cd, pozvana bez argumenta, ispisuje putanju do trenutnog direktorija. Da biste postavili putanje, koristite naredbu path, koja se poziva s dva argumenta:

staza (putanja, "c: \ korisnici \ igor") - dodaje direktorij c: \ users \ igor sa najnižim prioritetom pretraživanja;
staza ("c: \ korisnici \ igor", put) - dodaje direktorij c: \ users \ igor s najvišim prioritetom pretraživanja.

Korištenje naredbe path bez argumenata rezultira popisom putanja pretraživanja prikazanom na ekranu. Možete ukloniti putanju sa liste koristeći naredbu rmpath:

rmpath ("c: \ users \ igor") uklanja putanju do direktorija c: \ users \ igor sa liste staza.

Napomena 3

Nemojte nepotrebno brisati putanje do direktorija, posebno one u čiju svrhu niste sigurni. Uklanjanje može dovesti do činjenice da će neke od funkcija definiranih u MatLabu postati nedostupne.

Primjer. Kreirajte u korijenskom direktoriju diska D(ili bilo koji drugi disk ili direktorij u kojem je studentima dozvoljeno da kreiraju svoje imenike) direktorij sa vašim prezimenom, na primjer, WORK_IVANOV, i tamo upišite M-datoteku mydemo.m pod imenom mydemo3.m. Postavite putanje do datoteke i pokažite da je datoteka dostupna iz komandne linije. Navedite rezultate u laboratorijskom izvještaju.

Opcija rješenja:

1. U korijenskom direktoriju diska D kreira se direktorij WORK_IVANOV.
2. M-datoteka mydemo.m pod imenom mydemo3.m upisuje se u WORK_IVANOV direktorij.
3. Otvara se okvir za dijalog. Set Put meni File radno okruženje MatLab.
4. Tipka je pritisnuta Dodati Folder i u dijalogu koji se pojavi Pregledaj za Put izabran je direktorij WORK_IVANOV.
5. Dodavanje imenika sa svim njegovim poddirektorijumima vrši se pritiskom na dugme Dodati sa Podmape. U polju se pojavljuje put do dodanog direktorija MATLAB traži put.
6. Za memorisanje putanje pritisnite tipku Sačuvaj dijaloški okvir Set Put.
7. Provjera ispravnosti svih radnji upisivanjem naredbe mydemo3 iz komandne linije. Na ekranu će se pojaviti grafički prozor.

5. Funkcije datoteke

Gore navedeni fajl programi su niz MatLab komandi, nemaju ulazne i izlazne argumente. Da biste koristili numeričke metode i prilikom programiranja vlastitih aplikacija u MatLabu, morate biti u mogućnosti sastaviti funkcije datoteka koje izvode potrebne radnje s ulaznim argumentima i vraćaju rezultat u izlaznim argumentima. U ovom pododjeljku govori se o nekoliko jednostavnih primjera koji će vam pomoći da shvatite kako raditi s funkcijama datoteka. Funkcije datoteka, poput procedura datoteka, kreiraju se u uređivaču M-datoteka.

5.1. Funkcije datoteke s jednim ulaznim argumentom

Pretpostavimo da je u proračunima često potrebno koristiti funkciju

Ima smisla jednom napisati funkciju datoteke, a zatim je pozvati gdje god je potrebno za procjenu ove funkcije. Otvorite novu datoteku u uređivaču M-datoteka i unesite tekst liste

funkcija f = myfun (x)
f = exp (-x) * sqrt ((x ^ 2 + 1) / (x ^ 4 + 0,1));

Riječ funkcija u prvom redu navodi da ova datoteka sadrži funkcijsku datoteku. Prvi red je zaglavlje funkcije, koji domaćini naziv funkcije i liste ulaznih i izlaznih argumenata. U primjeru prikazanom na listi, ime funkcije je myfun, jedan ulazni argument je x, a jedan izlaz je f. Nakon naslova slijedi funkcionalno tijelo(u ovom primjeru sastoji se od jednog reda), gdje se izračunava njegova vrijednost. Važno je da se izračunata vrijednost upiše u f. Tačka sa zarezom je uključena kako bi se spriječilo prikazivanje nepotrebnih informacija na ekranu.

Sada spremite datoteku u svoj radni direktorij. Napominjemo da je odabir artikla Sačuvaj ili Sačuvaj as meni File dovodi do pojave dijaloškog okvira za spremanje datoteke, u polju File ime koji već sadrži naziv myfun. Nemojte ga mijenjati, sačuvajte funkcijsku datoteku u datoteku s predloženim imenom.

Sada se kreirana funkcija može koristiti na isti način kao i ugrađene sin, cos i druge, na primjer, iz komandne linije:

"Y = moja zabava (1.3)
Y =
0.2600

Vlastite funkcije mogu se pozvati iz programske datoteke i iz druge funkcije datoteke.

Upozorenje

Direktorij koji sadrži funkcijsku datoteku mora biti aktuelan, ili se put do njega mora dodati stazama pretraživanja, inače MatLab jednostavno neće pronaći funkciju, ili umjesto toga pozvati drugu s istim imenom (ako se nalazi u dostupnim direktorijima za pretragu).

Funkcija datoteke prikazana na listi ima jedan značajan nedostatak. Pokušaj izračunavanja vrijednosti funkcije iz niza rezultira greškom, a ne nizom vrijednosti, kao što se događa kada se procjenjuju ugrađene funkcije.

"X =;
"Y = moja zabava (x)
??? Greška u korištenju ==> ^
Matrica mora biti kvadratna.
Greška u ==> C: \ MATLABRll \ work \ myfun.m
Na liniji 2 ==> f = exp (-x) * sqrt ((x ^ 2 + 1) / (x ^ 4 + 1));

Ako ste proučavali rad s nizovima, otklanjanje ovog nedostatka neće uzrokovati poteškoće. Vi samo trebate koristiti operacije po elementima kada izračunavate vrijednost funkcije.
Izmijenite tijelo funkcije kao što je prikazano na sljedećem popisu (ne zaboravite da sačuvate promjene u datoteci myfun.m).

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 = moja zabava (x)
Y =
0.2600 0.0001

Varijabla y, u koju je upisan rezultat poziva funkcije myfun, automatski postaje vektor tražene veličine.

Iscrtajte funkciju myfun na segmentu iz komandne linije ili pomoću programa za datoteke:

x =;
y = myfun (x);
parcela (x, y)

MatLab pruža još jednu priliku za rad sa file-funkcijama - koristeći ih kao argumente za neke naredbe. Na primjer, za crtanje dijagrama koristi se posebna funkcija fplot, koja zamjenjuje gore prikazani niz naredbi. Kada pozivate fplot, ime funkcije čiji graf želite iscrtati je zatvoreno u apostrofima, granice crtanja su specificirane u vektoru reda od dva elementa

fplot ("moja zabava",)

Iscrtajte myfun plotove sa plot i fplot na istim osama uz zadržavanje. Imajte na umu da dijagram iscrtan sa fplot preciznije odražava ponašanje funkcije, budući da fplot sam bira korak argumenta, smanjujući ga u područjima brze promjene prikazane funkcije. Navedite rezultate u laboratorijskom izvještaju.

5.2. Funkcije datoteke s višestrukim ulaznim argumentima

Pisanje funkcija datoteke sa nekoliko ulaznih argumenata je praktično isto kao i u slučaju jednog argumenta. Svi ulazni argumenti se stavljaju u listu razdvojenu zarezima. Na primjer, sljedeći popis sadrži funkciju datoteke koja izračunava dužinu vektora radijusa tačke u trodimenzionalnom prostoru
Popis funkcije datoteke s nekoliko argumenata

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

»R = radijus3 (1, 1, 1)
R =
1.732

Pored funkcija s višestrukim ulaznim argumentima, MatLab vam omogućava kreiranje funkcija koje vraćaju više vrijednosti, tj. ima više izlaznih argumenata.

5.3. Funkcije datoteke s više izlaznih argumenata

Funkcije datoteke s više izlaznih argumenata korisne su kada se procjenjuju funkcije koje vraćaju više vrijednosti (u matematici se nazivaju vektorske funkcije). Izlazni argumenti se dodaju listi izlaznih argumenata, odvojeni zarezima, a sama lista je zatvorena u uglastim zagradama. Dobar primjer je funkcija koja pretvara vrijeme u sekundama u sate, minute i sekunde. Ova funkcija datoteke prikazana je na sljedećem popisu.

Popis funkcije za pretvaranje sekundi u sate, minute i sekunde

funkcija = hms (sek)
sat = sprat (sec / 3600);
minuta = sprat ((sec-sat * 3600) / 60);
sekunda = sek-sat * 3600 minuta * 60;

Prilikom pozivanja funkcija datoteke s nekoliko izlaznih argumenata, rezultat bi trebao biti zapisan u vektor odgovarajuće dužine:

"[H, M, S] = hms (10000)
H =
2
M =
46
S =
40

6. Osnove programiranja u MatLabu

Funkcije datoteka i programski fajl korišteni u prethodnim pododjeljcima su najjednostavniji primjeri programa.Sve MatLab naredbe sadržane u njima se izvršavaju sekvencijalno. Za rješavanje mnogih ozbiljnijih problema potrebno je pisati programe u kojima se radnje izvode ciklično ili se, ovisno o određenim uvjetima, izvršavaju različiti dijelovi programa. Razmotrimo glavne operatore koji postavljaju redoslijed izvršavanja MatLab komandi. Operatori se mogu koristiti i u procedurama datoteka i u funkcijama, što vam omogućava da kreirate programe sa složenom razgranatom strukturom.

6.1. Operator petlje za

Operator je dizajniran da izvrši određeni broj radnji koje se ponavljaju. Najjednostavnija upotreba for izjave je kako slijedi:

za count = početak: korak: konačni
MatLab komande
kraj

Ovdje je count varijabla petlje, start je njena početna vrijednost, final je konačna vrijednost, a step je korak za koji se broj povećava svaki put kada se uđe u petlju. Petlja se završava čim broj postane veći od konačnog. Varijabla petlje može uzeti ne samo vrijednosti cijelih brojeva, već i realne vrijednosti bilo kojeg predznaka. Analizirajmo upotrebu operatora petlje for koristeći neke tipične primjere.
Neka je potrebno izvesti familiju krivulja za, koja je data funkcijom u zavisnosti od parametra za vrijednosti parametara od -0,1 do 0,1.
Unesite tekst procedure datoteke u M-file editor i sačuvajte ga u FORdem1.m datoteci i pokrenite (iz M-file editora ili iz komandne linije tako što ćete u njega upisati komandu FORdem1 i pritisnuti ):

% fajl-program za konstruisanje porodice krivulja
x =;
za a = -0,1: 0,02: 0,1
y = exp (-a * x). * sin (x);
Čekaj
parcela (x, y)
kraj

Napomena 4

M-file editor automatski nudi postavljanje naredbi unutar petlje, uvučene od lijeve ivice. Iskoristite ovu priliku za praktičnost rada sa tekstom programa.

Kao rezultat izvršenja FORdem1, pojaviće se grafički prozor koji sadrži potrebnu porodicu krivulja.

Napišite programski fajl za izračunavanje sume

Algoritam za izračunavanje sume koristi akumulaciju rezultata, tj. u početku je zbir jednak nuli ( S= 0), zatim u varijablu k Upisuje se 1, izračunava se 1 / k! se dodaje u S i rezultat se ponovo unosi S... Dalje k povećava se za jedan, a proces se nastavlja sve dok zadnji član ne postane 1/10 !. Datotečni program Fordem2, prikazan na sljedećem popisu, izračunava potrebnu količinu.

Ispis Fordem2 fajl programa za izračunavanje sume

% fajl-program za izračunavanje sume
% 1/1!+1/2!+ … +1/10!

% Nuliranje S za akumuliranje iznosa
S = 0;
% akumulacije količine u ciklusu
za k = 1:10
S = S + 1 / faktorijel (k);
Kraj
% ispisuje rezultat u S komandni prozor

Otkucajte programsku datoteku u M-file editoru, sačuvajte je u trenutnom direktoriju u datoteci Fordem2.m i izvršite. Rezultat će biti prikazan u komandnom prozoru, jer u poslednjem redu programske datoteke S sadrži bez tačke i zareze za izlaz vrijednosti varijable S

Imajte na umu da se ostali redovi u programskoj datoteci, koji su mogli uzrokovati prikaz međuvrijednosti, završavaju tačkom i zarezom kako bi se potisnuo izlaz u komandni prozor.

Prva dva reda sa komentarima nisu slučajno odvojena praznim redom od ostatka teksta programa. Oni su oni koji se prikazuju kada korisnik, koristeći naredbu za pomoć iz komandne linije, dobije informaciju o tome šta Fordem2 radi.

>> pomoć Fordem2
fajl-program za izračunavanje sume
1/1!+1/2!+ … +1/10!

Prilikom pisanja programa datoteka i funkcija datoteka, nemojte zanemariti komentare!
Sve varijable koje se koriste u programskoj datoteci postaju dostupne u proizvodnom okruženju. To su takozvane globalne varijable. S druge strane, sve varijable unesene u radno okruženje mogu se koristiti u programskoj datoteci.

Razmotrimo problem izračunavanja sume, sličan prethodnom, ali u zavisnosti od varijable x

Da biste izračunali ovaj iznos u programu za datoteke Fordem2, trebate promijeniti liniju unutar for petlje u

S = S + x. ^ K / faktorijel (k);

Prije pokretanja programa, morate definirati varijablu x na komandnoj liniji sa sljedećim naredbama:

>> x = 1,5;
>> Fordem2
S =
3.4817

As x može biti vektor ili matrica, pošto su operacije element po element korišćene za akumulaciju sume u fajl-programu Fordem2.

Prije pokretanja Fordem2, obavezno dodijelite varijablu x neku vrijednost, a da biste izračunali zbir, na primjer, petnaest članova, morat ćete unijeti izmjene u tekst programske datoteke. Mnogo je bolje napisati generičku funkciju datoteke koja ima vrijednost kao ulazni argument x i gornja granica sume, a vikend je vrijednost sume S(x). Funkcija datoteke sumN prikazana je na sljedećem popisu.

Ispis funkcije datoteke za izračunavanje sume

funkcija S = sumaN (x, N)
% file-funkcija za izračunavanje sume
% x / 1! + x ^ 2/2! +… + x ^ N / N!
% upotrebe: S = sumN (x, N)

% nuliranje S za akumuliranje iznosa
S = 0;
% akumulacije količine u ciklusu
za m = 1:1: N
S = S + x. ^ M / faktorijel (m);
kraj

Korisnik može naučiti o korištenju funkcije sumN upisivanjem pomoći sumN na komandnoj liniji. Komandni prozor će prikazati prva tri reda sa komentarima, odvojene od teksta funkcije datoteke praznim redom.

Imajte na umu da varijable funkcije datoteke nisu globalne (m u zbroju funkcije datotekeN). Pokušaj pregleda vrijednosti m iz komandne linije rezultira porukom u kojoj se navodi da je m nedefinirano. Ako u radnom okruženju postoji globalna varijabla istog imena, definisana iz komandne linije ili u fajl-programu, onda ona nije ni na koji način povezana sa lokalnom varijablom u funkciji fajla. U pravilu je bolje dizajnirati vlastite algoritme u obliku funkcija datoteka tako da varijable koje se koriste u algoritmu ne mijenjaju vrijednosti istih globalnih varijabli radnog okruženja.

For petlje mogu biti ugniježđene jedna unutar druge, dok varijable ugniježđenih petlji moraju biti različite.

Petlja for je korisna za izvođenje sličnih radnji koje se ponavljaju kada je broj unaprijed određen. Fleksibilnija while petlja vam omogućava da zaobiđete ovo ograničenje.

6.2. Izjava petlje while

Razmotrimo primjer za izračunavanje sume, sličan primjeru iz prethodnog paragrafa. Potrebno je pronaći zbir niza za dati x(proširenje serije):
.

Zbir se može akumulirati sve dok termini nisu premali, recimo više u modulu.. For petlja je ovdje nezaobilazna, jer broj članova nije unaprijed poznat. Izlaz je korištenje while petlje, koja radi sve dok je uvjet petlje ispunjen:

uvjet petlje while
MatLab komande
kraj

U ovom primjeru, uvjet petlje osigurava da je trenutni član veći. Znak veće od (>) se koristi za snimanje ovog stanja. Tekst funkcije mysin datoteke koja izračunava zbir niza prikazan je na sljedećem popisu.

Popis funkcije mysin datoteke koja izračunava sinus po proširenju serije

funkcija S = mysin (x)
% Izračunajte sinus prema proširenju serije
% Upotreba: y = mysin (x), -pi

S = 0;
k = 0;
dok abs (x. ^ (2 * k + 1) / faktorijel (2 * k + 1))> 1.0e-10
S = S + (-1) ^ k * x. ^ (2 * k + 1) / faktorijel (2 * k + 1);
k = k + 1;
kraj

Imajte na umu da while petlja, za razliku od for, nema varijablu petlje, tako da smo morali dodijeliti nulu prije početka petlje, a unutar petlje smo povećali k za jedan.
Uslov petlje while može sadržavati više od samo znaka>. Za postavljanje uslova za izvršavanje ciklusa, dozvoljene su i druge operacije relacije, date u tabeli. jedan.

Tabela 1. Operacije odnosa

Složeniji uslovi se specificiraju pomoću logičkih operatora. Na primjer, uvjet se sastoji u istovremenom ispunjavanju dvije nejednakosti i, i zapisuje se pomoću logičkog operatora i

i (x> = -1, x< 2)

ili ekvivalentno sa &

(x> = -1) & (x< 2)

Logički operatori i primjeri njihove upotrebe dati su u tabeli. 2.

Tablica 2. Logički operatori

Operater

Pisanje u MatLab

Ekvivalentna notacija

Logično "I"

i (x< 3, k == 4)

(x< 3) & (k == 4)

Logično "ILI"

Ili (x == 1, x == 2)

(x == 1) | (x == 2)

Odbijanje "NE"

Kada se računa zbir beskonačnog niza, ima smisla ograničiti broj članova. Ako se serija razilazi zbog činjenice da njeni članovi ne teže nuli, tada uslov za malu vrijednost tekućeg člana možda nikada neće biti ispunjen i program će se zapetljati. Izvršite zbrajanje dodavanjem ograničenja na broj pojmova uslovu while petlje funkcije mysin datoteke:

dok (abs (x. ^ (2 * k + 1) / faktorijel (2 * k + 1))> 1.0e-10) & (k<=10000))

ili u ekvivalentnom obliku

dok i (abs (x. ^ (2 * k + 1) / faktorijel (2 * k + 1))> 1.0e-10), k<=10000)

Organizacija radnji koje se ponavljaju u obliku petlji čini program jednostavnim i razumljivim, međutim, često je potrebno izvršiti jedan ili drugi blok naredbi u zavisnosti od određenih uslova, tj. koristiti grananje algoritama.

6.3. Uslovna izjava if

Uslovni operator ako omogućava vam da kreirate algoritam grananja za izvršavanje komandi, u kojem, kada su ispunjeni određeni uslovi, radi odgovarajući blok operatora ili MatLab komande.

Naredba if može se koristiti u svom jednostavnom obliku za izvršavanje bloka naredbi kada je određeni uvjet zadovoljen, ili u if-elseif-else konstrukciji za pisanje algoritama grananja.
Neka se izraz procijeni. Pretpostavimo da izvodite proračune u području područja i želite da prikažete upozorenje da je rezultat kompleksan broj. Prije evaluacije funkcije, trebate provjeriti vrijednost argumenta x i ispisati upozorenje u komandnom prozoru ako modul x ne prelazi jedan. Ovdje je potrebno koristiti uvjetni operator if, čija primjena u najjednostavnijem slučaju izgleda ovako:

ako stanje
MatLab komande
kraj

Ako je uvjet ispunjen, tada se implementiraju MatLab komande smještene između if i end, a ako uvjet nije ispunjen, tada dolazi do prijelaza na komande koje se nalaze nakon kraja. Prilikom snimanja stanja koriste se operacije prikazane u tabeli. jedan.

Funkcija datoteke koja provjerava vrijednost argumenta prikazana je na sljedećem popisu. Komanda upozorenja se koristi za prikaz upozorenja u komandnom prozoru.

Popis funkcije datoteke Rfun koja provjerava vrijednost argumenta

funkcija f = Rfun (x)
% izračunava sqrt (x ^ 2-1)
% prikazuje upozorenje ako je rezultat složen
% upotrebe y = Rfun (x)

% provjeri argument
ako trbušnjaci (x)<1
upozorenje ("rezultat je složen")
kraj
% evaluacija funkcije
f = sqrt (x ^ 2-1);

Sada pozivanje Rfun za argument manji od jedan će dati upozorenje u komandni prozor:

>> y = Rfun (0,2)
rezultat je složen
y =
0 + 0,97979589711327i

Funkcijska datoteka Rfun samo upozorava da je njena vrijednost složena i svi proračuni s njom se nastavljaju. Ako složeni rezultat znači grešku u proračunu, tada funkciju treba prekinuti korištenjem naredbe error umjesto upozorenja.

6.4. Operator grananja if-elseif-else

Općenito, primjena operatora grane if-elseif-else je sljedeća:

ako je uslov 1
MatLab komande
elseif uslov 2
MatLab komande
elseif uslov 3
MatLab komande
. . . . . . . . . . .
elseif uslov N
MatLab komande
ostalo
MatLab komande
kraj

U zavisnosti od performansi jednog ili drugog od N uslovima, odgovarajuća grana programa se pokreće ako nijedna od ovih N uslova, onda se implementiraju MatLab komande postavljene iza else. Nakon izvršenja bilo koje grane, operater izlazi. Ogranaka može biti koliko god želite, ili samo dvije. U slučaju dvije grane, koristi se prateći else, a elseif se preskače. Izjava uvijek mora završiti sa end.
Primjer korištenja if-elseif-else operatora prikazan je na sljedećem popisu.

funkcija ifdem (a)
% primjer korištenja operatora if-elseif-else

ako (a == 0)
upozorenje ("jednako nuli")
inače ako je a == 1
upozorenje ("jednako je jednom")
inače ako je a == 2
upozorenje ("jednako dva")
inače ako je a> = 3
upozorenje ("a, je veće ili jednako tri")
ostalo
upozorenje ("a je manje od tri, a nije jednako nuli, jedan, dva")
kraj

6.5. Operater podružnice prekidač

Naredba switch se može koristiti za izvođenje višestrukog odabira ili grananja. . To je alternativa naredbi if-elseif-else. Općenito, primjena prekidača operatora grananja izgleda ovako:

prekidač switch_expression
vrijednost slučaja 1
MatLab komande
vrijednost slučaja 2
MatLab komande
. . . . . . . . . . .
vrijednost slučaja N
MatLab komande
slučaj (vrijednost N + 1, vrijednost N + 2, ...)
MatLab komande
. . . . . . . . . . . .
slučaj (NM vrijednost + 1, NM vrijednost + 2, ...)
inače
MatLab komande
kraj

U ovom operatoru se prvo procjenjuje vrijednost switch_expression (može biti skalarna numerička vrijednost ili niz znakova). Ova vrijednost se zatim uspoređuje sa sljedećim vrijednostima: vrijednost 1, vrijednost 2,…, vrijednost N, vrijednost N + 1, vrijednost N + 2,…, vrijednost NM + 1, vrijednost NM + 2,… (koja može biti i numerička ili niz)... Ako se pronađe podudaranje, tada se izvršavaju MatLab komande nakon odgovarajuće ključne riječi case. U suprotnom se izvršavaju MatLab komande koje se nalaze između ključnih riječi else i end.

Može postojati bilo koji broj redova sa ključnom riječi case, ali mora postojati jedan red s ključnom riječi inače.

Nakon izvršenja bilo koje grane, prekidač se napušta, dok se vrijednosti navedene u drugim slučajevima ne provjeravaju.

Sljedeći primjer ilustruje upotrebu prekidača:

funkcija demswitch (x)
a = 10/5 + x
prekidač a
slučaj -1
upozorenje ("a = -1")
slučaj 0
upozorenje ("a = 0")
slučaj 1
upozorenje ("a = 1")
slučaj (2, 3, 4)
upozorenje ("a je 2 ili 3 ili 4")
inače
upozorenje ("a nije jednako -1, 0, 1, 2, 3, 4")
kraj

>> x = -4
demswitch (x)
a =
1
upozorenje: a = 1
>> x = 1
demswitch (x)
a =
6
upozorenje: a nije jednako -1, 0, 1, 2, 3, 4

6.6. Izjava o prekidu petlje break

Prilikom organiziranja cikličkih izračunavanja treba voditi računa da se izbjegnu greške unutar petlje. Na primjer, pretpostavimo da vam je dat niz x koji se sastoji od cijelih brojeva i želite da formirate novi niz y prema pravilu y (i) = x (i + 1) / x (i). Očigledno, zadatak se može postići korištenjem for petlje. Ali ako je jedan od elemenata originalnog niza jednak nuli, tada će podjela rezultirati inf, a naknadni proračuni mogu biti beskorisni. Ova situacija se može spriječiti izlaskom iz petlje ako je trenutna vrijednost x (i) jednaka nuli. Sljedeći isječak koda pokazuje upotrebu naredbe break za prekid petlje:

za x = 1:20
z = x-8;
ako je z == 0
break
kraj
y = x / z
kraj

Čim z postane 0, petlja se prekida.

Naredba break vam omogućava da prerano prekinete izvršavanje for i while petlji. Izvan ovih petlji, naredba break ne radi.

Ako se naredba break koristi u ugniježđenoj petlji, onda izlazi samo iz unutrašnje petlje.

Pošaljite svoj dobar rad u bazu znanja je jednostavno. Koristite obrazac ispod

Studenti, postdiplomci, mladi naučnici koji koriste bazu znanja u svom studiranju i radu biće vam veoma zahvalni.

Objavljeno na http://www.allbest.ru/

  • Uvod
  • 1. Teorijski dio
  • 1.1 MATLAB i njegov odnos sa drugim programskim jezicima
  • 1.2 MatLab i njegove glavne komponente
  • 1.3 Malo o radu sa MATLAB sistemom
  • 2. Praktični dio
  • 2.1 Izjava o problemu
  • 2.2 Istorija razvoja problema
  • 2.3 Korišćene formule
  • 2.4 Programski kod zadatka
  • 2.5 Opis programa
  • Zaključak
  • Spisak korištenih izvora
  • UVOD
  • Savremena računarska matematika nudi čitav niz integrisanih softverskih sistema i softverskih paketa za automatizaciju matematičkih proračuna: Gauss, Derive, Mathcad, Mathematica, itd. Postavlja se pitanje koje mesto među njima zauzima MATLAB sistem?
  • MATLAB je jedan od najstarijih, dobro razvijenih sistema za automatizaciju matematičkih proračuna, izgrađen na naprednom predstavljanju i primeni matričnih operacija.
  • Tokom godina MATLAB je evoluirao sa različitim korisnicima na umu. U univerzitetskom okruženju, bio je standardni alat za rad u različitim oblastima matematike, inženjerstva i nauke.
  • Programski jezik MATLAB sistema je vrlo jednostavan, sadrži svega nekoliko desetina operatora; mali broj operatora ovdje je nadoknađen velikim brojem procedura i funkcija čiji je sadržaj razumljiv korisniku koji ima odgovarajuće matematičko i inženjersko obrazovanje.
  • MATLAB uključuje računarstvo, vizualizaciju i programiranje u okruženju koje je lako za korištenje gdje su problemi i rješenja izraženi u obliku koji je blizak matematičkom. Tipične upotrebe MATLAB-a su: matematičko računanje, kreiranje algoritama, modeliranje, analiza podataka, istraživanje i vizualizacija, naučna i inženjerska grafika, razvoj aplikacija, uključujući kreiranje GUI.
  • Postoje dvije vrste programa napisanih u MATLAB-u - funkcije i skripte. Funkcije imaju ulazne i izlazne argumente, kao i vlastiti radni prostor za pohranjivanje međurezultata proračuna i varijabli. Skripte dijele zajednički radni prostor. I skripte i funkcije se ne kompajliraju u mašinski kod i spremaju se kao tekstualne datoteke.
  • U ovom radu, cilj je razmotriti kako se tijelo (ili materijalna tačka) kreće, bačeno pod uglom prema horizontu. I takođe, na osnovu razmatranih podataka iz mehanike, pisanje programa koji bi simulirao ovo kretanje. Rad uključuje izradu grafikona kretanja, grafika koordinata u odnosu na vrijeme, kao i izradu dinamičkog modela kretanja tijela bačenog pod uglom prema horizontu.

1. TEORIJSKI DIO

1.1 MATLAB I NJEGOVI ODNOS SA DRUGIM PROGRAMSKIM JEZICIMA

MATLAB sistem su razvili stručnjaci iz MathWork Inc. (Natick, Massachusetts, SAD). Iako je ovaj sistem prvi put korišćen kasnih 1970-ih, postao je široko rasprostranjen kasnih 1980-ih, posebno nakon puštanja verzije 4.0 na tržište. Najnovije verzije MATLAB-a su sistemi koji sadrže mnoge procedure i funkcije neophodne inženjeru i naučniku za izvođenje složenih numeričkih proračuna, simulaciju tehničkih i fizičkih sistema i dokumentovanje rezultata ovih proračuna. MATLAB (skraćeno od MATrix LABoratory) je interaktivni sistem dizajniran za izvođenje inženjerskih i naučnih proračuna i fokusiran na rad sa skupovima podataka. Sistem pruža mogućnost pristupa programima napisanim na FORTRAN, C i C++.

Atraktivna karakteristika MATLAB sistema je njegova ugrađena matrica i složena aritmetika. Sistem podržava operacije sa vektorima, matricama i nizovima podataka, implementira singularnu i spektralnu dekompoziciju, izračunavanje ranga i broja uslova matrica, podržava rad sa algebarskim polinomima, rješavanje nelinearnih jednadžbi i optimizacijskih problema, integraciju funkcija u kvadrature, numeričku integraciju diferencijala i jednadžbe razlika, konstrukcija različitih grafova, trodimenzionalnih površina i linija nivoa.

MATLAB pruža vektorske i matrične operacije čak iu načinu direktnog računanja. Može se koristiti kao moćan kalkulator, u kojem se, uz uobičajene aritmetičke i algebarske operacije, mogu koristiti i složene operacije kao što su inverzija matrice, izračunavanje njenih vlastitih vrijednosti i vektora, rješenje sistema linearnih algebarskih jednadžbi i mnoge druge. korišteno. Karakteristična karakteristika sistema je njegova otvorenost, odnosno mogućnost njegove modifikacije i prilagođavanja specifičnim zadacima korisnika.

MATLAB koristi sopstveni M-jezik, koji kombinuje pozitivna svojstva različitih dobro poznatih programskih jezika visokog nivoa. MATLAB sistem je povezan sa BASIC jezikom činjenicom da je interpretator (kompajlira i izvršava program jedan po jedan bez formiranja posebne izvršne datoteke), M-jezik ima mali broj operatora, nema potrebe da se deklarišu tipovi i veličine varijabli. Od jezika Pascal, MATLAB sistem je pozajmio objektivno orijentisanu orijentaciju, odnosno takvu konstrukciju jezika koja omogućava formiranje novih tipova računarskih objekata na osnovu tipova objekata koji već postoje u jeziku. Novi tipovi objekata (u MATLAB-u se zovu klase) mogu imati svoje procedure za njihovo pretvaranje (definišu metode ove klase), a nove procedure se mogu pozvati pomoću običnih znakova aritmetičkih operacija i nekih posebnih znakova koji se koriste u matematike.

Principi pohranjivanja vrijednosti varijabli u MATLAB-u najbliži su onima koji su svojstveni jeziku FORTRAN, naime: sve varijable su lokalne - djeluju samo unutar granica te programske jedinice (procedure, funkcije ili glavnog upravljačkog programa) gdje dodijeljene su im određene vrijednosti. Prilikom prelaska na izvršenje druge programske jedinice, vrijednosti varijabli prethodne programske jedinice se ili gube (ako je izvršena programska jedinica procedura ili funkcija) ili postaju nedostižne (ako je izvršeni program upravljački program) . Za razliku od BASIC-a i Pascal-a, MATLAB nema globalne varijable koje utiču na sve programske jedinice. Ali u isto vrijeme, MATLAB ima funkciju koja nije dostupna na drugim jezicima. MATLAB interpreter vam omogućava da izvršite nekoliko nezavisnih programa u istoj sesiji, a sve varijable koje se koriste u ovim programima su im zajedničke i čine jedan radni prostor. To omogućava racionalnije organiziranje složenih (glomaznih) proračuna prema vrsti preklopnih struktura.

Gore navedene karakteristike MATLAB sistema čine ga veoma fleksibilnim i lakim za korišćenje računarskim sistemom.

1.2 MATLAB I NJEGOVE GLAVNE KOMPONENTE

MATLAB je tehnički računarski jezik visokih performansi. Uključuje računarstvo, vizualizaciju i programiranje u pogodnom okruženju, gdje su problemi i rješenja izraženi u obliku bliskom matematičkom. Tipične upotrebe za MATLAB su:

Matematički proračuni;

Kreiranje algoritama;

Modeliranje;

Analiza podataka, istraživanje i vizualizacija;

Znanstvena i inženjerska grafika;

Razvoj aplikacija, uključujući kreiranje grafičkog interfejsa.

MATLAB je interaktivni sistem u kojem je glavni element podataka niz. To omogućava rješavanje različitih problema povezanih s tehničkim proračunima, posebno u kojima se koriste matrice i vektori, nekoliko puta brže nego kod pisanja programa korištenjem "skalarnih" programskih jezika kao što su C ili Fortran. matematičko programiranje matlab

U MATLAB-u, specijalizovane grupe programa koje se nazivaju kutije sa alatima igraju važnu ulogu. Oni su veoma važni za većinu korisnika MATLAB-a jer vam omogućavaju da naučite i primenite specijalizovane tehnike. Kutije sa alatima su sveobuhvatna kolekcija MATLAB funkcija (M-fajlovi) koje vam omogućavaju da rešite određene klase problema. Alati se koriste za obradu signala, upravljačke sisteme, neuronske mreže, fuzzy logiku, talase, modeliranje itd.

MATLAB sistem se sastoji od pet glavnih dijelova.

1. MATLAB jezik. To je jezik matrice i nizova visokog nivoa sa kontrolom toka, funkcijama, strukturama podataka, I/O i objektno orijentisanim programskim karakteristikama.

2. MATLAB okruženje. To je kolekcija alata i uređaja sa kojima MATLAB korisnik ili programer radi. Uključuje alate za manipulaciju varijablama u MATLAB radnom prostoru, unos i izlaz podataka, te kreiranje, praćenje i otklanjanje grešaka u M-fajlovi i MATLAB aplikacije.

3. Vođena grafika. To je MATLAB grafički sistem koji uključuje komande visokog nivoa za vizualizaciju 2D i 3D podataka, obradu slika, animacije i ilustrovane grafike. Takođe uključuje komande niskog nivoa koje vam omogućavaju da u potpunosti uredite izgled grafike, baš kao kada kreirate grafički korisnički interfejs (GUI) za MATLAB aplikacije.

4. Biblioteka matematičkih funkcija. To je ogromna zbirka računskih algoritama od elementarnih funkcija kao što su suma, sinus, kosinus, kompleksna aritmetika, do onih složenijih, kao što su inverzija matrice, pronalaženje vlastitih vrijednosti, Besselove funkcije i brza Fourierova transformacija.

5. Programski interfejs. To je biblioteka koja vam omogućava da pišete C i Fortran programe koji su u interakciji sa MATLAB-om. Uključuje mogućnosti za pozivanje programa iz MATLAB-a (dinamičko povezivanje), pozivanje MATLAB-a kao računskog alata i za čitanje-pisanje MAT datoteka.

Simulink, program koji prati MATLAB, je interaktivni sistem za simulaciju nelinearnih dinamičkih sistema. To je okruženje vođeno mišem koje vam omogućava da simulirate proces povlačenjem i ispuštanjem blokova dijagrama na ekran i manipulacijom njima. Simulink radi sa linearnim, nelinearnim, kontinuiranim, diskretnim, višedimenzionalnim sistemima.

Blocksetovi su dodaci za Simulink koji pružaju biblioteke blokova za specijalizovane aplikacije kao što su komunikacije, obrada signala, sistemi napajanja.

Real-Time Workshop je program koji vam omogućava da generišete C kod iz blok dijagrama i pokrenete ih na različitim sistemima u realnom vremenu.

1.3 MALO O RADU SA MATLAB-om

Nakon što kliknete na ikonu MATLAB-a, videćete ekran u čijem gornjem delu se nalazi linija sa padajućim menijima, traka sa alatkama sa dugmadima koja implementiraju najčešće izvođene radnje (vidi sliku 1.1), a u sam prozor - linija upita u dva znaka >> Ovo je MATLAB komandni prozor

Riceunok1. 1 - InstrumentalN / Anel komandni prozor

Standardni padajući meni Datoteka sadrži stavke kao što su Novo za kreiranje novih datoteka, Otvori M-datoteku - za otvaranje postojeće programske ili funkcijske datoteke za uređivanje, provjeru teksta ili otklanjanje grešaka. Kada koristite ovu stavku, nudi vam se standardni prozor za odabir datoteke, a nakon odabira potrebne datoteke otvara se prozor m-files editor/debugger.

M-datoteke su tekstualne datoteke sa ekstenzijom .m koje sadrže skripte ili tekstove funkcija iz standardnih ili vlasničkih biblioteka. Možete ih ispraviti u uređivaču, postaviti tačke prekida za otklanjanje grešaka, ali imajte na umu da da bi nova, ispravljena verzija funkcije ili programa stupila na snagu, to morate učiniti na standardni način (preko menija File editor ili pomoću odgovarajućeg dugme na alatnoj traci uređivača / debugeru) sačuvajte izmenjenu datoteku.

Traka sa alatkama (vidi sliku 1.1) komandnog prozora omogućava vam da izvršite potrebne radnje jednostavnim klikom na odgovarajuće dugme. Većina dugmadi ima standardni izgled i obavljaju standardne radnje slične drugim programima - to su kopiranje (Copy), otvaranje datoteke (Open), štampanje (Print) itd. Obratite pažnju na dugme Path Browser, koje vam omogućava da postavite putanje do različitih direktorijuma i učinite potrebnim direktorijumom aktuelnim, kao i dugme Workspace Browser, koje vam omogućava da vidite i uređujete varijable u radnom prostoru.

Naredba pomoći koja se upisuje kao odgovor na upit, a završava se pritiskom na tipku Enter ili dugme na traci sa alatkama sa znakom pitanja, pruža listu funkcija za koje je dostupna pomoć na mreži. Komanda pomoći<имя_функции>pruža pomoć na ekranu za određenu funkciju.

Na primjer, naredba help eig vam omogućava da dobijete online pomoć za eig funkciju, funkciju za izračunavanje svojstvenih vrijednosti matrice. Možete se upoznati sa nekim od mogućnosti MATLAB sistema koristeći demo komandu.

U ovom kratkom uvodu, treba napomenuti da su glavni objekti - varijable sa kojima MATLAB radi - pravougaone matrice. Ovo omogućava pisanje programa vrlo kratko, čini programe lakim za razumevanje. Na matricama se izvode mnoge operacije. Naravno, treba zapamtiti notaciju za operacije kao što su množenje i sabiranje matrice. Proučavati i pamtiti sve mogućnosti "za buduću upotrebu", prije nego što zatrebaju, besmisleno je.

Ako trebate prekinuti rad, ali sačuvati sve varijable kreirane u radnom prostoru, onda je najlakši način da to učinite korištenjem naredbe save<имя_файла>... Sve varijable u binarnom formatu su pohranjene u datoteci<имя_файла>.mat. Nakon toga, prilikom ponovnog pokretanja sistema, možete učitati cijeli radni prostor pomoću naredbe load<имя_файла>i nastaviti proračune sa istog mjesta. Da obrišete radno područje, koristite naredbu clear bez argumenata, u kom slučaju se cijelo područje čisti od svih varijabli. Ako nakon naredbe clear slijedi lista varijabli razdvojenih razmacima, tada se uklanjaju samo navedene varijable.

2. PRAKTIČNI DIO

2.1 IZJAVA PROBLEMA

Osnovni cilj ovog kursa je: pisanje programa u MATLAB sistemu koji bi simulirao kretanje tijela bačenog pod uglom prema horizontu.

2.2 ISTORIJA RAZVOJA PROBLEMA

Mehanika (od grčkog MzchbnykYu u prijevodu umjetnost izgradnje mašina) je polje fizike koje proučava kretanje materijalnih objekata i interakciju između njih. Najvažniji dijelovi mehanike su klasična mehanika i kvantna mehanika.

Kretanje tijela bačenog pod uglom prema horizontu mora se smatrati krivolinijskim kretanjem, što je zauzvrat jedna od grana mehanike.

Proučavanje karakteristika takvog pokreta počelo je dosta davno, još u 16. stoljeću i bilo je povezano s nastankom i usavršavanjem artiljerijskih oruđa.

Ideje o putanji kretanja artiljerijskih granata tih dana bile su prilično smiješne. Vjerovalo se da se ova putanja sastoji od tri dijela: nasilnog kretanja, mješovitog kretanja i prirodnog kretanja, u kojem jezgro pada na neprijateljskog vojnika odozgo (vidi sliku 2.1).

Rice. 2.1 - Putanja kretanja artiljerijskih granata

Na zakone o letu projektila naučnici nisu obraćali veliku pažnju sve dok nije izumljeno oružje velikog dometa koje je slalo projektil kroz brda ili drveće tako da strijelac ne bi mogao vidjeti kako lete.

Pucanje na ultra-daleke iz takvog oružja u početku se koristilo uglavnom za demoralizaciju i zastrašivanje neprijatelja, a preciznost gađanja u početku nije igrala posebno važnu ulogu.

Italijanski matematičar Tartaglia došao je blizu ispravne odluke o letu topovskih kugli, uspio je pokazati da se najveći domet projektila može postići kada je hitac usmjeren pod uglom od 45° prema horizontu. U njegovoj knjizi "Nova nauka" formulisana su pravila vatre, kojima su se topnici vodili sve do sredine sedamnaestog veka.

Međutim, potpuno rješenje problema povezanih s kretanjem tijela bačenih vodoravno ili pod kutom prema horizontu izveo je isti Galileo. U svom rasuđivanju polazio je od dvije osnovne ideje: tijela koja se kreću horizontalno i ne podliježu drugim silama će zadržati svoju brzinu; pojava vanjskih utjecaja promijenit će brzinu tijela koje se kreće, bez obzira da li je ono mirovalo ili se kretalo prije početka njihovog djelovanja. Galileo je pokazao da su putanje projektila, ako zanemarimo otpor zraka, parabole. Galileo je istakao da sa stvarnim kretanjem školjki, zbog otpora zraka, njihova putanja više neće ličiti na parabolu: silazna grana putanje će ići nešto strmija od izračunate krive.

Newton i drugi naučnici razvili su i poboljšali novu teoriju gađanja, uzimajući u obzir povećani utjecaj sila otpora zraka na kretanje artiljerijskih granata. Pojavila se i nova nauka - balistika. Prošlo je mnogo, mnogo godina, a sada se projektili kreću tako brzo da čak i jednostavno poređenje vrste putanja njihovog kretanja potvrđuje povećani utjecaj otpora zraka.

U savremenoj balistici za rješavanje ovakvih problema koriste se elektronski kompjuteri - kompjuteri, ali za sada ćemo se ograničiti na jednostavan slučaj - proučavanje takvog kretanja u kojem se otpor zraka može zanemariti. Ovo će nam omogućiti da ponovimo Galilejevo rezonovanje bez ikakvih promjena.

2.3 KORIŠĆENE FORMULE

Proučavajmo kretanje tijela bačenog početnom brzinom V 0 pod uglom b prema horizontu, smatrajući ga materijalnom tačkom mase m. U ovom slučaju, otpor vazduha će se zanemariti, a gravitaciono polje će se smatrati uniformnim (P = const), pod pretpostavkom da su domet leta i visina putanje mali u poređenju sa poluprečnikom Zemlje.

Postavite ishodište O na početnu poziciju tačke. Usmjerimo Oy osu vertikalno prema gore; horizontalna osa Ox nalazi se u ravni koja prolazi kroz Oy i vektor V 0, a osa Oz je povučena okomito na prve dvije ose (slika 2.2). Tada će ugao između vektora V 0 i Ox ose biti jednak b.

Slika 2.2 – Kretanje tijela bačenog pod uglom prema horizontu.

Nacrtajte pokretnu tačku M negdje na putanji. Na tačku djeluje samo sila gravitacije F, čije su projekcije na koordinatne ose jednake:

Zamjena ovih veličina u diferencijalne jednadžbe i zapažanje toga

itd. nakon smanjenja za m dobijamo:

Pomnoživši obje strane ove jednačine sa dt i integrirajući, nalazimo:

Početni uslovi u našem problemu su sledeći:

na t = 0:

Zadovoljavajući početne uslove, imaćemo:

Zamjena ovih vrijednosti C 1 , C 2 i C 3 u rješenje pronađeno iznad i zamjena Vx, Vy, Vz na

dolazimo do jednadžbi:

Integracijom ovih jednačina dobijamo:

Zamjena početnih podataka daje C 4 =C 5 =C 6 = 0, i konačno nalazimo jednadžbe gibanja tačke M u obliku:

Iz posljednje jednačine slijedi da se kretanje događa u Oxy ravni.

Posjedujući jednadžbu kretanja tačke moguće je pomoću metoda kinematike odrediti sve karakteristike datog kretanja.

Nađimo vrijeme leta tijela od početne tačke do tačke pada.

vrijeme leta:

2.4 KOD PROGRAMA ISPORUČENOG PROBLEMA

clc; % očisti komandni prozor

v0 = 36; %početna brzina

g = 9,81; % ubrzanje gravitacije

k = 1;

alfa = pi / 3; % ugla pod kojim je tijelo bačeno

m = (2 * v0 * sin (alfa)) / g% vremena leta

dok k<5

k = meni ("odaberi kategoriju", ...

sprintf ("ovisnost x koordinate od t"), ...

sprintf ("ovisnost y koordinate od t"), ...

sprintf ("graf kretanja tijela bačenog pod uglom prema horizontu"), ...

sprintf ("dinamički model kretanja tijela bačenog pod uglom prema horizontu"), ...

"Izlaz");

ako je k == 1

t = 0: 0,001: m;

x = v0 * t * cos (alfa);

parcela (x);

naslov ("ovisnost x koordinate od t");

xlabel ("x"); ylabel ("y");

inače ako je k == 2

t = 0: 0,001: m;

y = v0 * t * sin (alfa) - (g * t. ^ 2) / 2;

parcela (y);

naslov ("ovisnost y koordinate od t");

xlabel ("x"); ylabel ("y");

inače ako je k == 3

t = 0: 0,001: m;

x = v0 * t * cos (alfa);

y = v0 * t * sin (alfa) - (g * t. ^ 2) / 2;

dijagram (x, y);

naslov ("grafikon kretanja tijela bačenog pod uglom prema horizontu");

xlabel ("x"); ylabel ("y");

inače ako je k == 4

t = 0: 0,001: m;

x = v0 * t * cos (alfa);

y = v0 * t * sin (alfa) - (g * t. ^ 2) / 2;

kometa (x, y);

naslov ("dinamički model kretanja tijela bačenog pod uglom prema horizontu");

xlabel ("x"); ylabel ("y");

kraj;

kraj;

2.5 OPIS PROGRAMA

Ovaj program sadrži funkcije i procedure kao što su clc, plot, menu, comet, itd., kao i varijable i njihove vrijednosti.

Hajde da opišemo procedure i funkcije koje se koriste u ovom programu:

CLC. Komanda za brisanje komandnog prozora.

MENI. Zgodan alat za odabir jedne od alternativa za buduće računske radnje je funkcija menija, koja kreira prilagođeni prozor menija. Funkciji menija treba pristupiti ovako:

K = MENU ("MENU HEADER", "alternative 1", "alternative 2", "alternative n")

Takav poziv dovodi do pojave prozora menija (vidi sliku 2.3).

Slika 2.3 - Prozor menija

Program je privremeno obustavljen i sistem čeka da se izabere jedno od dugmadi menija sa alternativama. Nakon ispravnog odabira, početnom parametru k dodjeljuje se vrijednost koja odgovara broju alternative (1,2 ... n). Općenito, broj alternativa može biti do 32.

WHILE. Operator petlje sa preduslovom izgleda ovako:

Dok <условие>

<операторы>

kraj

Naredbe unutar petlje se izvršavaju samo ako je ispunjen uslov napisan iza riječi while. Štaviše, među operatorima unutar petlje, nužno moraju postojati oni koji mijenjaju vrijednost jedne od varijabli.

SPRINTF. Funkcija koja postavlja informacije o trenutnoj vrijednosti odgovarajućeg parametra na svako dugme menija.

IF... Generalno, sintaksa operatora uslovnog grananja je sljedeća:

Ako < stanje>

< operatori1>

Inače

< operatori2>

End

Ovaj operater radi na sljedeći način. Prvo se vrši provjera da li je ispunjen navedeni uvjet. Ako je rezultat provjere pozitivan, program izvršava skup naredbi <операторы1> ... U suprotnom, slijed naredbi se izvršava <операторы2>.

PLOT. Glavna funkcija koja omogućava iscrtavanje grafikona na ekranu je plot (vidi sliku 2.4). Opšti oblik obraćanja je sljedeći:

Grafikon (x1, y1, s1, x2, y2, s2 ...)

Ovdje su x1, y1 dati vektori, čiji su elementi nizovi vrijednosti argumenta (x1) i funkcija (y1) koje odgovaraju prvoj krivulji grafa; h2, u2 - nizovi vrijednosti argumenta i funkcija druge krive, itd. Pretpostavlja se da je vrijednost argumenta iscrtana duž horizontalne ose grafa, a vrijednost funkcije duž vertikalne ose. Varijable s1, s2, ... su simbolične (njihova specifikacija je opciona).

Slika 2.4 - Radnja funkcije plot.

TITLE... Procedura kojom se postavlja naslov grafikona.

XLABEL i YLABEL... Funkcije koje postavljaju objašnjenja duž horizontalne i vertikalne ose.

COMET... Procedura komete (x, y) ("kometa") postepeno iscrtava zavisnost y (x) u obliku putanje komete. U ovom slučaju, "reprezentirajuća" tačka na grafu izgleda kao mala kometa, koja se glatko kreće od jedne tačke do druge.

Konačno, program pokazuje kako se tijelo kreće kada je bačeno pod uglom prema horizontu. Takođe u programu možete videti zavisnost koordinata tela od vremena (vidi sl. 2.5 i sl. 2.6), graf putanje tela (vidi sliku 2.7) i sam model kretanja tela ( vidi sliku 2.8).

Slika 2.5 - Grafikon zavisnosti x od t.

Slika 2.6 - Grafikon zavisnosti y od t.

Slika 2.7 – Grafikon kretanja tijela bačenog pod uglom prema horizontu.

Slika 2.8 – Dinamički model kretanja tijela bačenog pod uglom prema horizontu.

ZAKLJUČAK

Predmetni projekat je izveden u okruženju MatLab 6.5. Razvoj projekta odvijao se u nekoliko faza, a sastoji se od proučavanja predmetne oblasti problema; proučavanje osnovnih zakona mehanike; razvoj samog programa, koji omogućava simulaciju kretanja tijela bačenog pod uglom prema horizontu.

Rezultat obavljenog posla bio je program koji implementira model kretanja tijela bačenog pod uglom prema horizontu.

Praktična vrijednost programa leži u činjenici da jasno pokazuje kako se tijelo kreće kada je bačeno pod uglom prema horizontu.

Takođe, predmetni rad je doprinio razvoju vještina samostalnog planiranja i izvođenja istraživačkih radova, sticanju iskustva u prikupljanju i obradi izvornog materijala, analizi naučne i tehničke literature, priručnika, standarda i tehničke dokumentacije, sticanju vještina potkrepljivanja projektantskih odluka. i profesionalno izrada projektne dokumentacije.

SPISAK KORIŠĆENIH IZVORA

1. Lazarev, Y. Modeliranje procesa i sistema u MatLabu. Obuka. / Yu Lazarev. - SPb.: Petar; Kijev: Izdavačka grupa BHV, 2005. - 512 str.

2. Aleshkevich, V.A. Mehanika / V.A. Aleshkevich, L.G. Dedenko, V.A. Karavaev. - Akademija 2004.

3. Kotkin, G.L. Cherkassky V.S., Računarsko modeliranje fizičkih procesa pomoću MATLAB-a: Udžbenik. dodatak / G.L. Kotkin, V.S. Cherkassky. - Novosib. un-t. Novosibirsk, 2001.-- 173 str.

Objavljeno na Allbest.ru

...

Slični dokumenti

    Opšte karakteristike i svojstva Matlab sistema - paketa primenjenih programa za rešavanje tehničkih računarskih problema. Razvoj matematičkog modela u datom okruženju, programiranje funkcija za referentnu akciju. Dizajn GUI interfejsa.

    seminarski rad, dodan 23.05.2013

    Karakteristike rada u režimu komandne linije u Matlab sistemu. Varijable i dodjeljivanje vrijednosti njima. Kompleksni brojevi i proračuni u Matlab sistemu. Izračuni koristeći sqrt funkciju. Pogrešna upotreba funkcija sa složenim argumentima.

    rad, dodato 30.07.2015

    Učenje programiranja u MATLAB-u. Korištenje naredbi Save i Load, naredbi za unos i izlaz za rad u komandnom prozoru. Otklanjanje grešaka u sopstvenim programima. MATLAB interfejs. Razlike između novije verzije MATLAB-a i ranijih verzija. Alat za sučelje kontrole izvora.

    test, dodano 25.12.2011

    Matlab - matrična laboratorija - sistem za programiranje naučnih i tehničkih proračuna. Karakteristike vektorskog unosa. Posebne matrice, jednostavne komande. Jednostavni primjeri koji ilustruju efikasnost Matlaba. Grafički način rješavanja jednačina.

    sažetak, dodan 01.05.2010

    Matematička osnova za paralelno računanje. Parallel Computing Toolbox svojstva. Razvoj paralelnih aplikacija u Matlabu. Primjeri programiranja paralelnih zadataka. Izračunavanje određenog integrala. Sekvencijalno i paralelno množenje.

    seminarski rad dodan 15.12.2010

    MATLAB - matrična laboratorija - najnapredniji programski sistem za naučne i tehničke proračune. Varijable i elementi xy-grafike. Jednostavni primjeri koji ilustruju efikasnost MATLAB-a. Sistemi linearnih algebarskih jednadžbi i polinoma.

    priručnik, dodano 26.01.2009

    Kreiranje i predstavljanje simboličkih varijabli u Matlabu, operacije nad polinomima i pojednostavljivanje izraza. Primjer zamjene vrijednosti u funkciju, rješavanja jednačina i sistema, diferenciranja, integracije i izračunavanja granica funkcija.

    prezentacija dodata 24.01.2014

    Karakteristike i sintaksa MATLAB komandi, lista programa i opis petlje. Postupak sastavljanja programa za izračunavanje koeficijenata algebarskog interpolacionog polinoma i konstruisanje splajn funkcije "zalijepljene" od komada polinoma trećeg reda.

    laboratorijski rad, dodano 04.07.2009

    Analiza mogućnosti MATLAB paketa i njegovih proširenja. Sistemski programski jezik. Studija ispravljačkog uređaja. Modeliranje trofaznog transformatora. Šematski dijagram podesivog pretvarača. Fleksibilne mogućnosti digitalnog modela.

    prezentacija dodata 22.10.2013

    Metode numeričke integracije. Karakteristike glavnih komponenti strukturiranog programiranja. Rješavanje problema u jeziku visokog nivoa Pascal. Izrada grafičkog rješenja problema u Matlab paketu. Rješavanje problema u jeziku visokog nivoa C.

Instrukcije

Postoji nekoliko načina rada u MATLAB okruženju. Najlakše je unijeti komande direktno u komandni prozor ( Komandni prozor).
Ako se ne vidi u programskom interfejsu, onda ga morate otvoriti. Komandni prozor možete pronaći kroz meni Desktop -> Komandni prozor.
Hajdemo, na primjer, u ovaj prozor upisati jednu za drugom komande "x =; y = sqrt (x); plot (y);", i pritisnite tipku "Enter" ( Enter). Program će trenutno kreirati varijable X, kreirati varijablu Y i izračunati njene vrijednosti prema datoj funkciji, a zatim iscrtati njen graf.
Koristeći strelice na tastaturi „gore“ i „dole“ u komandnom prozoru, možemo prelaziti između svih unetih komandi, po potrebi ih odmah menjati i ponovnim pritiskom na Enter poslati MATLAB okruženje na izvršenje.
Zgodno? Bez sumnje. I što je najvažnije - vrlo brzo. Sve ove radnje traju nekoliko sekundi.
Ali šta ako vam je potrebna složenija organizacija tima? Ako vam je potrebno ciklično izvršavanje nekih naredbi? Ručno unošenje komandi jednu po jednu, a zatim njihovo dugo traženje u istoriji može biti prilično zamorno.

Da bi olakšali život naučniku, inženjeru ili studentu, prozor urednika ( Urednik). Otvorimo prozor editora preko menija Desktop -> Urednik.
Ovdje možete kreirati nove varijable, graditi grafikone, pisati programe (skripte), kreirati komponente za razmjenu sa drugim okruženjima, kreirati aplikacije sa korisničkim interfejsom (GUI) i uređivati ​​postojeće. Ali trenutno smo zainteresirani za pisanje programa koji sadrži funkcije za ponovnu upotrebu u budućnosti. Stoga idemo na meni File i biraj Novo -> M-File.

Hajde da napišemo jednostavan program u polju za uređivanje, ali da ga malo zakomplikujemo:

funkcija draw_plot (x)
y = log (x); % Postavite prvu funkciju
podzaplet (1, 2, 1), dijagram (x, y); % Gradimo prvi graf
y = sqrt (x); % Postavite drugu funkciju
podzaplet (1, 2, 2), grafik (x, y); % Gradimo drugi graf

Dodali smo drugu funkciju i prikazat ćemo dva grafikona odjednom jedan pored drugog. Znak postotka označava komentare u MATLAB-u.
Ne zaboravimo snimiti program. Standardna ekstenzija datoteke sa Matlab programom je * .m.
Sada zatvorite uređivač i prozor grafikona koji smo ranije napravili.

Vratite se na komandni prozor.
Možete obrisati istoriju komandi tako da nas nepotrebne informacije ne ometaju. Da biste to uradili, kliknite desnim tasterom miša na polje za unos komande i izaberite stavku Očistite komandni prozor.
Varijabla X je ostala nakon prethodnog eksperimenta, nismo je mijenjali niti brisali. Stoga možete odmah ući u komandni prozor:
crtanje (x);
Vidjet ćete da će MATLAB pročitati našu funkciju iz datoteke i izvršiti je crtanjem grafa.

Oni koji se bave višom matematikom vrlo dobro znaju s kakvim se matematičkim "čudovištima" ponekad morate suočiti. Na primjer, izračunavanje nekog divovskog trostrukog integrala može potrajati puno vremena, mentalne snage i neregenerativnih nervnih ćelija. Naravno, vrlo je zanimljivo osporiti integral i uzeti ga. Ali šta ako integral prijeti da će vas odvesti umjesto toga? Ili još gore, je li kubni trinom izmakao kontroli i pobjesnio? To ne biste poželeli ni neprijatelju.


Ranije su postojale samo dvije opcije: pljunuti na sve i otići u šetnju ili se upustiti u višesatnu bitku sa integralom. Pa kome mnogo sati, kome minuta - ko je kako učio. Ali to nije poenta. Dvadeseti vek i napredak koji se neumoljivo kreće nude nam treći put, odnosno omogućavaju nam da najsloženiji integral uzmemo "na brz način". Isto vrijedi i za rješavanje svih vrsta jednadžbi, crtanje grafova funkcija u obliku kubnih hiperboloida, itd.

Za takve izvanredne, ali periodično nastale situacije među učenicima postoji moćno matematičko oružje. Upoznajte one koji još ne znaju - softverski paket MATLAB.

Matlab će i riješiti jednadžbu, i aproksimirati, i iscrtati funkciju. Da li razumete šta ovo znači, prijatelji?

To znači da je to jedan od najmoćnijih paketa za obradu podataka koji su danas dostupni. Ime znači MatrixLaboratorija. Matrix Laboratorija, ako na ruskom . Mogućnosti programa pokrivaju gotovo sve oblasti matematike. Dakle, koristeći Matlab, možete:

  • Izvođenje svih vrsta operacija na matricama, rješavanje linearnih jednadžbi, rad sa vektorima;
  • Izračunavati korijene polinoma bilo kojeg stepena, izvoditi operacije nad polinomima, diferencirati, ekstrapolirati i interpolirati krive, graditi grafove bilo koje funkcije;
  • Provođenje statističke analize podataka korištenjem digitalnog filtriranja, statističke regresije;
  • Riješite diferencijalne jednadžbe. U parcijalnim derivacijama, linearnim, nelinearnim, sa graničnim uslovima - nema veze, Matlab će sve riješiti;
  • Izvršite cjelobrojne aritmetičke operacije.

Uz sve to, MATLAB-ove mogućnosti omogućavaju vizualizaciju podataka do konstrukcije trodimenzionalnih grafova i kreiranja animiranih videa.

Naš opis matlaba, naravno, daleko je od potpunog. Pored mogućnosti i funkcija koje pruža proizvođač, postoji ogroman broj matlab alata koje su napisali jednostavno entuzijasti ili druge kompanije.

MATLAB kao programski jezik


To je takođe programski jezik koji se koristi direktno pri radu sa programom. Nećemo ulaziti u detalje, recimo samo da programi napisani u MATLAB-u dolaze u dvije vrste: funkcije i skripte.


Glavni radni fajl programa je M-fajl. Ovo je beskonačan tekstualni fajl i u njemu se odvija stvarno programiranje proračuna. Uzgred, neka vas ova riječ ne plaši – ne morate biti profesionalni programer da biste radili u MATLAB-u.

M-fajlovi se dijele na

  • M-skripte. M skripta je najjednostavniji tip M datoteke i nema ulazne ili izlazne argumente. Ova datoteka se koristi za automatizaciju proračuna koji se ponavljaju.
  • M-funkcije. M-funkcije su M-datoteke koje dozvoljavaju ulazne i izlazne argumente.

Da bismo jasno pokazali kako se radi u MATLAB-u, u nastavku ćemo dati primjer kreiranja funkcije u MATLAB-u. Ova funkcija će izračunati prosjek vektora.
f unction y = prosjek (x)
% AVERAGE Prosječna vrijednost vektorskih elemenata.
% PROSJEK (X), gdje je X vektor. Izračunava prosjek elemenata u vektoru.
% Ako ulazni argument nije vektor, generira se greška.
= veličina (x);
ako (~ ((m == 1) | (n == 1)) | (m == 1 & n == 1))
greška ("Ulazni niz mora biti vektor")
kraj
y = zbir (x) / dužina (x); % Stvarni izračun

Red definicije funkcije govori MATLAB sistemu da je datoteka M-funkcija i također definira listu ulaznih argumenata. Dakle, linija definicije prosječne funkcije izgleda ovako:
funkcija y = prosjek (x)
gdje:

  1. funkcija je ključna riječ koja definira M-funkciju;
  2. y je izlazni argument;
  3. prosjek - naziv funkcije;
  4. x je ulazni argument.

Dakle, da biste napisali funkciju u MATLAB-u, morate zapamtiti da svaka funkcija u MATLAB-u sadrži liniju definicije funkcije kao što je ona ispod.

Naravno, ovako moćan paket je potreban ne samo da bi olakšao život studentima. Trenutno je MATLAB, s jedne strane, veoma popularan među stručnjacima u mnogim naučnim i inženjerskim oblastima. S druge strane, sposobnost rada sa velikim matricama čini MATLAB nezamjenjivim alatom za finansijske analitičare, koji vam omogućava da riješite mnogo više problema od, na primjer, dobro poznatog Excela. Više o tome možete pročitati u preglednom članku.

Nedostaci rada sa MATLAB-om


Koje su poteškoće u radu sa MATLAB-om? Postoji možda samo jedna poteškoća. Ali fundamentalno. Kako biste u potpunosti otkrili mogućnosti MATLAB-a i lako riješili probleme s kojima se suočavate, morat ćete se oznojiti i prvo se pozabaviti samim MATLAB-om (kako kreirati fajl, kako kreirati funkciju itd.). A to nije tako lako, jer moć i široke mogućnosti zahtijevaju žrtve.

Uz svu volju, ne može se reći da je MATLAB -jednostavan program. Ipak, nadamo se da će sve navedeno biti dovoljan argument za početak savladavanja.

I na kraju. Ako ne znate zašto je sve u vašem životu prošlo ovako, a ne drugačije, pitajte matlab o tome. Samo upišite "zašto" u komandnu liniju. On će odgovoriti. Probaj!

Sada znate mogućnosti Matlaba. U obrazovanju, MATLAB se često koristi u nastavi numeričkih metoda i linearne algebre. Mnogi studenti ne mogu bez toga kada obrađuju rezultate eksperimenta izvedenog u toku laboratorijskog rada. Za brzo i kvalitetno savladavanje osnova rada sa MATLAB-om uvek se možete obratiti, u svakom trenutku spremni da odgovorite na svako vaše pitanje.

Top srodni članci