Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • U kontaktu s
  • Za pomoć matematičarima: pregled MATLAB-a. Zamijenivši ove veličine u diferencijalne jednadžbe i primijetivši da

Za pomoć matematičarima: pregled MATLAB-a. Zamijenivši ove veličine u diferencijalne jednadžbe i primijetivši da

MATLAB okruženje uključuje interpreter naredbi u jeziku visoke razine, grafički sustav, pakete proširenja, a implementirano je u jeziku C. Sav rad organiziran je kroz naredbeni prozor koji se pojavljuje kada pokrenete program matlab.exe. Tijekom rada podaci se nalaze u memoriji (Workspace), kreiraju se grafički prozori za prikaz krivulja, površina i drugih grafikona.

Izračuni se provode u naredbenom prozoru u dijaloškom načinu. Korisnik unosi naredbe ili pokreće datoteke s tekstovima MATLAB jezik. Interpretator obrađuje ulaz i daje rezultate: numeričke i znakovne podatke, upozorenja i poruke o pogreškama. Linija za unos je označena sa >>. Prozor s naredbama prikazuje brojeve i varijable unesene s tipkovnice, kao i rezultate izračuna. Imena varijabli moraju počinjati slovom. Znak = odgovara operaciji dodjele. Pritiskom na tipku Enter sustav procjenjuje izraz i prikazuje rezultat. Upišite s tipkovnice u red za unos:

Pritisnite tipku Enter, rezultat izračuna pojavit će se na zaslonu u području za pregled:

Sve vrijednosti varijabli izračunate tijekom trenutne radne sesije pohranjuju se u posebno rezervirano područje memorije računala koje se naziva radni prostor sustava MATLAB (Workspace). Naredba clc može obrisati sadržaj naredbenog prozora, ali to neće utjecati na sadržaj radnog prostora. Kada više nema potrebe za pohranjivanjem određenog broja varijabli u trenutnoj radnoj sesiji, one se mogu izbrisati iz memorije računala naredbom clear ili clear(name1, name2, ...). Prva naredba briše sve varijable iz memorije, a druga briše varijable pod nazivom ime1 i ime2. Naredba who može prikazati popis svih varijabli uključenih u ovaj trenutak V radni prostor sustava. Za prikaz vrijednosti bilo koje varijable iz trenutnog radnog prostora sustava jednostavno upišite njezin naziv i pritisnite Enter.

Nakon završetka sesije s MATLAB-om, sve prethodno izračunate varijable se gube. Za spremanje sadržaja radnog prostora sustava MATLAB u datoteku na disku računala potrebno je izvršiti naredbu izbornika Datoteka / Spremi radni prostor kao .... Standardno je ekstenzija naziva datoteke mat, zbog čega se takve datoteke obično zvane MAT datoteke. Za učitavanje radnog prostora koji je prethodno spremljen na disku u memoriju računala potrebno je izvršiti naredbu izbornika: File / Load Workspace ....

Realni brojevi i dvostruki tip podataka

Sustav MATLAB predstavlja na razini stroja sve realne brojeve određene mantisom i eksponentom, na primjer, 2.85093E+11, gdje slovo E označava bazu eksponenta jednaku 10. Ovaj osnovni tip podataka naziva se double. MATLAB prema zadanim postavkama koristi kratki format za prikaz realnih brojeva, koji prikazuje samo četiri decimalne znamenke nakon decimalne točke.

Unesite primjer s tipkovnice:

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

Dobijte rezultat izračuna:

Ako vam treba potpuni prikaz realnog broja res, unesite naredbu s tipkovnice:

pritisnite Enter i dobit ćete detaljnije informacije:

res = -93.29900636942675

Sada će svi rezultati izračuna biti prikazani s tako visokom točnošću tijekom određene sesije u okruženju sustava MATLAB. Ako želite vratiti staru preciznost vizualnog prikaza realnih brojeva u naredbenom prozoru prije prekida tekuće radne sesije, potrebno je unijeti i izvršiti (pritiskom na tipku Enter) naredbu:

Sustav u naredbenom prozoru prikazuje cijele brojeve kao cijele brojeve.

Nad realnim brojevima i dvostrukim varijablama izvode se aritmetičke operacije: zbrajanje +, oduzimanje -, množenje *, dijeljenje / i potenciranje ^. Prioritet u izvršenju aritmetičke operacije obični. Operacije istog prioriteta izvode se redoslijedom slijeva nadesno, ali zagrade mogu promijeniti ovaj redoslijed.

Ako nema potrebe vidjeti rezultat izračuna određenog izraza u naredbenom prozoru, tada na kraju unesenog izraza treba staviti točku i zarez i tek tada pritisnuti Enter.

Sustav MATLAB sadrži sve osnovne elementarne funkcije za izračune s realnim brojevima. Bilo koju funkciju karakterizira njezin naziv, popis ulaznih argumenata (navedenih odvojenih zarezima i smještenih unutar zagrada iza naziva funkcije) i izračunate (vraćene) vrijednosti. Popis svih elementarnih matematičkih funkcija dostupnih u sustavu može se dobiti pomoću naredbe help elfun. Dodatak 1 navodi standardne funkcije stvarnog argumenta.

Procijenite izraz koji uključuje procjenu funkcije arkusina:

Provjerite jeste li dobili sljedeći rezultat:

koji odgovara broju "pi". U MATLAB-u postoji posebna oznaka za izračunavanje pi: pi. (Popis varijabli MATLAB sustava nalazi se u Dodatku 2).

MATLAB također ima logičke funkcije, funkcije vezane uz cjelobrojnu aritmetiku (zaokruživanje na najbliži cijeli broj: round, skraćivanje razlomka broja: fix). Tu je i funkcija mod - ostatak dijeljenja uzimajući u obzir predznak, predznak - predznak broja, lcm - najmanji zajednički višekratnik, perms - izračunavanje broja permutacija i nchoosek - broj kombinacija i mnoge druge. Mnoge funkcije imaju domenu različitu od skupa svih realnih brojeva.

Osim aritmetičkih operacija nad dvostrukim operandima izvode se i relacijske i logičke operacije. Relacijski operatori uspoređuju dva operanda na temelju veličine. Ove se operacije pišu sa sljedećim znakovima ili kombinacijama znakova (Tablica 1):

stol 1


Ako je relacijska operacija istinita, njezina je vrijednost 1, a ako je lažna, vrijednost je 0. Relacijske operacije imaju niži prioritet od aritmetičkih operacija.

Utipkajte izraz s relacijskim operacijama s tipkovnice i izračunajte

» a=1; b=2; c=3;

