uvod u matlab

35
NUMERIČKE METODE GEODEZIJA I GEOINFORMATIKA Školska 2010/2011

Upload: nikola-petrovic

Post on 15-Nov-2015

279 views

Category:

Documents


1 download

DESCRIPTION

uvod u matlab

TRANSCRIPT

  • NUMERIKE METODEGEODEZIJA I GEOINFORMATIKAkolska 2010/2011

  • UvodAsistentiKovaevi AleksandarObradovi oreMaterijalihttp://ccd.uns.ac.rs/csi/geo-numerika.html

  • Matlabprogrami zasnovani na simbolikom reavanju matematikih problema - Mathematicaprogrami zasnovani na numerikom reavanju matematikih problema - Matlab

  • Matlabinterpretar zasnovan na matrinom raunukoncipiran je kao proiriv programski paketControlSystem ToolboxSignal Processing ToolboxNeural Network Toolbox

  • MatlabOsnovno okruenje predstavlja teksutalni prozor u kojem se unose matlab komande ili naredbeKomande se izvravaju neposredno nakon unoenjaPoseban simbol predstavlja poetak komandePored komandi mogu se pisati i programi u obliku funkcija ili procedura

  • Okruenjeradni direktorijumWorkspace pregled promenljivihkomandni prozoristorija komandi

  • Kreiranje svog radnog direktorijumaU direktorijum koji koristite za vebe kreirati direktorijum numericke metodeU tom direktorijumu kreirati direktorijum vezba1Podesiti radni direktorijum matlab okruenja na direktorijum koji ste kreirali ...\numericke metode\vezba1\

  • Matlab definisanje promenljivihOsnovni element u Matlabu je matrica kompleksnih brojevaPrimer je matrica 3x3

    A = [1 2 3; 4 5 6; 7 8 9]A =1 2 34 5 67 8 9

  • Matlab definisanje promenljivihili na drugi nain A = [1 2 3 4 5 6 7 8 9]A =1 2 34 5 67 8 9Vektor-vrsta se definie kao u sledeem primeru: x = [-1.3 sqrt(3.1) (1+2)/4*5]x =-1.300 1.7607 3.7500

  • Matlabdefinisanje promenljivihImaginarna jedinica i = sqrt(-1)i =0+1.0000iovako definisana promenljiva moe se koristiti u novim naredbama na sledei nain C = [1+5*i 2+6*i; 3+7*i 8];Ureeni niz brojeva moe se definisati na sledei nain x = 1:4x =1 2 3 4

  • Matlabdefinisanje promenljivihKorak razliit od 1 y = 1:0.5:3y =1.0000 1.5000 2.0000 2.5000 3.0000

    Operator : moe se koristiti i na sledei nain A = [1 2 3; 4 5 6; 7 8 9]; A(:) = 21:29A =21 24 2722 25 2823 26 29

  • Matlab selekcija elemenata matriceZa matricu definisanu izrazom A = [1 2 3; 4 5 6; 7 8 9];element A(2,2) dobija se na sledei nain A(2,2)ans = 5Izdvajanje tree kolone A(:, 3)ans =369

  • Podmatrica A([1 3], [2 3])ans =2 38 9Proirenje matrice A = [A; 10 11 12]A = 1 2 3 4 5 6 7 8 910 11 12Matlabselekcija elemenata matrice

  • Matlab selekcija elemenata matriceUklanjanje druge kolone A = A(:, [1 3])A = 1 3 4 6 7 910 11Elementi koji nisu eksplicitno definisani: x = 1 : 4; x(6) = 7x =1 2 3 4 0 7

  • Matlabosnovne operacije sa matricamaTransponovanje A = [1 2 3; 4 5 6; 7 8 9]; B = AB =1 4 72 5 83 6 9Sabiranje C = A + BC = 2 6 10 6 10 1410 14 18

  • Sabiranje matrice i skalara C = C 2C =0 4 84 8 128 12 16Mnoenje matrica D = A * BD =14 32 5032 77 12250 122 194Matlabosnovne operacije sa matricama

  • Matlabosnovne operacije sa matricama

    Operator \ A = [10 2 6; 1 10 9; 2 -7 -10]; b = [28 7 -17]; x = A\bx =1.0000-3.00004.0000

  • Matlabosnovne operacije sa matricamaOperacije sa elementima matrice ili vektora x = [1 2 3]; y = [4 5 6]; x .* yans = 4 10 18Stepenovanje A = [1 2 3; 4 5 6; 7 8 9] A ^ 2ans = 30 36 42 66 81 96102 126 150 A .^ 2ans = 1 4 916 25 3649 64 81

  • Matlablogiki i relacioni operatoriRelacioni operatori u MATLAB-u su sledei simboli:(vee)=(vee ili jednako)==(jednako)~=(nije jednako)Logiki operatori u MATLAB-u su sledei simboli:~(negacija)|(disjunkcija)&(konjunkcija)

  • Matlablogiki i relacioni operatori - primeri 2+2 == 4ans =1 A = [1 2 3; 4 5 6; 7 8 9]; B = A
  • Matlabugraene funkcije help ime_funkcije a = [1 2 -3 0; 4 0 -8 0]; all(a)% Matlabans =1 0 1 0 any(a)% Matlabans =1 1 1 0

    t = (0:0.2:1); y = sin(t) .* exp(-t); [t y]ans = 0 00.2000 0.16270.4000 0.26100.6000 0.30990.8000 0.32231.0000 0.3096

  • Ugraene funkcije>> a = 5; x = 2; y = 8;>> y = exp(-a)*sin(x)+10*sqrt(y)y =28.2904

    >> log(142)ans =4.9558

    >> log10(142)ans =2.1523

    >> sin(pi/4)ans =0.7071

    >> exp(10)ans =2.2026e+004

    cos(x) - kosinusabs(x) - apsolutna vrednostsin(x) - sinusmax(x) - maksimalna vrednost vektoratan(x) - tangensmin(x) - minimalna vrednost vektoraexp(x) - eksponencijalna funkcija exceil(x) - zaokruivanje ka +sqrt(x) - korenfloor(x) - zaokruivanje ka -log(x) - logaritam za osnovu erem(x) - ostatak pri deljenjulog10(x) - logaritam za osnovu 10

  • Help, doc i lookfor fukcijehelp ime_funkcije daje osnovne podatke o funkciji u komandom prozoru.>>help sindoc ime_funkcije daje detaljnu dokumentaciju vezanu za funkciju>>doc sinlookfor neka_re pronalazi sve matlab funkcije koje u dokumentaciji imaju traenu re>>lookfor logarithm

  • Matlab konstante>> pi

    ans =

    3.1416

    >> 1/0Warning: Divide by zero.

    ans =

    Inf

    >> 0/0Warning: Divide by zero.

    ans =

    NaN

    pi - , 3.1415... Inf - beskonana vrednostNaN - "Not a number" tj. vrednost koja nije broj

  • Crtanje grafika funkcijafunkcija plot crta grafik taaka u 2Dtake se prosleuju kao vektori koordinata>> x=[1 3 5 6 7];>> y=[8 11 15 9 5];>> plot(x,y)

  • Crtanje grafika funkcijaako se ne prosledi vektor x koordinata ve samo y, matlab e koristiti poziciju u vektoru kao x koordinatu>>plot(y)

  • Crtanje grafika funkcijacrtanje grafika funkcije sinus na intervalu od 0 do 2, tako da na grafiku bude 100 taaka>> x=linspace(0,2*pi,100);>> y=sin(x);>> plot(x,y)

    isti grafik ali sa linijom crvene boje, a take su prikazane znakom +>> plot(x,y,'r+')help plot - za detalje

  • Crtanje grafika dodavanje naslova i oznaka osadok je grafik otvoren ukucati>> title('grafik sinus funkcije')>> xlabel('x osa')>> ylabel('y osa')

  • Crtanje grafika vie grafika na jednoj sliciprvi nain prosleivanje vektora koordinata za oba grafika>> x1=linspace(0,2*pi,100);>> y1=sin(x);>> x2=linspace(0,2*pi,100);>> y2=cos(x);>> plot(x1,y1,x2,y2)

  • Crtanje grafika vie grafika na jednoj slicidrugi nain crtanje jednog grafika pa dodavanje novog na postojeu sliku>> plot(x1,y1),holdCurrent plot held>> plot(x2,y2)

  • Snimanje istorije komandiIstorija komandi se moe snimati u tekstualni fajl>> diary mojekomande>> a=[1 2 3]>> b=[4 5 6]>> diary offIstoriju komandi moete pogledati ako otvorite fajl mojekomande u bilo kom tekst editoru fajl se nalazi u radnom direktorijumu

  • Snimanje workspace-aPromenljive iz workspace-a mogu se snimiti u fajl i kasnije koristiti>> save mojepromenljive>> clear all>> load mojepromenljiveBrisanje komandnog prozora>>clc

  • Reavanje sistema linearnih jednainax + 2y + 3z = 14x + 5y + 6z = 17x + 8y = 1>> A = [1 2 3; 4 5 6; 7 8 0];>> b = [1; 1; 1];>> x=A\bx =

    -1.0000 1.0000 -0.0000

  • MatlabprogramiranjeProgrami se smetaju u m-datoteke

    function [y1, y2, ] = ime_funkcije (x1, x2, )

    Kontrola toka programa

    if izraz1naredbe1[elseif izraz2naredbe2][elsenaredben]endwhile izraznaredbeendfor brojac = vektornaredbeend

  • MatlabprogramiranjePrimer sistemx =1.0000-3.00004.0000sistem.mA = [10 2 6; 1 10 9; 2 -7 -10];b = [28 7 -17];x = A\b