» res=(a

Dobit ćete sljedeći rezultat:

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

tablica 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 "istinite" (nije jednake nuli) ili "netočne" (jednake su nuli). Ako su oba operanda operacije AND istinita (nisu jednaka nuli), tada je rezultat ove operacije 1 (“točno”); u svim ostalim slučajevima, operacija AND daje vrijednost 0 ("false"). Operacija ILI daje 0 ("false") samo ako su oba operanda lažna (nula). Operacija "NOT" pretvara "false" u "true". Logičke operacije imaju najniži prioritet.

Kompleksni brojevi i kompleksne funkcije

Kompleksne varijable, poput stvarnih, automatski su dvostrukog tipa i ne zahtijevaju nikakav preliminarni opis. Slova i ili j rezervirana su za pisanje zamišljene jedinice. U slučaju kada koeficijent ispred imaginarne jedinice nije broj, već varijabla, između njih se mora staviti znak množenja. 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 dopuštaju izračune sa složenim argumentima. Procijenite izraz:

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

Rezultat će biti:

1.8009 - 1.91901

Sljedeće funkcije posebno su dizajnirane za rad s kompleksnim brojevima: abs (apsolutna vrijednost kompleksnog broja), conj (kompleksni konjugirani broj), imag (imaginarni dio kompleksnog broja), real (realni dio kompleksnog broja), angle (argument kompleksnog broja), isreal ("true" ako je broj realan). Funkcije kompleksne varijable navedene su u Dodatku 1.

Što se tiče aritmetičkih operacija, za kompleksne brojeve (u usporedbi s realnim brojevima) ne može se reći ništa novo. Isto vrijedi i za relacijske operatore "jednako" i "nije jednako". Preostale relacijske operacije daju rezultate temeljene samo na stvarnim dijelovima ovih operanda.

Unesite izraz, dobijte rezultat i objasnite ga:

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

Logičke operacije tretiraju operande kao lažne ako su nula. Ako složeni operand ima barem jedan dio (stvaran ili imaginaran) koji nije nula, tada se takav operand tretira kao istinit.

Numerički nizovi

Za izradu jednodimenzionalnog niza možete koristiti operaciju ulančavanja, što je označeno uglatim zagradama. Elementi niza smješteni su između zagrada i međusobno odvojeni razmakom ili zarezom:

"al=; d=;

Za pristup pojedinom elementu niza potrebno je koristiti operaciju indeksiranja, za koju nakon naziva elementa u zagradama navesti indeks elementa.

Elemente već formiranog niza možete promijeniti pomoću 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 postat će jednak aritmetičkoj sredini prvog i trećeg elementa. Pisanje nepostojećeg elementa potpuno je prihvatljivo - to znači dodavanje novog elementa u već postojeći niz:

Nakon izvođenja ove operacije, primjenom funkcije duljine na niz a1, nalazimo da se broj elemenata u nizu povećao na četiri:

Ista radnja - "proširivanje niza a1" - može se izvesti pomoću operacije ulančavanja:

Niz možete definirati tako da sve njegove elemente zapišete zasebno:

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

Međutim, ova metoda stvaranja nije učinkovita. Drugi način stvaranja jednodimenzionalnog niza temelji se na korištenju posebne funkcije, označene dvotočkom (operacija formiranja niza numeričkih vrijednosti). Odvojeno dvotočkom unesite prvi broj raspona, korak (inkrement) i konačni broj raspona. Na primjer:

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

Ako ne trebate prikazati cijeli rezultirajući niz, tada na kraju skupa (nakon posljednjeg broja raspona) trebate upisati točku i zarez. Da biste saznali koliko je elemenata u nizu, pozovite funkciju length(array name).

Da biste stvorili dvodimenzionalni niz (matricu), također možete koristiti operaciju ulančavanja. Elementi niza upisuju se jedan za drugim prema njihovom položaju u recima, koristeći točku i zarez kao razdjelnik retka.

Unesite s tipkovnice:

"a=

Pritisnite ENTER, dobivamo:

Rezultirajuća 3x2 matrica a (prvo je naznačen broj redaka, a zatim broj stupaca) također se može formirati vertikalnim ulančavanjem vektora reda:

» a=[;;];

ili horizontalno ulančavanje vektora stupaca:

» a=[,];

Struktura kreiranih nizova može se saznati pomoću naredbe whos(naziv niza), dimenzija niza - funkcijom ndims, a veličina niza - size.

Dvodimenzionalni nizovi također se mogu definirati pomoću operacije indeksiranja, registrirajući njegove elemente pojedinačno. Naveden je broj retka i stupca na čijem se sjecištu nalazi navedeni element niza, 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, bit će mnogo učinkovitije ako, prije nego počnete pisati elemente niza, kreirate niz potrebne veličine koristeći funkcije one (m,n) ili nule(m,n), ispunjene jedinicama ili nulama (m je broj redaka, n je broj stupaca). Kada se te funkcije pozovu, memorija se unaprijed dodjeljuje za zadana veličina niz, nakon čega postupno dodjeljivanje elemenata s potrebnim vrijednostima ne zahtijeva restrukturiranje memorijske strukture dodijeljene za niz. Ove se funkcije također mogu koristiti kada se specificiraju nizovi drugih dimenzija.

Ako nakon formiranja niza X trebate promijeniti njegove dimenzije bez promjene elemenata niza, možete koristiti funkciju preoblikovanja (X, M, N), gdje su M i N nove veličine niza X.

Rad ove funkcije može se objasniti samo na temelju načina na koji sustav MATLAB pohranjuje elemente niza u memoriju računala. Pohranjuje ih u kontinuirano memorijsko područje, poredano po stupcima: prvi se nalaze elementi prvog stupca, zatim elementi drugog stupca, itd. Osim samih podataka (elemenata niza), u memoriju računala pohranjuju se i upravljačke informacije: tip niza (npr. dvostruki), dimenzija i veličina niza te drugi servisni podaci. Ovi podaci dovoljni su za određivanje granica stupaca. Iz toga slijedi da je za ponovno formatiranje matrice pomoću funkcije preoblikovanja dovoljno promijeniti samo servisne informacije i ne dirati vlastite podatke.

Možete zamijeniti retke matrice s njezinim stupcima pomoću operacije prijenosa, što je označeno znakom." (točka i apostrof). Na primjer,

"A=;

Operacija " (apostrof) izvodi transpoziciju za realne matrice i transpoziciju s istovremenom kompleksnom konjugacijom za složene matrice.

Objekti s kojima MATLAB radi su nizovi. Čak je i jedan dati broj u MATLAB-ovoj internoj reprezentaciji niz koji se sastoji od jednog elementa. MATLAB vam omogućuje izračune s ogromnim nizovima brojeva jednako lako kao i s pojedinačnim brojevima, a to je jedna od najuočljivijih i najvažnijih prednosti sustava MATLAB u odnosu na druge programski paketi orijentiran na računalstvo i programiranje. Uz memoriju potrebnu za pohranjivanje numeričkih elemenata (po 8 bajtova u slučaju realnih brojeva i 16 bajtova u slučaju složenih brojeva), MATLAB automatski dodjeljuje memoriju za kontrolne informacije prilikom stvaranja nizova.

Izračuni polja

U tradicionalnim programskim jezicima, proračuni s nizovima provode se element po element u smislu da morate programirati svaku pojedinačnu operaciju na zasebni element niz. M-jezik MATLAB sustava omogućuje moćne grupne operacije na cijelom polju odjednom. Upravo grupne operacije sustava MATLAB omogućuju iznimno kompaktno definiranje izraza čije izračun zapravo uključuje ogroman posao.

Operacije zbrajanja i oduzimanja matrice označavaju se standardnim znakovima + i -.

Navedite matrice A i B i izvedite operaciju zbrajanja matrica:

"A=; B=;

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

Za poelementno množenje i poelementno dijeljenje nizova iste veličine, kao i poelementno stepenovanje nizova koriste se operacije koje se označavaju kombinacijama dvaju simbola: .*, ./, i.^. Upotreba kombinacija simbola objašnjava se činjenicom da simboli * i / označavaju posebne operacije linearne algebre na vektorima i matricama.

Osim operacije./, koja se naziva operacija desnog elementnog dijeljenja, postoji i operacija lijevog elementnog dijeljenja.\. Razlika između ovih operacija: izraz A./B vodi do matrice s elementima A (k, m) /B (k, m), a izraz A.\B vodi do matrice s elementima B (k, m ) /A (k, m).

Znak * dodijeljen je množenju matrica i vektora u smislu linearne algebre.

Znak \ dodijeljen je u sustavu MATLAB rješenju prilično složenog problema linearne algebre - pronalaženje korijena sustava linearnih jednadžbi. Na primjer, ako trebate riješiti sustav linearnih jednadžbi Ay = b, gdje je A zadana kvadratna matrica veličine N´N, b zadani vektor stupac duljine N, tada je za pronalaženje nepoznatog vektora stupca y dovoljno za izračunavanje izraza A\b (ovo je ekvivalentno operaciji : A -1 B).

Tipični problemi analitičke geometrije u prostoru koji se odnose na nalaženje duljina vektora i kutova između njih, uz izračun skalarnih i vektorskih produkata, lako se rješavaju različitim sredstvima sustava MATLAB. Na primjer, da bi se pronašao umnožak vektora, koristi se posebna unakrsna funkcija, na primjer:

"u=; v=;

Točkasti umnožak vektora može se izračunati pomoću funkcije zbroja opće namjene, koja izračunava zbroj svih elemenata vektora (za matrice, ova funkcija izračunava zbrojeve za sve stupce). Skalarni umnožak, kao što je poznato, jednak je zbroju umnožaka odgovarajućih koordinata (elemenata) vektora. Dakle, izraz: » zbroj(u.*v)

izračunava skalarni produkt dva vektora u i v. Dot produkt se također može izračunati kao: u*v".

Duljina vektora izračunava se pomoću točkastog produkta i funkcije kvadratnog korijena, na primjer:

» sqrt(zbroj(u.*u))

Relacijske i logičke operacije prethodno razmatrane za skalare izvode se element po element u slučaju nizova. Oba operanda moraju biti iste veličine da bi operacija vratila rezultat iste veličine. U slučaju kada je jedan od operanda skalar, vrši se njegovo prethodno proširenje, čije je značenje već objašnjeno na primjeru aritmetičkih operacija.

Među funkcijama koje generiraju matrice sa zadanim svojstvima često se koristi funkcija oko, koja proizvodi jedinične kvadratne matrice, kao i funkciju rand, koja se široko koristi u praksi, koja generira niz sa slučajnim elementima ravnomjerno raspoređenim u intervalu od 0 do 1. Na primjer, izraz

proizvodi niz slučajni brojevi Veličine 3x3 s elementima ravnomjerno raspoređenim u intervalu od 0 do 1.

Ako ovu funkciju pozovete s dva argumenta, na primjer R=rand(2,3), dobit ćete 2x3 matricu R nasumičnih elemenata. Pozivanjem funkcije rand s tri ili više skalarnih argumenata stvaraju se višedimenzionalni nizovi slučajnih brojeva.

Determinanta kvadratne matrice izračunava se pomoću funkcije det. Među funkcijama koje izvode najjednostavnije izračune na nizovima, osim gore spomenute funkcije zbroja, koristi se i funkcija prod, koja je u svemu slična funkciji zbroja, samo što izračunava ne zbroj elemenata, već njihov umnožak . Funkcije max i min traže maksimalne, odnosno minimalne elemente nizova. Za vektore vraćaju jednu numeričku vrijednost, a za matrice proizvode skup ekstremnih elemenata izračunatih za svaki stupac. Funkcija sortira elemente jednodimenzionalnih nizova uzlaznim redoslijedom, a za matrice takvo sortiranje izvodi za svaki stupac zasebno.

MATLAB ima jedinstvenu sposobnost izvođenja skupnih izrač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ć iznimno kompaktnih unosa koji su prikladni za unos s tipkovnice u interaktivnom načinu rada s naredbeni prozor MATLAB sustavima, moguće je izvesti veliku količinu izračuna. Na primjer, samo dva kratki izrazi

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

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

Grafički prikaz funkcija

Grafičke mogućnosti MATLAB sustavi su snažni i raznoliki. Istražimo značajke najjednostavnije za korištenje (grafika visoke razine).

Formirajte dva vektora x i y:

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

Pozovite funkciju:

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

Riža. 1. Graf funkcije y=sin(x)

MATLAB prikazuje grafičke objekte u posebnim grafičkim prozorima koji u naslovu imaju riječ Slika. Bez uklanjanja prvog grafičkog prozora sa zaslona, ​​unesite izraze s tipkovnice

i dobiti novi graf funkcije u istom grafičkom prozoru (u ovom slučaju nestaju stare koordinatne osi i graf - to se može postići i naredbom clf; naredba cla briše samo graf s koordinatnim osima dovedenim na njihov standard se kreće od 0 do 1).

Ako trebate nacrtati drugi graf "povrh prvog grafa", tada prije ponovnog pozivanja grafičke funkcije iscrtavanja morate izvršiti naredbu za zadržavanje, koja je dizajnirana za zadržavanje trenutnog grafičkog prozora:

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

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

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

» nacrtaj(x,y,x,z)

Riža. 2. Grafovi funkcija y=sin(x), z=cos(x), iscrtani u jednom grafičkom prozoru

Ako trebate istovremeno vizualizirati nekoliko grafikona tako da ne ometaju jedni druge, to možete učiniti na dva načina. Prvo rješenje je iscrtati ih u različitim grafičkim prozorima. Da biste to učinili, prije ponovnog pozivanja funkcije crtanja, upišite naredbu figure, koja stvara 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 sukobljenih raspona osi je korištenje funkcije podcrteža. Ova funkcija vam omogućuje da podijelite izlazno područje grafičkih informacija u nekoliko potpodručja, u svakom od njih možete prikazati grafikone različitih funkcija.

Na primjer, za prethodno izvedene izračune s funkcijama sin i cos, iscrtajte ove dvije funkcije u prvom potpodručju, a iscrtajte funkciju exp(x) u drugom podpodručju istog grafičkog prozora (Sl. 3):

» podzaplet(1,2,1); dijagram(x,y,x,z)

» podzaplet(1,2,2); plot(x,w)

Riža. 3. Grafikoni funkcija y=sin(x), z=cos(x) i w=exp(x), iscrtani u dva podpodručja jednog grafičkog prozora

Rasponi promjene varijabli na koordinatnim osima ovih podregija međusobno su neovisni. Funkcija potplota uzima tri numerička argumenta, od kojih je prvi jednak broju redaka potpodručja, drugi je jednak broju stupaca potpodručja, a treći argument je broj potpodručja (broj se broji duž redovi s prijelazom na novi red nakon iscrpljenosti). Funkciju subplot možete onemogućiti naredbom:

» podzaplet(1,1,1)

Ako je raspon promjena varijabli duž jedne ili obje koordinatne osi prevelik za jedan grafikon, tada možete koristiti funkcije za crtanje grafikona na logaritamskim skalama. Funkcije semilogx, semilogy i loglog dizajnirane su za tu svrhu.

Možete iscrtati graf funkcije u polarnim koordinatama (Sl. 4) pomoću funkcije polarnog grafika.

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

Riža. 4. Graf funkcije r=sin(3*phi) u polarnim koordinatama

Razmotrimo dodatne značajke koje se odnose na upravljanje izgledom grafikona - postavljanje boje i stila linija, kao i postavljanje raznih oznaka unutar grafičkog prozora. Na primjer, naredbe

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

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

omogućuju vam da graf izgleda crveno puna linija(Sl. 5), na kojoj su na diskretnim izračunatim točkama iscrtani crni krugovi. Ovdje funkcija iscrtavanja iscrtava istu funkciju dvaput, ali u dva različita stila. Prvi od ovih stilova ima oznaku "r-", što znači povlačenje crte crvenom bojom (slovo r), a potez znači povlačenje pune linije. Drugi stil, s oznakom "ko", znači crtanje krugova (slovo o) crnom bojom (slovo k) umjesto izračunatih točaka.

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

U opći slučaj Funkcija plot (x1, y1, s1, x2, y2, s2, ...) omogućuje vam kombiniranje nekoliko grafova funkcija y1(x1), y2(x2), ... u jednom grafičkom prozoru tako da ih crtate pomoću stilovi s1, s2, .. itd.

Stilovi s1, s2,... navedeni su kao skup od tri markera znakova u jednostrukim navodnicima (apostrofima). Jedan od ovih markera određuje vrstu linije (Tablica 3). Drugi marker postavlja boju (tablica 4). Posljednji marker specificira vrstu "točaka" koje treba staviti (Tablica 5). Ne možete navesti sva tri markera. Zatim se koriste zadani markeri. Redoslijed kojim su navedeni markeri nije značajan, odnosno "r+-" i "-+r" daju isti rezultat.

Tablica 3. Markeri koji određuju vrstu linije

Tablica 4 Markeri koji postavljaju boju linije

Tablica 5 Oznake koje određuju vrstu točke

Ako stavite oznaku na vrstu točke u liniji stila, ali ne stavite oznaku na vrstu linije, tada se prikazuju samo izračunate točke, a one nisu povezane neprekinutom linijom.


MATLAB postavlja granice na vodoravnoj osi na vrijednosti koje je odredio korisnik za nezavisnu varijablu. Za zavisnu varijablu duž okomite osi, MATLAB neovisno izračunava raspon promjena vrijednosti funkcije. Ako trebate napustiti ovu značajku skaliranja pri crtanju grafova u sustavu MATLAB, tada morate eksplicitno nametnuti svoja ograničenja na promjenu varijabli duž koordinatnih osi. To se radi pomoću funkcije axis().

Za postavljanje raznih natpisa na rezultirajuću sliku koristite funkcije xlabel, ylabel, naslov i tekst. Funkcija xlabel stvara oznaku za vodoravnu os, a funkcija ylabel također stvara oznaku za okomitu os (i te su oznake usmjerene duž koordinatnih osi). Ako želite postaviti natpis na proizvoljno mjesto na slici, koristite funkciju teksta. Opći naslov za grafikon kreira funkcija naslova. Osim toga, korištenjem mreže na naredbu, možete primijeniti mjernu mrežu na cijelo područje crtanja. Na primjer (slika 6):

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

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

»title("Graf funkcije sin(x)");

» xlabel("xkoordinata"); ylabel("grijeh(x)");

» text(2.1, 0.9, "\leftarrowsin(x)"); rešetka uključena

Funkcija teksta postavlja natpis počevši od točke s koordinatama navedenim u prva dva argumenta. Prema zadanim postavkama, koordinate su navedene u istim jedinicama kao i koordinate navedene na vodoravnoj i okomitoj osi. Posebni kontrolni znakovi unose se unutar teksta nakon znaka \ (kosa crta).

3D grafika

Svaku točku u prostoru karakteriziraju tri koordinate. Skup točaka koje pripadaju određenoj liniji u prostoru mora biti specificiran u obliku tri vektora, od kojih prvi sadrži prve koordinate tih točaka, drugi vektor - njihove druge koordinate, treći vektor - treće koordinate. Nakon čega se ta tri vektora mogu unijeti na ulaz funkcije plot3, koja će projicirati odgovarajuću trodimenzionalnu crtu na ravninu i konstruirati rezultirajuću sliku (slika 7). Unesite s tipkovnice:

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

» y=cos(t); dijagram3(x,y,t); rešetka uključena

Riža. 7. Helix graf iscrtan pomoću funkcije plot3

Ista funkcija plot3 također se može koristiti za prikaz površina u prostoru, ako, naravno, ne nacrtate samo jednu liniju, već više njih. Tipkajte s tipkovnice:

» u=-2:0,1:2; v=-1:0,1:1;

» =mrežasta mreža(u,v);

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

Dobiti trodimenzionalnu sliku grafa funkcije (slika 8).

Funkcija plot3 iscrtava graf u obliku niza linija u prostoru, od kojih je svaka dio trodimenzionalne površine s ravninama paralelnim s ravninom yOz. Osim ovoga najjednostavnija funkcija Sustav MATLAB ima niz drugih funkcija koje vam omogućuju postizanje većeg realizma u prikazu trodimenzionalnih grafikona.

Riža. 8. Graf površine u prostoru, konstruiran pomoću funkcije plot3


Skripte i m-datoteke.

Za jednostavne operacije, interaktivni način je prikladan, ali ako se izračuni moraju izvoditi više puta ili je potrebno implementirati složene algoritme, tada biste trebali koristiti MATLAB m-datoteke(ekstenzija datoteke sastoji se od jednog slova m). script-m-file (ili skripta) je tekstualna datoteka koja sadrži upute u MATLAB-u koje se trebaju izvršiti u automatskom skupnom načinu. Pogodnije je stvoriti takvu datoteku pomoću uređivača sustava MATLAB. Poziva se iz naredbenog prozora MATLAB-a naredbom izbornika File/New/M-file (ili krajnjim lijevim gumbom na alatnoj traci, koji prikazuje prazan bijeli list papira). Naredbe zapisane u datotekama skripte izvršit će se ako unesete naziv datoteke skripte (bez ekstenzije) u naredbeni redak. Varijable definirane u naredbenom prozoru i varijable definirane u skriptama čine jedan radni prostor MATLAB sustava, a varijable definirane u skriptama su globalne; njihove vrijednosti će zamijeniti vrijednosti istih varijabli koje su korištene prije poziva ove datoteke skripte .

Nakon izrade teksta skripte potrebno ga je spremiti na disk. Put do direktorija s datotekom mora biti poznat sustavu MATLAB. Naredba File/Set Path poziva dijaloški okvir preglednika staze direktorija. Da biste dodali novi direktorij na popis pristupnih staza, tada morate izvršiti naredbu izbornika Put/Dodaj putu.

Rad iz MatLab naredbenog retka je težak ako morate unijeti puno naredbi i često ih mijenjati. Vođenje dnevnika pomoću naredbe dnevnik i spremanje radnog okruženja samo malo olakšava stvari. Najviše na prikladan način izvršavanje MatLab naredbi je koristiti M-datoteke, u koji možete upisivati ​​naredbe, izvršavati ih sve odjednom ili u dijelovima, spremati ih u datoteku i koristiti u budućnosti. Uređivač M-datoteka dizajniran je za rad s M-datotekama. Pomoću ovog uređivača možete stvarati vlastite funkcije i pozivati ​​ih, uključujući i iz naredbenog retka.

Proširi izbornik Datoteka glavni MatLab prozor i u item Novi odaberite podstavku M-datoteka. Nova datoteka otvara se u prozoru uređivača M-datoteka.

Unesite naredbe u editoru koje dovode do konstrukcije 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)

Sada spremite datoteku pod nazivom mydemo.m u poddirektorij raditi glavni MatLab direktorij odabirom Spremi kao Jelovnik Datoteka urednik. Za pokretanje svih naredbi sadržanih u datoteci odaberite Trčanje na jelovniku Debug. Na ekranu će se pojaviti grafički prozor Lik br.1, koji sadrži grafove funkcija. Ako odlučite iscrtati kosinus umjesto sinusa, jednostavno promijenite redak g = sin(x) u M-datoteci u g = cos(x) i ponovno pokrenite sve naredbe.

Napomena 1

Ako se prilikom tipkanja napravi pogreška i MatLab ne može prepoznati naredbu, tada se izvršavaju naredbe do pogrešno unesene, nakon čega se u prozoru naredbi prikazuje poruka o pogrešci.

Vrlo zgodna prilika koju pruža M-file editor je izvršavanje nekih naredbi. Zatvorite grafički prozor Lik br.1. Odaberite pomoću miša dok držite lijevu tipku ili pomoću tipki sa strelicama dok držite pritisnutu tipku , prve četiri naredbe programa i izvršiti ih od točke Ocijenite Izbor Jelovnik Tekst. Imajte na umu da je u grafičkom prozoru prikazan samo jedan grafikon koji odgovara izvršenim naredbama. Upamtite da za izvršavanje nekih naredbi morate ih odabrati i pritisnuti . Izvršite preostale tri programske naredbe i pratite stanje grafičkog prozora. Vježbajte sami, upišite neke primjere iz prethodnih vježbi u M-file editor i pokrenite ih.

Moguće je isporučiti pojedinačne blokove M-datoteka komentari, koji se preskaču prilikom izvođenja, ali su prikladni pri radu s M-datotekom. Komentari u MatLabu počinju znakom postotka i automatski su označeni zelena, Na primjer:

% iscrtavanje sin(x) u zasebnom prozoru

Uređivač M-datoteka može imati više otvorenih datoteka u isto vrijeme. Prijelaz između datoteka provodi se pomoću oznaka s nazivima datoteka koje se nalaze na dnu prozora uređivača.

Otvaranje postojeće M-datoteke vrši se pomoću stavke Otvoren Jelovnik Datoteka radno okruženje ili M-file editor. Također možete otvoriti datoteku u uređivaču koristeći MatLab naredbu za uređivanje iz naredbenog retka, navodeći naziv datoteke kao argument, na primjer:

Naredba edit bez argumenta stvara novu datoteku.
Sve primjere koji se pojavljuju u ovom i sljedećim laboratorijima najbolje je upisati i spremiti u M-datoteke, nadopuniti komentarima i izvršiti iz uređivača M-datoteka. Korištenje numeričkih metoda i programiranje u MatLabu zahtijeva stvaranje M-datoteka.

2. Vrste M-datoteka

U MatLabu postoje dvije vrste M-datoteka: programska datoteka(Script M-Files) koji sadrži niz naredbi, i datoteka-funkcija(Function M-Files), koji opisuju korisnički definirane funkcije.

Stvorili ste program datoteke (proceduru datoteke) čitajući prethodni pododjeljak. Sve varijable deklarirane u datotečnom programu postaju dostupne u radnom okruženju nakon njegovog izvođenja. Izvršite program datoteka naveden u pododjeljku 2.1 u uređivaču datoteka M i unesite naredbu whos u naredbeni redak za pregled sadržaja radnog prostora. Opis varijabli pojavit će se u naredbenom prozoru:

"Tko
Naziv Veličina Bajtovi Klasa
f 1x71 568 dvostruko polje
g 1x71 568 dvostruko polje
x 1x71 568 dvostruko polje
Ukupni ukupni broj je 213 elemenata koji koriste 1704 bajta

Varijable definirane u jednom datotečnom programu mogu se koristiti u drugim datotečnim programima iu naredbama koje se izvode iz naredbenog retka. Izvršenje naredbi sadržanih u datotečnom programu provodi se na dva načina:

  • Iz uređivača M-datoteka kao što je gore opisano.
  • Iz naredbenog retka ili drugog programa za datoteke, koristeći naziv M datoteke kao naredbu.

Korištenje druge metode mnogo je praktičnije, pogotovo ako će se stvoreni program datoteke više puta koristiti u budućnosti. Zapravo, stvorena M-datoteka 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.

  • Provjerava je li unesena naredba naziv neke od varijabli definiranih u vremenu izvođenja. Ako je varijabla unesena, prikazuje se njezina vrijednost.
  • 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.

Ako se ne unese niti varijabla niti ugrađena funkcija, tada MatLab počinje tražiti M-datoteku s nazivom naredbe i ekstenzijom m. Potraga počinje s trenutni imenik(Trenutni direktorij), ako M-datoteka nije pronađena u njemu, tada MatLab pregledava direktorije instalirane u staze pretraživanja(Staza). Pronađena M-datoteka se izvršava u MatLabu.

Ako nijedna od gornjih radnji nije rezultirala uspjehom, u naredbenom prozoru prikazuje se poruka, na primjer:

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

Tipično, M-datoteke su pohranjene u korisničkom direktoriju. Kako bi ih sustav MatLab pronašao, staze moraju biti postavljene tako da pokazuju lokaciju M-datoteka.

Napomena 2

Zadržati vlastite M-datoteke izvan glavnog MatLab direktorija slijedi iz dva razloga. Prvo, kada ponovno instalirate MatLab, datoteke koje se nalaze u poddirektorijima glavnog MatLab direktorija mogu biti uništene. Drugo, kada se pokrene MatLab, sve datoteke u poddirektoriju toolboxa smještaju se u memoriju računala na neki optimalan način kako bi se povećala izvedba. Ako ste napisali M-datoteku u ovaj direktorij, možete je koristiti tek nakon ponovnog pokretanja MatLaba.

3. Postavljanje staza

U MatLab verziji 6 .x određuju se trenutni imenik i staze pretraživanja. Postavljanje ovih svojstava vrši se pomoću odgovarajućeg dijaloški okviri ili naredbe iz naredbenog retka.

Trenutačni direktorij određuje se u dijaloškom okviru Trenutno Imenik radno okruženje. Prozor je prisutan u radnom prostoru ako je opcija odabrana Trenutno Imenik Jelovnik Pogled radno okruženje.
Trenutačni imenik odabire se s popisa. Ako nije na popisu, možete ga dodati iz dijaloškog okvira pretraživati za Mapa poziva se klikom na gumb koji se nalazi desno od popisa. Sadržaj trenutnog direktorija prikazan je u tablici datoteka.

Putovi pretraživanja definirani su u dijaloškom okviru set Staza putni navigator, kojem se pristupa s točke set Staza Jelovnik Datoteka radno okruženje.

Za dodavanje kataloga kliknite gumb Dodati Mapa pretraživati za Staza odaberite željeni direktorij. Dodavanje direktorija sa svim njegovim poddirektorijima vrši se klikom na gumb Dodaj s podmapama. MATLAB traži staza. Redoslijed pretraživanja odgovara lokaciji staza u ovom polju; prvi se pretražuje direktorij čija se staza nalazi na vrhu popisa. Možete promijeniti redoslijed pretraživanja ili čak ukloniti put do imenika odabirom imenika u polju MATLAB traži staza i odredite njegov položaj pomoću sljedećih gumba:
Potez do Vrh - mjesto na vrhu liste;
Potez Gore - pomaknuti se za jednu poziciju;
Ukloniti - ukloniti s popisa;
Potez dolje - pomaknuti jednu poziciju prema dolje;
Potez do Dno - mjesto na dnu liste.

4. Naredbe za postavljanje staza.

Koraci za postavljanje staza u MatLabu 6 .x umnožavaju timovi. Trenutni direktorij postavlja se naredbom cd, na primjer cd c:\users\igor. Naredba cd, izdana bez argumenta, ispisuje stazu do trenutnog direktorija. Za postavljanje staza upotrijebite naredbu path, koja se poziva s dva argumenta:

put (staza, "c:\users\igor") - dodaje direktorij c:\users\igor s najnižim prioritetom pretraživanja;
put ("c:\users\igor",path) - dodaje direktorij c:\users\igor s glavni prioritet traži.

Korištenje naredbe path bez argumenata uzrokuje prikaz popisa putova pretraživanja na zaslonu. Možete ukloniti stazu s popisa pomoću naredbe rmpath:

rmpath("c:\users\igor") uklanja stazu do direktorija c:\users\igor s popisa staza.

Napomena 3

Nemojte nepotrebno brisati putove direktorija, osobito one u čiju svrhu niste sigurni. Uklanjanje može dovesti do toga da neke od funkcija definiranih u MatLabu postanu nedostupne.

Primjer. Stvorite u korijenskom direktoriju diska D(ili bilo koji drugi disk ili direktorij gdje je studentima dopušteno kreirati vlastite direktorije) imenik s vašim prezimenom, na primjer, WORK_IVANOV, i tamo upišite M-datoteku mydemo.m pod imenom mydemo3.m. Postavite putove datoteka i demonstrirajte pristupačnost datoteka iz naredbenog retka. Navedite rezultate u svom laboratorijskom izvješću.

Mogućnost rješenja:

1. U korijenskom direktoriju diska D kreira se imenik WORK_IVANOV.
2. M-datoteka mydemo.m zapisuje se u direktorij WORK_IVANOV pod imenom mydemo3.m.
3. Otvara se dijaloški okvir set Staza Jelovnik Datoteka MatLab radno okruženje.
4. Gumb je pritisnut Dodati Mapa i u dijaloškom okviru koji se pojavi pretraživati za Staza odabran je imenik WORK_IVANOV.
5. Dodavanje direktorija sa svim njegovim poddirektorijima vrši se klikom na gumb Dodati s Podmape. U polju se pojavljuje put do dodanog imenika MATLAB traži staza.
6. Za pamćenje putanje pritisnite tipku Uštedjeti dijaloški okvir set Staza.
7. Ispravnost svih radnji provjerava se upisivanjem naredbe mydemo3 iz naredbenog retka. Na ekranu će se pojaviti grafički prozor.

5. Funkcije datoteke

Datotečni programi o kojima se gore govori su slijed MatLab naredbi; oni nemaju ulazne ili izlazne argumente. Da biste koristili numeričke metode i kada programirate vlastite aplikacije u MatLabu, morate biti sposobni sastaviti funkcije datoteke koje proizvode potrebne radnje s ulaznim argumentima i vratiti rezultat u izlaznim argumentima. Ovaj pododjeljak sadrži nekoliko jednostavnih primjera koji će vam pomoći razumjeti kako raditi s funkcijama datoteke. Datotečne funkcije, kao i datotečne procedure, kreiraju se u M-file editoru.

5.1. Datotečne funkcije s jednim ulaznim argumentom

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

Funkciju datoteke ima smisla napisati jednom, a zatim je pozvati gdje god ovu funkciju treba izračunati. Otvorite novu datoteku u uređivaču M-datoteka i upišite tekst popisa

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

Riječ funkcija u prvom retku označava da ova datoteka sadrži funkcijsku datoteku. Prvi red je zaglavlje funkcije, koje kuće naziv funkcije te liste ulaznih i izlaznih argumenata. U primjeru prikazanom u popisu, naziv funkcije je myfun, jedan ulazni argument je x, a jedan izlazni argument je f. Nakon naslova dolazi funkcija tijela(unutra je u ovom primjeru sastoji se od jednog retka), gdje se izračunava njegova vrijednost. Važno je da se izračunata vrijednost upiše u f. Točka-zarez je uključen kako bi se spriječilo prikazivanje nepotrebnih informacija na ekranu.

Sada spremite datoteku u svoj radni direktorij. Imajte na umu da odabir stavke Uštedjeti ili Uštedjeti kao Jelovnik Datoteka uzrokuje pojavu dijaloškog okvira za spremanje datoteke u polju Datoteka Ime koji već sadrži naziv myfun. Nemojte ga mijenjati, spremite funkcijsku datoteku u datoteku s 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 =
0.2600

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

Upozorenje

Direktorij koji sadrži funkcijsku datoteku mora biti trenutan ili se njegova putanja mora dodati putanji pretraživanja, inače MatLab jednostavno neće pronaći funkciju ili će umjesto nje pozvati drugu s istim imenom (ako je u pretraživim direktorijima).

Funkcija datoteke prikazana na popisu ima jednu značajan nedostatak. Pokušaj evaluacije vrijednosti funkcije iz niza rezultira pogreškom, a ne nizom vrijednosti, kao što se događa kod evaluacije ugrađenih funkcija.

» x = ;
» y = myfun(x)
??? Pogreška pri korištenju ==> ^
Matrica mora biti kvadratna.
Greška u ==> C:\MATLABRll\work\myfun.m
Na retku 2 ==> f = exp(-x)*sqrt((x^2+1)/(x^4+1));

Ako ste naučili kako raditi s nizovima, tada uklanjanje ovog nedostatka neće biti teško. Samo trebate koristiti operacije s elementima kada izračunavate vrijednost funkcije.
Izmijenite tijelo funkcije kao što je prikazano u sljedećem popisu (ne zaboravite spremiti 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 = myfun(x)
Y =
0.2600 0.0001

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

Iscrtajte funkciju myfun na segmentu iz naredbenog retka ili pomoću programa za datoteke:

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

MatLab nudi još jedan način rada s funkcijama datoteka - korištenjem ih kao argumenata za neke naredbe. Na primjer, za iscrtavanje grafa koristite posebnu funkciju fplot koja zamjenjuje slijed gore navedenih naredbi. Kada pozivate fplot, naziv funkcije čiji graf želite iscrtati nalazi se u apostrofima, granice iscrtavanja su naznačene u vektoru retka od dva elementa

fplot("myfun", )

Iscrtajte myfun grafove koristeći plot i fplot na istim osima, koristeći hold on. Imajte na umu da grafikon konstruiran korištenjem fplot-a točnije odražava ponašanje funkcije, jer fplot sam odabire korak argumenta, smanjujući ga u područjima brze promjene u prikazanoj funkciji. Navedite rezultate u svom laboratorijskom izvješću.

5.2. Datotečne funkcije s više ulaznih argumenata

Pisanje funkcija datoteke s više ulaznih argumenata praktički se ne razlikuje od pisanja s jednim argumentom. Svi ulazni argumenti smješteni su na popis odvojen zarezima. Na primjer, sljedeći popis sadrži funkciju datoteke koja izračunava duljinu radijus vektora točke u trodimenzionalnom prostoru
Ispis funkcije datoteke s nekoliko argumenata

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

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

Uz funkcije s više ulaznih argumenata, MatLab vam omogućuje stvaranje funkcija koje vraćaju više vrijednosti, tj. ima više izlaznih argumenata.

5.3. Datotečne funkcije s više izlaznih argumenata

Datotečne funkcije s više izlaznih argumenata korisne su pri procjeni funkcija koje vraćaju više vrijednosti (u matematici se zovu vektorske funkcije). Izlazni argumenti se dodaju odvojeni zarezima na popis izlaznih argumenata, a sam popis je zatvoren u uglate zagrade. Dobar primjer je funkcija koja pretvara vrijeme navedeno u sekundama u sate, minute i sekunde. Ova funkcija datoteke prikazana je na sljedećem popisu.

Ispis funkcije za pretvaranje sekundi u sate, minute i sekunde

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

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

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

6. Osnove programiranja u MatLabu

Datotečne funkcije i programska datoteka korišteni u prethodnim pododjeljcima su najjednostavniji primjeri programa. Sve MatLab naredbe sadržane u njima izvršavaju se sekvencijalno. Za rješavanje mnogo ozbiljnijih problema potrebno je pisati programe u kojima se akcije izvode ciklički ili se, ovisno o nekim uvjetima, izvršavaju različiti dijelovi programa. Pogledajmo glavne operatore koji određuju redoslijed izvršavanja MatLab naredbi. Operatori se mogu koristiti iu datotečnim procedurama iu funkcijama, što vam omogućuje stvaranje programa sa složenim razgranatim strukturama.

6.1. Operator petlje za

Operator je dizajniran za izvođenje određenog broja ponovljenih radnji. Najlakši za korištenje za operatera provodi se na sljedeći način:

za brojanje = početak:korak:konačno
MatLab naredbe
kraj

Ovdje je count varijabla petlje, start je njezina početna vrijednost, konačno - konačna vrijednost, a korak je korak za koji se broj povećava svaki put kada se uđe u petlju. Petlja završava čim broj postane veći od konačnog. Varijabla petlje može uzeti ne samo cjelobrojne vrijednosti, već i stvarne vrijednosti bilo kojeg znaka. Pogledajmo korištenje operatora for petlje koristeći neke tipične primjere.
Neka je potrebno izvesti familiju krivulja za , koja je određena funkcijom ovisno o parametru za vrijednosti parametara od -0,1 do 0,1.
Upišite tekst procedure datoteke u M-file editor i spremite je u datoteku FORdem1.m te pokrenite na izvršenje (iz M-file editora ili iz naredbenog retka tako da u nju upišete naredbu FORdem1 i pritisnete ):

% file program za konstruiranje obitelji krivulja
x = ;
za a = -0,1:0,02:0,1
y = exp(-a*x).*sin(x);
drži se
dijagram (x, y)
kraj

Napomena 4

Uređivač M-datoteke automatski predlaže postavljanje izjava unutar petlje, uvučeno od lijevog ruba. Koristite ovu značajku kako biste olakšali rad s programskim tekstom.

Kao rezultat izvođenja FORdem1 pojavit će se grafički prozor koji sadrži traženu familiju krivulja.

Napišite program datoteke za izračunavanje zbroja

Algoritam za izračunavanje zbroja koristi akumulaciju rezultata, tj. prvo je zbroj nula ( S= 0), zatim u varijablu k upisuje se jedinica i izračunava se 1/ k!, dodaje se S i ponovno se upisuje rezultat S. Unaprijediti k povećava se za jedan, a proces se nastavlja sve dok posljednji član ne bude 1/10!. Fordem2 file program prikazan u sljedećem popisu izračunava potrebnu količinu.

Ispis Fordem2 file programa za izračun iznosa

% file program za izračun iznosa
% 1/1!+1/2!+ … +1/10!

% Reset S za akumuliranje iznosa
S = 0;
% akumulacije iznosa u ciklusu
za k = 1:10
S = S + 1/faktorijel(k);
Kraj
% ispis rezultata u naredbeni prozor S

Upišite programsku datoteku u M-file editor, spremite je u trenutni direktorij u datoteku Fordem2.m i pokrenite. Rezultat će biti prikazan u naredbenom prozoru, jer u posljednjoj liniji programa datoteke S ne sadrži točku-zarez za prikaz vrijednosti varijable S

Imajte na umu da druge linije programa datoteke koje bi uzrokovale ispis međuvrijednosti na ekranu završavaju točkom i zarezom kako bi se potisnuo izlaz u naredbeni prozor.

Nije slučajno da su prva dva retka s komentarima odvojena praznim retkom od ostatka teksta programa. Oni su oni koji se prikazuju kada korisnik koristi naredbu za pomoć iz naredbenog retka za dobivanje informacija o tome što Fordem2 radi

>> pomoć Fordemu2
file program za izračunavanje zbroja
1/1!+1/2!+ … +1/10!

Kada pišete programe datoteka i funkcije datoteka, nemojte zanemariti komentare!
Sve varijable korištene u datotečnom programu postaju dostupne u radnom okruženju. To su takozvane globalne varijable. S druge strane, program datoteka može koristiti sve varijable unesene u radnom okruženju.

Razmotrimo problem izračunavanja zbroja, sličan prethodnom, ali ovisno o varijabli x

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

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

Prije pokretanja programa morate definirati varijablu x na naredbenom retku pomoću sljedećih naredbi:

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

Kao x može biti vektor ili matrica, budući da su u datotečnom programu Fordem2 korištene operacije element po element prilikom akumuliranja zbroja.

Prije pokretanja Fordema2 morate dodijeliti varijablu x neku vrijednost, a da biste izračunali zbroj, na primjer, iz petnaest članova, morat ćete promijeniti tekst programa datoteke. Mnogo je bolje napisati univerzalnu funkciju datoteke koja kao ulazne argumente uzima vrijednost x i gornja granica iznosa, a vikend - vrijednost iznosa S(x). Funkcijska datoteka sumN prikazana je na sljedećem popisu.

Ispis funkcije datoteke za izračunavanje zbroja

funkcija S = zbrojN(x, N)
% file funkcija za izračunavanje zbroja
% x/1!+x^2/2!+ … +x^N/N!
% upotrebe: S = zbrojN(x, N)

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

Korisnik može saznati više o korištenju funkcije sumN upisivanjem pomoći sumN u naredbeni redak. Prva tri retka s komentarima bit će prikazana u naredbenom prozoru, odvojena od teksta funkcije datoteke praznim retkom.

Imajte na umu da varijable funkcije datoteke nisu globalne (m u sumN funkciji datoteke). Pokušaj pregledavanja vrijednosti varijable m iz naredbenog retka rezultira porukom da m nije definiran. Ako postoji globalna varijabla u radnom okruženju s istim imenom, definirana iz naredbenog retka ili u funkciji datoteke, tada ona nije ni na koji način povezana s lokalnom varijablom u funkciji datoteke. U pravilu je bolje formatirati vlastite algoritme kao funkcije datoteke tako da varijable koje se koriste u algoritmu ne mijenjaju vrijednosti globalnih varijabli radne okoline s istim imenom.

For petlje mogu biti ugniježđene jedna u drugu, ali varijable ugniježđenih petlji moraju biti različite.

Petlja for je korisna kada se ponavljaju slične radnje kada je njihov broj unaprijed određen. Fleksibilnija while petlja omogućuje vam da zaobiđete ovo ograničenje.

6.2. Dok operator petlje

Razmotrimo primjer izračunavanja zbroja, sličan primjeru iz prethodnog odlomka. Morate pronaći zbroj niza za dano x(proširenje serije):
.

Zbroj se može akumulirati sve dok članovi nisu premali, recimo više modulo.For petlja ovdje nije dovoljna, jer je broj članova unaprijed nepoznat. Rješenje je koristiti while petlja, koji radi sve dok je zadovoljen uvjet petlje:

dok stanje petlje
MatLab naredbe
kraj

U ovom primjeru, uvjet petlje propisuje da je trenutni izraz veći od . Za pisanje ovog uvjeta koristite znak veće od (>). Tekst funkcije datoteke mysin, koja izračunava zbroj niza, dan je u sljedećem popisu.

Popis funkcije datoteke mysin koja izračunava sinus proširenjem niza

funkcija S = mysin(x)
% Izračunavanje sinusa proširenjem niza
% Upotreba: y = mysin(x), -pi

S = 0;
k = 0;
dok je abs(x.^(2*k+1)/faktorij(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 petlje, nema varijablu petlje, tako da smo morali dodijeliti k nuli prije početka petlje i povećati k za jedan unutar petlje.
Uvjet while petlje može sadržavati više od znaka >. Za postavljanje uvjeta za izvođenje ciklusa vrijede i druge relacijske operacije navedene u tablici 1. 1.

Tablica 1. Relacijske operacije

Postavljanje složenijih uvjeta vrši se pomoću logičkih operatora. Na primjer, uvjet se sastoji od istovremenog ispunjenja dviju nejednakosti i , a piše se pomoću logičkog operatora i

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

ili ekvivalentno s &

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

Logički operatori i primjeri njihove uporabe dati su u tablici. 2.

Tablica 2. Logički operatori

Operater

Pisanje u MatLab

Ekvivalentan unos

Logički "I"

i (x< 3, k == 4)

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

Logički "ILI"

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

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

Negacija "NE"

Pri računanju zbroja beskonačnog niza ima smisla ograničiti broj članova. Ako niz divergira jer njegovi članovi ne teže nuli, tada uvjet za malu vrijednost trenutnog člana možda nikada neće biti zadovoljen i program će krenuti u petlju. Izvršite zbrajanje dodavanjem ograničenja broja izraza u uvjet petlje while funkcije datoteke mysin:

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

ili u ekvivalentnom obliku

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

Organizacija ponovljenih radnji u obliku ciklusa čini program jednostavnim i razumljivim, ali često je potrebno izvršiti jedan ili drugi blok naredbi ovisno o određenim uvjetima, tj. koristiti grananje algoritma.

6.3. Uvjetna izjava if

Uvjetni operator ako omogućuje vam stvaranje algoritma grananja za izvršavanje naredbi, u kojem se, kada su ispunjeni određeni uvjeti, pokreće odgovarajući blok MatLab operatora ili naredbi.

Naredba if može se koristiti u svom jednostavnom obliku za izvršavanje bloka naredbi kada je neki uvjet zadovoljen, ili u konstrukciji if-elseif-else za pisanje algoritama za grananje.
Pretpostavimo da trebamo izračunati izraz . Pretpostavimo da izvodite izračun u domeni realnog broja i želite prikazati upozorenje da je rezultat složeni broj. Prije izračuna funkcije trebali biste provjeriti vrijednost argumenta x i prikazati upozorenje u prozoru s naredbama ako modul x ne prelazi jedinicu. Ovdje morate koristiti uvjetnu if naredbu, čija upotreba u najjednostavnijem slučaju izgleda ovako:

ako stanje
MatLab naredbe
kraj

Ako je uvjet zadovoljen, tada se implementiraju MatLab naredbe koje se nalaze između if i end, a ako uvjet nije ispunjen, tada se prelazi na naredbe koje se nalaze iza end. Prilikom pisanja uvjeta koriste se operacije dane u tablici. 1.

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

Ispis funkcije datoteke Rfun koja provjerava vrijednost argumenta

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

% provjera argumenata
ako abs(x)<1
upozorenje("složen rezultat")
kraj
% vrednovanje funkcije
f = sqrt(x^2-1);

Sada pozivanje Rfuna iz argumenta manjeg od jedan rezultirat će porukom upozorenja koja se prikazuje u prozoru naredbi:

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

Funkcija datoteke Rfun samo upozorava da je njezina vrijednost složena i svi izračuni s njom se nastavljaju. Ako složeni rezultat znači pogrešku u izračunu, trebali biste prestati izvršavati funkciju pomoću naredbe pogreške umjesto upozorenja.

6.4. Operator grananja if-elseif-else

Općenito, primjena operatora grananja if-elseif-else izgleda ovako:

ako je uvjet 1
MatLab naredbe
elseif uvjet 2
MatLab naredbe
elseif uvjet 3
MatLab naredbe
. . . . . . . . . . .
elseif uvjet N
MatLab naredbe
drugo
MatLab naredbe
kraj

Ovisno o provedbi jedne ili druge od N uvjetima, odgovarajuća grana programa se izvodi ako nijedan od N uvjetima, tada se implementiraju MatLab naredbe postavljene iza else. Nakon izvršenja bilo kojeg od grananja, operater izlazi. Grana može biti koliko god želite ili samo dvije. U slučaju dvije grane, koristi se završni else, a elseif se preskače. Izjava uvijek mora završiti s krajem.
Primjer korištenja naredbe if-elseif-else dan je u sljedećem popisu.

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

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

6.5. Operater poslovnice sklopka

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

prebaciti switch_expression
vrijednost slučaja 1
MatLab naredbe
vrijednost slučaja 2
MatLab naredbe
. . . . . . . . . . .
vrijednost slučaja N
MatLab naredbe
slučaj (vrijednost N+1, vrijednost N+2, ...)
MatLab naredbe
. . . . . . . . . . . .
slučaj (vrijednost NM+1, vrijednost NM+2,…)
inače
MatLab naredbe
kraj

U ovoj izjavi prvo se izračunava vrijednost switch_expression (to može biti skalarna numerička vrijednost ili niz znakova). Ta se vrijednost zatim uspoređuje s vrijednostima: vrijednost 1, vrijednost 2, ..., vrijednost N, vrijednost N+1, vrijednost N+2, ..., vrijednost NM+1, vrijednost NM+2, ... ( koji također može biti numerički ili string) . Ako se pronađe podudaranje, izvršavaju se MatLab naredbe koje slijede nakon odgovarajuće ključne riječi case. Inače se izvršavaju MatLab naredbe koje se nalaze između ključnih riječi else i end.

Može postojati bilo koji broj redaka s ključnom riječi case, ali u suprotnom mora postojati samo jedan redak s ključnom riječi.

Nakon izvođenja bilo kojeg od grananja, prekidač izlazi, a vrijednosti navedene u drugim slučajevima se ne provjeravaju.

Upotreba prekidača ilustrirana je sljedećim primjerom:

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 jednako 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. Operator prekida petlje pauza

Prilikom organiziranja cikličkih izračuna, treba paziti da se unutar petlje ne pojave greške. Na primjer, pretpostavimo da vam je dan niz x koji se sastoji od cijelih brojeva i želite generirati novi niz y prema pravilu y(i) = x(i+1)/x(i). Očito, problem se može riješiti korištenjem for petlje. Ali ako jedan od elemenata izvorni niz jednako nuli, tada će dijeljenje rezultirati inf, a naknadni izračuni mogu biti beskorisni. Ova se situacija može spriječiti izlaskom iz petlje ako je trenutna vrijednost x(i) nula. Sljedeći fragment programa demonstrira korištenje naredbe break za prekid petlje:

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

Čim varijabla z postane 0, petlja se prekida.

Naredba break vam omogućuje rano prekidanje izvršenja za petlje i dok. Izvan ovih petlji, naredba break ne radi.

Kada se naredba break koristi u ugniježđenoj petlji, ona izlazi samo iz unutarnje petlje.

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

Dobar posao na web mjesto">

Studenti, diplomanti, mladi znanstvenici koji koriste bazu znanja u svom studiju i radu bit će vam vrlo zahvalni.

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

  • Uvod
  • 1. Teorijski dio
  • 1.1 MATLAB i njegov odnos s drugim programskim jezicima
  • 1.2 MatLab i njegove glavne komponente
  • 1.3 Malo o radu sa sustavom MATLAB
  • 2. Praktični dio
  • 2.1 Izjava problema
  • 2.2 Povijest razvoja problema
  • 2.3 Korištene formule
  • 2.4 Programski kod zadatka
  • 2.5 Opis programa
  • Zaključak
  • Popis korištenih izvora
  • UVOD
  • Moderno računalna matematika nudi cijeli niz integriranih programski sustavi te programski paketi za automatizaciju matematičkih izračuna: Gauss, Derive, Mathcad, Mathematica itd. Postavlja se pitanje koje mjesto među njima zauzima sustav MATLAB?
  • MATLAB je jedan od najstarijih, pažljivo razvijanih sustava za automatizaciju matematičkih izračuna, izgrađen na naprednom predstavljanju i primjeni matričnih operacija.
  • Tijekom nekoliko godina, MATLAB se razvijao različite korisnike. U sveučilišnom okruženju bio je standardni alat za rad u raznim područjima matematike, strojarstva i znanosti.
  • Programski jezik sustava MATLAB vrlo je jednostavan, sadrži samo nekoliko desetaka operatora; mali broj operatora ovdje je kompenziran velikim brojem postupaka i funkcija, čiji je sadržaj razumljiv korisniku s odgovarajućom matematičkom i inženjerskom obukom.
  • MATLAB uključuje izračunavanje, vizualizaciju i programiranje u okruženju jednostavnom za korištenje u kojem su problemi i rješenja izraženi u gotovo matematičkom obliku. Tipične upotrebe MATLAB-a su: matematički izračuni, stvaranje algoritama, modeliranje, analiza podataka, istraživanje i vizualizacija, znanstvena i inženjerska grafika, razvoj aplikacija, uključujući izradu grafičkog sučelja.
  • Programi napisani u MATLAB-u postoje u 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.
  • U ovom radu cilj je razmotriti kako se giba tijelo (ili materijalna točka) bačeno pod kutom u odnosu na horizont. I također, na temelju razmatranih podataka iz mehanike, napisati program koji bi simulirao to kretanje. Rad uključuje izradu grafova gibanja, grafova koordinata u odnosu na vrijeme, kao i izradu dinamičkog modela gibanja tijela bačenog pod kutom u odnosu na horizont.

1. TEORIJSKI DIO

1.1 MATLAB I NJEGOV ODNOS S DRUGIM PROGRAMSKIM JEZICIMA

Sustav MATLAB razvili su stručnjaci MathWork Inc. (Natick, Massachusetts, SAD). Iako je ovaj sustav prvi put korišten kasnih 1970-ih, raširen je postao kasnih 1980-ih, posebno nakon što je verzija 4.0 stigla na tržište. Najnovije verzije MATLAB je sustav koji sadrži mnoge postupke i funkcije potrebne inženjeru i znanstveniku za izvođenje složenih numeričkih proračuna, simulaciju tehničkih i fizički sustavi te prikaz rezultata tih proračuna. MATLAB (skraćeno od MATrix LABoratory - matrični laboratorij) je interaktivni sustav dizajniran za izvođenje inženjerskih i znanstvenih proračuna i usmjeren na rad sa skupovima podataka. Sustav pruža mogućnost pristupa programima napisanim u FORTRAN-u, C i C++.

Atraktivna značajka MATLAB-a je njegova ugrađena matrica i složena aritmetika. Sustav podržava rad s vektorima, matricama i nizovima podataka, implementira singularnu i spektralnu dekompoziciju, izračun ranga i uvjetnih brojeva matrica, podržava rad s algebarskim polinomima, rješavanje nelinearnih jednadžbi i optimizacijskih problema, integriranje funkcija u kvadraturama, numeričku integraciju diferencijalnih i diferencijske jednadžbe, konstruiranje raznih grafova, trodimenzionalnih ploha i ravnina.

Sustav MATLAB omogućuje rad s vektorima i matricama čak iu načinu izravnog izračuna. Može se koristiti kao moćan kalkulator, u kojem se, uz obične aritmetičke i algebarske operacije, mogu koristiti tako složene operacije kao što su invertiranje matrice, izračunavanje njezinih svojstvenih vrijednosti i vektora, rješavanje sustava linearnih algebarskih jednadžbi i mnoge druge. Karakteristična značajka sustava je njegova otvorenost, odnosno mogućnost njegove modifikacije i prilagodbe specifične zadatke korisnik.

Sustav MATLAB koristi vlastiti M-jezik, koji kombinira pozitivna svojstva razni poznati programski jezici visoke razine. Ono što sustav MATLAB ima zajedničko s jezikom BASIC je da je on interpreter (izvršava kompilaciju iskaz po izraz i izvršavanje programa bez stvaranja posebne izvršne datoteke), M-jezik ima mali broj operatora, i nema potrebe za deklariranjem tipova i veličina varijabli. Iz Pascal jezik Sustav MATLAB posudio je objektivno usmjerenu orijentaciju, odnosno strukturu jezika koja osigurava formiranje novih tipova računalnih objekata na temelju tipova objekata koji već postoje u jeziku. Nove vrste objekata (u MATLAB-u se nazivaju klasama) mogu imati vlastite procedure za pretvaranje (oni definiraju metode ove klase), a nove procedure se mogu pozivati ​​pomoću običnih aritmetičkih simbola i nekih posebnih simbola koji se koriste u matematici.

Načela pohranjivanja vrijednosti varijabli u MATLAB-u su najbliža onima svojstvenim jeziku FORTRAN, naime: sve varijable su lokalne - djeluju samo unutar granica programske jedinice (procedure, funkcije ili glavnog upravljačkog programa) kojoj su dodijeljene. neke specifične vrijednosti. Prilikom prelaska na izvođenje druge programske jedinice, vrijednosti varijabli prethodne programske jedinice se ili gube (ako je izvršena programska jedinica procedura ili funkcija) ili postaju nedostupne (ako je izvršeni program upravljački) . Za razliku od BASIC jezici i Pascal, u jeziku MATLAB ne postoje globalne varijable čije bi se djelovanje odnosilo na sve programske jedinice. Ali u isto vrijeme, jezik MATLAB ima značajku koja nedostaje drugim jezicima. MATLAB interpreter omogućuje izvođenje nekoliko samostalni programi, a sve varijable koje se koriste u ovim programima su im zajedničke i tvore jedan radni prostor. To omogućuje racionalniju organizaciju složenih (glomaznih) proračuna pomoću vrste preklopnih struktura.

Gore navedene značajke MATLAB sustava čine ga vrlo fleksibilnim računalnim sustavom lakim za korištenje.

1.2 MATLAB I NJEGOVE GLAVNE KOMPONENTE

MATLAB je jezik visokih performansi za tehničke izračune. Uključuje izračune, vizualizaciju i programiranje u korisničkom okruženju gdje su problemi i rješenja izraženi u obliku bliskom matematici. Tipične upotrebe MATLAB-a su:

Matematički izračuni;

Izrada algoritama;

modeliranje;

Analiza podataka, istraživanje i vizualizacija;

Znanstvena i inženjerska grafika;

Razvoj aplikacija, uključujući izradu grafičkog sučelja.

MATLAB je interaktivni sustav u kojem je glavni podatkovni element niz. To vam omogućuje rješavanje raznih tehničkih računalnih problema, posebno onih koji uključuju matrice i vektore, nekoliko puta brže od pisanja programa pomoću "skalarnih" programskih jezika kao što su C ili Fortran. matematičko programiranje matlab

U MATLAB-u važna uloga dodijeljeni specijaliziranim skupinama programa koji se nazivaju alatne kutije. Oni su vrlo važni većini korisnika MATLAB-a jer im omogućuju učenje i primjenu specijaliziranih tehnika. Alatne kutije su sveobuhvatna zbirka MATLAB funkcija (M-datoteka) koje vam omogućuju rješavanje specifičnih klasa problema. Kutije s alatima koriste se za obradu signala, sustave upravljanja, neuronske mreže, neizrazita logika, valići, modeliranje itd.

Sustav MATLAB sastoji se od pet glavnih dijelova.

1. MATLAB jezik. To je matrični i nizovni jezik visoke razine s upravljanjem nitima, funkcijama, strukturama podataka, I/O i značajkama objektno orijentiranog programiranja.

2. MATLAB okruženje. To je skup alata i uređaja s kojima radi korisnik ili MATLAB programer. Uključuje alate za upravljanje varijablama u radnom prostoru MATLAB-a, unos i izlaz podataka te stvaranje, praćenje i otklanjanje pogrešaka u M-datotekama i MATLAB aplikacijama.

3. Kontrolirana grafika. Ovaj grafički sustav MATLAB, koji uključuje naredbe visoke razine za dvodimenzionalnu i trodimenzionalnu vizualizaciju podataka, obradu slika, animacije i ilustrirane grafike. Također uključuje naredbe niske razine koje vam omogućuju potpuno uređivanje izgleda grafike, slično stvaranju grafičkog korisničkog sučelja (GUI) za MATLAB aplikacije.

4. Knjižnica matematičkih funkcija. Ovo je opsežna zbirka računalnih algoritama od elementarnih funkcija kao što su zbroj, sinus, kosinus, složena aritmetika, do složenijih kao što je inverzija matrice, pronalaženje svojstvenih vrijednosti, Besselove funkcije i brza Fourierova transformacija.

5. Softversko sučelje. Ovo je biblioteka koja vam omogućuje pisanje programa u C-u i Fortran-u koji komuniciraju s MATLAB-om. Uključuje mogućnosti za pozivanje programa iz MATLAB-a (dinamičko povezivanje), pozivanje MATLAB-a kao računalnog alata te za čitanje i pisanje MAT datoteka.

Simulink, popratni program uz MATLAB, je interaktivni sustav za nelinearno modeliranje dinamički sustavi. To je okruženje kontrolirano mišem koje vam omogućuje simulaciju procesa povlačenjem i manipuliranjem blokovima dijagrama na zaslonu. Simulink radi s linearnim, nelinearnim, kontinuiranim, diskretnim i višedimenzionalnim sustavima.

Skupovi blokova su proširenja za Simulink koja pružaju biblioteke blokova za specijalizirane aplikacije, kao što su komunikacije, obrada signala, energetski sustavi.

Real-Time Workshop je program koji vam omogućuje generiranje C koda iz blokova dijagrama i njihovo pokretanje na različitim sustavima u stvarnom vremenu.

1.3 MALO O RADU SA SUSTAVOM MATLAB

Nakon što kliknete na ikonu MATLAB, ispred vas će se pojaviti zaslon na čijem se vrhu nalazi linija s padajućim izbornicima, alatna traka s gumbima koji provode najčešće izvršavane akcije (vidi sl. 1.1), a u samom prozoru - redak upita u kao dva znaka>>.Ovo je MATLAB prozor za naredbe

Rižaunok1. 1 - instrumentalgodišnjenema naredbenog prozora

Standardni padajući izbornik File sadrži stavke kao što su New za stvaranje novih datoteka, Open M-file za otvaranje postojeće programske datoteke ili funkcijske datoteke za uređivanje, provjeru teksta ili otklanjanje pogrešaka. Kada koristite ovu stavku, nudi vam se standardni prozor za odabir datoteke, a nakon odabira potrebne datoteke, otvara se prozor uređivača/debugera m-datoteke.

M-datoteke su tekstualne datoteke s ekstenzijom .m koje sadrže tekstove programa skripti ili tekstove funkcija iz standardnih ili vlasničkih biblioteka. Možete ih ispraviti u uređivaču i postaviti prijelomne točke za otklanjanje pogrešaka, ali treba imati na umu da je za stupanje na snagu nova, ispravljena verzija funkcije ili programa potrebno na standardni način (preko izbornika Datoteka uređivača ili pomoću odgovarajući gumb na alatnoj traci uređivača/debugger) spremite izmijenjenu datoteku.

Alatna traka (vidi sliku 1.1) naredbenog prozora omogućuje izvođenje potrebnih radnji jednostavnim klikom na odgovarajući gumb. Većina gumba ima standardni izgled i obavlja standardne radnje slične drugim programima - kopiranje (Copy), otvaranje datoteke (Open), ispis (Print) itd. Trebate obratiti pozornost na gumb Path Browser, koji vam omogućuje stvaranje staza do različitih direktorija i učiniti potrebni direktorij trenutnim, kao i gumb Workspace Browser, koji vam omogućuje pregled i uređivanje varijabli u radno područje.

Naredba za pomoć, upisana kao odgovor na upit, praćena pritiskom tipke Enter ili gumba na alatnoj traci s upitnikom, daje popis funkcija za koje je dostupna online pomoć. naredba pomoći<имя_функции>Omogućuje vam dobivanje pomoći na zaslonu za određenu funkciju.

Na primjer, naredba help eig omogućuje vam dobivanje mrežne pomoći za funkciju eig, funkciju za izračunavanje svojstvenih vrijednosti matrice. S nekim od mogućnosti sustava MATLAB možete se upoznati pomoću naredbe demo.

U ovom kratkom uvodu treba napomenuti da su glavni objekti - varijable s kojima MATLAB radi - pravokutne matrice. To omogućuje vrlo kratko snimanje programa, čineći programe lako vidljivima. Postoje mnoge operacije koje se mogu izvesti na matricama. Naravno, snimanje operacija poput množenja i zbrajanja matrica treba naučiti napamet. Besmisleno je proučavati i pamtiti sve mogućnosti “za buduću upotrebu” prije nego što budu potrebne.

Ako trebate prekinuti rad, ali spremiti sve varijable stvorene u radnom prostoru, najlakši način da to učinite je pomoću naredbe spremi<имя_файла>. Sve varijable u binarnom obliku spremaju se u datoteku<имя_файла>.mat. Naknadno, kada se sustav ponovno pokrene, možete učitati cijeli radni prostor pomoću naredbe load<имя_файла>i nastaviti s izračunima s istog mjesta. Za brisanje radnog područja upotrijebite naredbu clear bez argumenata, u kojem slučaju se cijelo područje briše od svih varijabli. Ako naredbu za brisanje prati popis varijabli odvojenih razmacima, tada se uklanjaju samo navedene varijable.

2. PRAKTIČNI DIO

2.1 FORMULACIJA PROBLEMA

Glavni cilj ovog kolegija je: napisati program u MATLAB-u koji bi simulirao kretanje tijela bačenog pod kutom u odnosu na horizontalu.

2.2 POVIJEST RAZVOJA PROBLEMA

Mehanika (od grčkog MzchbnykYu prevodi se kao umijeće izgradnje strojeva) je područje fizike koje proučava kretanje materijalnih objekata i interakciju između njih. Najvažnije grane mehanike su klasična mehanika i kvantna mehanika.

Kretanje tijela bačenog pod kutom u odnosu na horizont mora se smatrati krivolinijskim kretanjem, koje je pak jedna od grana mehanike.

Proučavanje značajki takvog pokreta počelo je dosta davno, još u 16. stoljeću, a povezano je s pojavom i poboljšanjem topničkih pušaka.

Ideje o putanji topničkih granata u to su vrijeme bile prilično smiješne. Vjerovalo se da se ta putanja sastoji od tri dijela: nasilnog kretanja, mješovitog kretanja i prirodnog kretanja, u kojem topovska kugla pada na neprijateljske vojnike odozgo (vidi sl. 2.1).

Riža. 2.1 - Putanja topničkih granata

Zakoni leta projektila nisu privlačili veliku pažnju znanstvenika sve dok nisu izumljene puške velikog dometa koje su slale projektil kroz brda ili drveće, a da strijelac nije vidio njihov let.

U početku se pucanje iz takvih pušaka na ultra-dugim udaljenostima uglavnom koristilo za demoraliziranje i zastrašivanje neprijatelja, a točnost gađanja u početku nije igrala osobito važnu ulogu.

Talijanski matematičar Tartaglia približio se točnom rješenju leta topovske kugle, uspio je pokazati da se najveći domet projektila može postići kad je hitac usmjeren pod kutom od 45° u odnosu na horizont. Njegova knjiga “Nova znanost” formulirala je pravila gađanja kojima su se rukovodili topnici sve do sredine 17. stoljeća.

Međutim, potpuno rješenje problema povezanih s kretanjem tijela bačenih vodoravno ili pod kutom prema horizontu izveo je isti Galileo. U svom razmišljanju polazio je od dvije glavne ideje: tijela koja se kreću vodoravno i na koja ne utječu druge sile zadržat će svoju brzinu; pojavom vanjskih utjecaja promijenit će se brzina gibajućeg tijela, bez obzira na to je li ono mirovalo ili se kretalo prije početka njihova djelovanja. Galileo je pokazao da su putanje projektila, zanemarimo li otpor zraka, parabole. Galileo je istaknuo da kada pravi promet projektila, zbog otpora zraka njihova putanja više neće nalikovati paraboli: silazna grana putanje bit će nešto strmija od izračunate krivulje.

Newton i drugi znanstvenici razvili su i poboljšali nova teorija paljba, uzimajući u obzir povećani utjecaj sila otpora zraka na kretanje topničkih granata. Pojavila se i nova znanost - balistika. Prošlo je mnogo, mnogo godina, a sada se projektili kreću tako brzo da čak i jednostavna usporedba vrste trajektorija njihovog kretanja potvrđuje povećani utjecaj otpora zraka.

U suvremenoj balistici za rješavanje takvih problema koristi se elektronička računalna tehnologija - računala, no za sada ćemo se ograničiti na jednostavan slučaj- proučavanje gibanja u kojem se otpor zraka može zanemariti. To će nam omogućiti da ponovimo Galileijevo razmišljanje gotovo bez ikakvih promjena.

2.3 KORIŠTENE FORMULE

Proučavajmo gibanje tijela bačenog početnom brzinom V 0 pod kutom b u odnosu na horizont, smatrajući ga materijalnom točkom mase m. U ovom slučaju zanemarit ćemo otpor zraka, a gravitacijsko polje smatrat ćemo jednolikim (P = const), uz pretpostavku da su domet leta i visina putanje mali u usporedbi s polumjerom Zemlje.

Postavimo ishodište koordinata O u početni položaj točke. Usmjerimo Oy os okomito prema gore; Postavit ćemo horizontalnu os Ox u ravninu koja prolazi kroz Oy i vektor V 0, te povući os Oz okomito na prve dvije osi (sl. 2.2). Tada će kut između vektora V 0 i osi Ox biti jednak b.

Slika 2.2 - Kretanje tijela bačenog pod kutom u odnosu na horizontalu.

Oslikajmo pokretnu točku M negdje na putanji. Na točku djeluje samo sila teže F čije su projekcije na koordinatne osi jednake:

Zamijenivši ove veličine u diferencijalne jednadžbe i primijetivši da

itd. nakon smanjenja za m dobivamo:

Množenjem obje strane ovih jednadžbi s dt i integriranjem, nalazimo:

Početni uvjeti u našem problemu imaju oblik:

pri t=0:

Zadovoljivši početne uvjete, imat ćemo:

Zamjenom ovih vrijednosti C 1 , C 2 I C 3 u gore navedeno rješenje i zamjenjujući Vx, Vy, Vz na

Dođimo do jednadžbi:

Integrirajući ove jednadžbe, dobivamo:

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

Iz posljednje jednadžbe slijedi da se kretanje događa u Oxy ravnini.

Imajući jednadžbu gibanja točke, moguće je kinematičkim metodama odrediti sve karakteristike danog gibanja.

Nađimo vrijeme leta tijela od polazne točke do točke udara.

Vrijeme za let:

2.4 PROGRAMSKA ŠIFRA ZADATKA

clc; %očisti naredbeni prozor

v0=36; %početna brzina

g = 9,81; %ubrzanje gravitacije

k=1;

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

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

dok je k<5

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

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

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

sprintf("graf gibanja tijela bačenog pod kutom u odnosu na horizontalu"), ...

sprintf("dinamički model kretanja tijela bačenog pod kutom u odnosu na horizontalu"), ...

"Izlaz");

ako je k == 1

t=0:0,001:m;

x=v0*t*cos(alfa);

iscrtaj(x);

title("ovisnost koordinate x o 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);

title("ovisnost koordinate y o 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);

title("graf gibanja tijela bačenog pod kutom u odnosu na horizontalu");

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;

komet(x,y);

title("dinamički model gibanja tijela bačenog pod kutom u odnosu na horizont");

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.

Opišimo postupke i funkcije koje se koriste u ovom programu:

CLC. Naredba dizajnirana za brisanje prozora naredbi.

JELOVNIK. Prikladan alat za odabir jedne od alternativa za buduće računske akcije je funkcija izbornika, koja stvara prilagođeni prozor izbornika. Funkciji izbornika treba pristupiti na sljedeći način:

K=IZBORNIK("NASLOV IZBORNIKA","alternativa 1","alternativa 2","alternativa n")

Ovaj poziv dovodi do pojave prozora izbornika (vidi sl. 2.3).

Slika 2.3 - Prozor izbornika

Izvršenje programa je privremeno obustavljeno i sustav čeka na odabir jednog od gumba izbornika s alternativama. Nakon ispravnog izbora, početnom parametru k dodjeljuje se vrijednost koja odgovara broju alternative (1,2...n). Općenito, broj alternativa može doseći 32.

DOK. Operator petlje s preduvjetom izgleda ovako:

Dok <условие>

<операторы>

kraj

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

SPRINTF. Funkcija koja prikazuje informacije o trenutnoj vrijednosti odgovarajućeg parametra na svakom gumbu izbornika.

AKO. Općenito, sintaksa operatora uvjetnog skoka je sljedeća:

Ako < stanje>

< operateri1>

Drugo

< operateri2>

End

Ovaj operator radi na sljedeći način. Prvo se vrši provjera je li navedeno stanje. Ako je rezultat testa pozitivan, program izvršava skup naredbi <операторы1> . Inače se izvršava slijed naredbi <операторы2>.

ZEMLJIŠTE. Glavna funkcija koja osigurava konstrukciju grafikona na zaslonu je crtanje (vidi sliku 2.4). Opći oblik adresiranja je sljedeći:

Iscrtaj(x1,y1,s1,x2,y2,s2…)

Ovdje su x1,y1 dani vektori, čiji su elementi nizovi vrijednosti argumenata (x1) i funkcije (y1) koji odgovaraju prvoj krivulji grafikona; x2,y2 - nizovi vrijednosti argumenta i funkcije druge krivulje, itd. Pretpostavlja se da je vrijednost argumenta iscrtana duž horizontalne osi grafa, a vrijednost funkcije duž vertikalne osi. Varijable s1,s2,... su simbolične (njihovo označavanje nije obavezno).

Slika 2.4 - Djelovanje funkcije plot.

TITULA. Postupak kojim se postavlja naslov grafa.

XLABEL I YLABEL. Funkcije koje specificiraju objašnjenja duž vodoravne i okomite osi.

KOMETA. Procedura comet(x,y) (“komet”) postupno gradi graf ovisnosti y(x) u obliku putanje kometa. U ovom slučaju, "predstavljajuća" točka na grafikonu izgleda kao mali komet koji se glatko pomiče s jedne točke na drugu.

U konačnici, program pokazuje kako se tijelo kreće kada je bačeno pod kutom prema horizontu. Također u programu možete vidjeti ovisnost koordinata tijela o vremenu (vidi sl. 2.5 i sl. 2.6), graf putanje tijela (vidi sl. 2.7) i model samog kretanja tijela (vidi sl. 2.8). ).

Slika 2.5 - Grafikon x prema t.

Slika 2.6 - Grafikon y prema t.

Slika 2.7 - Grafikon gibanja tijela bačenog pod kutom u odnosu na horizontalu.

Slika 2.8 - Dinamički model gibanja tijela bačenog pod kutom u odnosu na horizontalu.

ZAKLJUČAK

Nastavni projekt je rađen u okruženju MatLab 6.5. Razvoj projekta odvijao se u nekoliko faza, koje su se sastojale od proučavanja predmetnog područja problema; proučavanje osnovnih zakona mehanike; razvoj samog programa, koji vam omogućuje simulaciju kretanja tijela bačenog pod kutom prema horizontu.

Rezultat obavljenog rada bio je program koji implementira model kretanja tijela bačenog pod kutom u odnosu na horizont.

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

Također, kolegij je pridonio razvoju vještina samostalnog planiranja i provedbe istraživačkog rada, stjecanju iskustva u prikupljanju i obradi izvorne građe, analizi znanstvene i stručne literature, priručnika, normi i tehničke dokumentacije, stjecanju vještina opravdavanja projektantskih odluka te stručna izrada projektne dokumentacije.

POPIS KORIŠTENIH IZVORA

1. Lazarev, Yu. Modeliranje procesa i sustava u MatLabu. Tečaj. / Yu. Lazarev. - Sankt Peterburg: Peter; Kijev: BHV Publishing Group, 2005. - 512 str.

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

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

Objavljeno na Allbest.ru

...

Slični dokumenti

    Opće karakteristike i svojstva sustava Matlab - paketa aplikativnih programa za rješavanje tehničkih računalnih problema. Razvoj matematički model u danom okruženju, programiranje funkcija za referentni utjecaj. Dizajn GUI sučelja.

    kolegij, dodan 23.05.2013

    Značajke rada u načinu naredbenog retka u sustavu Matlab. Varijable i dodjeljivanje vrijednosti njima. Kompleksni brojevi i izračuni u Matlabu. Izračuni pomoću funkcije sqrt. Neispravna uporaba funkcija sa složenim argumentima.

    diplomski rad, dodan 30.07.2015

    Učenje programiranja u MATLAB-u. Korištenje naredbi Spremi i Učitaj, ulaznih i izlaznih naredbi za rad u prozoru naredbi. Otklanjanje pogrešaka u vlastitim programima. MATLAB sučelje. Razlike kasnija verzija MATLAB od ranijih. Alat za sučelje kontrole izvora.

    test, dodan 25.12.2011

    Matlab - matrični laboratorij - programski sustav za znanstvene i tehničke proračune. Značajke vektorskog unosa. Specijalne matrice, jednostavne naredbe. Jednostavni primjeri, ilustrirajući učinkovitost Matlaba. Grafička metoda rješavanja jednadžbi.

    sažetak, dodan 01.05.2010

    Matematičke osnove paralelnog računanja. Svojstva Parallel Computing Toolboxa. Razvoj paralelnih aplikacija u Matlabu. Primjeri programiranja paralelnih zadataka. Izračunavanje određenog integrala. Redno i paralelno množenje.

    kolegij, dodan 15.12.2010

    MATLAB – Matrix Laboratory – je najnapredniji programski sustav za znanstvene i tehničke proračune. Varijable i xy-grafički elementi. Jednostavni primjeri koji ilustriraju učinkovitost MATLAB-a. Sustavi linearnih algebarskih jednadžbi i polinoma.

    priručnik za obuku, dodan 26.01.2009

    Stvaranje i reprezentacija simboličkih varijabli u Matlabu, operacije nad polinomima i pojednostavljenje izraza. Primjer zamjene vrijednosti u funkciju, rješavanje jednadžbi i sustava, diferenciranje, integriranje i izračunavanje limita funkcija.

    prezentacija, dodano 24.01.2014

    Značajke i sintaksa MATLAB naredbi, popis programa i opis ciklusa. Postupak sastavljanja programa za izračun koeficijenata algebarskog interpolacijskog polinoma i konstruiranje spline funkcije “zalijepljene” od dijelova polinoma trećeg reda.

    laboratorijski rad, dodan 04.07.2009

    Analiza mogućnosti paketa MATLAB i njegovih proširenja. Sistemski programski jezik. Istraživanje ispravljačkog uređaja. Modeliranje trofaznog transformatora. Shematski dijagram podesivog pretvarača. Mogućnosti fleksibilnog digitalnog modela.

    prezentacija, dodano 22.10.2013

    Metode numeričke integracije. Karakteristike glavnih komponenti strukturirano programiranje. Rješenje zadatka u jeziku visoke razine Pascal. Konstruiranje grafičkog rješenja problema u Matlab paket. Rješenje zadatka u jeziku visoke razine C.

upute

MATLAB okruženje ima nekoliko načina rada. Najjednostavniji je unos naredbi izravno u naredbeni prozor ( Naredbeni prozor).
Ako nije vidljiv u sučelju programa, morate ga otvoriti. Prozor s naredbama možete pronaći kroz izbornik Radna površina -> Naredbeni prozor.
Na primjer, unesite naredbe "x =; y = sqrt(x); plot(y);" u ovaj prozor jednu za drugom i pritisnite tipku "Enter" ( Unesi). Program će trenutno kreirati varijable X, kreirati varijablu Y i izračunati njezine vrijednosti​​​za zadanu funkciju, a zatim izgraditi njezin graf.
Strelicama tipkovnice "gore" i "dolje" u naredbenom prozoru možemo prelaziti između svih unesenih naredbi, po potrebi ih odmah mijenjati i pritiskom na Enter ponovno poslati u MATLAB okruženje na izvođenje.
Udobno? nedvojbeno. I što je najvažnije - vrlo brzo. Sve te radnje traju nekoliko sekundi.
Ali što ako trebate složeniju organizaciju tima? Ako trebate cikličko izvršavanje nekih naredbi? Ručno unošenje naredbi jednu po jednu i zatim dugotrajno pretraživanje povijesti može biti prilično zamorno.

Kako bismo olakšali život znanstveniku, inženjeru ili studentu, prozor za uređivanje ( Urednik). Otvorimo prozor uređivača kroz izbornik Radna površina -> Urednik.
Ovdje možete kreirati nove varijable, graditi grafikone, pisati programe (skripte), kreirati komponente za razmjenu s drugim okruženjima, kreirati aplikacije s korisničkim sučeljem (GUI) i uređivati ​​postojeće. Ali trenutno smo zainteresirani za pisanje programa koji sadrži funkcije za ponovno koristiti u budućnosti. Pa idemo na jelovnik Datoteka i izabrati Novi -> M-datoteka.

U polje uređivača ćemo pisati jednostavan program, ali zakomplicirajmo malo:

funkcija draw_plot(x)
y = log(x); % Postavite prvu funkciju
podzaplet(1, 2, 1), zaplet(x, y); % Izrada prvog grafa
y = sqrt(x); % Postavite drugu funkciju
podzaplet(1, 2, 2), zaplet(x, y); % Izrada drugog grafikona

Dodali smo drugu funkciju i prikazat ćemo dva grafikona jedan pored drugog. Znak postotka označava komentare u MATLAB-u.
Ne zaboravite spremiti program. Standardna ekstenzija datoteke za program Matlab je *.m.
Sada zatvorite editor i prozor s grafikonom koji smo ranije napravili.

Vratite se u naredbeni prozor.
Možete izbrisati svoju povijest naredbi na nepotrebne informacije nije nam odvratio pažnju. Da biste to učinili, desnom tipkom miša kliknite polje za unos naredbe i odaberite stavku u kontekstnom izborniku koji se otvori Očisti prozor s naredbama.
Još uvijek imamo varijablu X iz prethodnog eksperimenta; nismo je promijenili niti izbrisali. Stoga možete odmah unijeti u naredbeni prozor:
crtanje_plot(x);
Vidjet ćete da će MATLAB pročitati našu funkciju iz datoteke i izvršiti je, crtajući graf.

Oni koji se bave višom matematikom jako dobro znaju s kakvim matematičkim “čudovištima” ponekad imaju posla. Na primjer, možete potrošiti jako puno vremena, mentalne energije i živčanih stanica koje se ne oporavljaju na izračun nekog divovskog trostrukog integrala. Naravno, vrlo je zanimljivo izazvati integral i uzeti ga. Ali što ako umjesto toga integral prijeti da vas ponese? Ili, još gore, je li kubni trinom izmakao kontroli i poludio? Ovo ne biste poželjeli svom neprijatelju.


Prije su postojale samo dvije opcije: odustati od svega i prošetati ili ući u višesatnu bitku s integralom. Pa, nekima je trebalo mnogo sati, drugima je trebalo puno minuta – tko je kako učio. Ali nije u tome stvar. Dvadeseto stoljeće i neumitni napredak nude nam i treći put, naime, omogućuju nam da “na brzinu” preuzmemo najsloženiji integral. Isto vrijedi i za rješavanje svih vrsta jednadžbi, crtanje grafova funkcija u obliku kubičnih hiperboloida itd.

Za takve izvanredne, ali povremeno nastale situacije među učenicima, postoji moćno matematičko oružje. Za one koji još ne znaju, upoznajte se s programskim paketom MATLAB.

Matlab će riješiti jednadžbu, aproksimirati je i izgraditi graf funkcije. Razumijete li što ovo znači, prijatelji?

To znači da je to jedan od najmoćnijih paketa za obradu podataka koji su danas dostupni. Naziv stoji za MatricaLaboratorija. Matrix laboratorij, ako je na ruskom . Mogućnosti programa pokrivaju gotovo sva područja matematike. Dakle, koristeći Matlab, možete:

  • Izvođenje svih vrsta operacija na matricama, rješavanje linearnih jednadžbi, rad s vektorima;
  • Izračunajte korijene polinoma bilo kojeg stupnja, izvodite operacije na polinomima, diferencirajte, ekstrapolirajte i interpolirajte krivulje, gradite grafove bilo koje funkcije;
  • Provesti statističku analizu podataka korištenjem digitalnog filtriranja, statističke regresije;
  • Riješite diferencijalne jednadžbe. U parcijalnim izvedenicama, linearno, nelinearno, s rubnim uvjetima - nije bitno, Matlab će sve riješiti;
  • Izvođenje cjelobrojnih aritmetičkih operacija.

Uz sve to, mogućnosti MATLAB-a omogućuju vizualizaciju podataka, uključujući izradu trodimenzionalnih grafikona i stvaranje animiranih videa.

Naš opis Matlaba, naravno, nije potpun. Osim mogućnosti i funkcija koje pruža proizvođač, postoji veliki iznos Matlab alati koje su jednostavno napisali entuzijasti ili druge tvrtke.

MATLAB kao programski jezik


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


Glavna radna datoteka programa je M-datoteka. Ovo je beskonačna tekstualna datoteka iu njoj se izravno programiraju izračuni. Usput, neka vas ova riječ ne uplaši - da biste radili u MATLAB-u, ne morate biti profesionalni programer.

M-datoteke se dijele na

  • M-scenariji. M skripta je najjednostavniji tip M datoteke i nema ulaznih ni izlaznih argumenata. Ova se datoteka koristi za automatizaciju ponovljenih izračuna.
  • M-funkcije. M-funkcije su M-datoteke koje prihvaćaju ulazne i izlazne argumente.

Kako bismo jasno pokazali kako se rad odvija u MATLAB-u, u nastavku dajemo primjer kreiranja funkcije u Matlabu. Ova funkcija izračunat će prosječnu vrijednost vektora.
f funkcija y = prosjek(x)
% AVERAGE Prosječna vrijednost vektorskih elemenata.
% AVERAGE(X), gdje je X vektor. Izračunava prosjek elemenata vektora.
% Ako ulazni argument nije vektor, generira se pogreška.
= veličina(x);
ako (~((m == 1) | (n == 1)) | (m == 1 & n == 1))
greška("Ulazni niz mora biti vektor')
kraj
y = zbroj(x)/duljina(x); % Stvarni izračun

Redak definicije funkcije govori MATLAB-u da je datoteka M funkcija i također specificira popis ulaznih argumenata. Dakle, linija definicije za prosječnu funkciju izgleda ovako:
funkcija y = prosjek(x)
Gdje:

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

Dakle, da biste napisali funkciju u Matlabu, morate upamtiti da svaka funkcija u sustavu MATLAB sadrži liniju definicije funkcije sličnu donjoj.

Naravno, tako moćan paket je potreban ne samo da bi olakšao život studentima. Trenutno je MATLAB, s jedne strane, vrlo popularan među stručnjacima u mnogim znanstvenim i inženjerskim područjima. S druge strane, mogućnost rada s velikim matricama čini MATLAB nezamjenjivim alatom za financijske analitičare, omogućujući im rješavanje mnogo više problema od, primjerice, dobro poznatog Excela. Više o tome možete pročitati u preglednom članku.

Nedostaci rada s MATLAB-om


Koje su poteškoće u radu s MATLAB-om? Postoji možda samo jedna poteškoća. Ali temeljni. Kako biste u potpunosti otkrili mogućnosti MATLAB-a i jednostavno riješili probleme koji se pojavljuju pred vama, morat ćete se potruditi i prvo razumjeti sam Matlab (kako kreirati datoteku, kako kreirati funkciju itd.). A to nije tako jednostavno, jer moć i široke mogućnosti zahtijevaju žrtvu.

Čak i kad bismo htjeli, ne možemo reći da MATLAB jestjednostavan program. Ipak, nadamo se da će sve navedeno biti dovoljan argument da krenemo u njegov razvoj.

I konačno. 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 naredbeni redak. On će odgovoriti. Probaj!

Sada znate mogućnosti Matlaba. U području obrazovanja MATLAB se često koristi u nastavi numeričkih metoda i linearne algebre. Mnogi učenici ne mogu bez njega pri obradi rezultata eksperimenta provedenog tijekom laboratorijski rad. Kako biste brzo i učinkovito svladali osnove rada s MATLAB-om, uvijek nam se možete obratiti, koji smo u svakom trenutku spremni odgovoriti na svako vaše pitanje.

Najbolji članci na temu