SlideShare a Scribd company logo
MATRICE U MATLABU
Pripremio: Dakić Dragan
~ELEMENTARNE OPERACIJE SA
  MATRICAMA I POLJIMA
  BROJEVA~
Matrične operacije čine znatan dio računskog potencijala MATLAB-a.
    One su, kadgod je to moguće, označene na prirodan način
    kao što bi to uradili na papiru. Jedino ograničenje proizilazi iz
    skupa karaktera raspoloživih na računaru.


Pored matričnih operatora, postoji i mogućnost operacija nad uređenim
    skupovima (poljima) brojeva na principu element-po-element.
    Kod operatora koji matrice i polja brojeva tretiraju na isti način
    (transpozicija, sabiranje i oduzimanje) nećemo praviti razliku pri
    prezentaciji, a ostale relevantne operatore ćemo prezentovati
    odvojeno.
~ SABIRANJE I ODUZIMANJE ~
   Sabiranje i oduzimanje matrica označava se sa + i -, respektivno.
    Ove operacije definisane su samo kada matrice koje sabiramo ili
    oduzimamo imaju iste dimenzije.
   Primjer 1.
    Uzmimo matrice A i x ,
    A=[-1 2 4;2 -3 1;-4 -5 -6]
    A=
     -1 2 4
      2 -3 1
     -4 -5 -6
    x=[-1 3 8]‘
    x=
     -1
      3
      8
    » A+x
     rezultiraće porukom
    ??? Error using ==> +
    Matrix dimensions must agree.
    zbog toga što su dimenzije ovih veličina (3*3) i (3*1), respektivno.
Primjer 1.2
   B=A’
    »B =
   -1 2 -4
    2 -3 -5
    4 1 -6
    » C=A+B,C1=A-B
daju zbir i razliku matrica A i B
C=
  -2 4 0
   4 -6 -4
   0 -4 -12
C1 =
   0 0 8
   0 0 6
  -8 -6 0
~Sabiranje i oduzimanje sa skalarima~
   Osobenost MATLAB-a sastoji se u tome što su operacije + i - dopuštene i za
    različite dimenzije varijabli, ali samo ukoliko je jedna od njih skalar, npr.
    M+s(M-matrica, s-skalar). Ovakav izraz MATLAB interpretira tako što
    svakom elementu matrice M dodaje (ili od njega oduzima) naznačeni skalar
    se posmatra, tj. skalar s kao konstantna matrica sa dimenzijom
    prilagođenom matrici koja se sabira (ili oduzima).
   Primjer 1.3 Za matrice B, x i skalar a, definisane u primjeru 2.1.1, izrazi
      » G=B+a,G1=x-a
      daju
      G=
      4.2000 7.2000 1.2000
      7.2000 2.2000 0.2000
      9.2000 6.2000 -0.8000
     G1 =
     -6.2000
     -2.2000
      2.8000
     iako, po pravilima matričnog računa, nisu korektni.
o    Primjer 1.4
     Provjerimo rezultate iz prethodnog primjera matematički korektnim
     izrazima
     » G=B+a*ones(B),G1=x-a*ones(x)
     sa rezultatom
     G=
     4.2000 7.2000 1.2000
     7.2000 2.2000 0.2000
     9.2000 6.2000 -0.8000
    G1 =
    -6.2000
    -2.2000
     2.8000
     uz upozorenje da će ovakav način rada biti izbačen u kasnijim
     verzijama MATLAB-a
    This usage of ones(X) is obsolete and will be eliminated
    in future versions. Please use ones(size(X)) instead.
    Dakle moraćemo koristiti naredbu ones(size(X)). Sva navedena pravila,
    uključujući ono o kompatibilnosti skalara i matrice pri sabiranju i oduzimanju,
     važe za matrice i skalare sa kompleksnim elementima.
~Množenje matrica ~
   Matrično množenje u MATLAB-u je označeno sa *. Shodno pravilima
    matričnog računa, ova operacija je definisana kada su "unutrašnje"
    dimenzije činilaca iste, tj. ako je broj kolona prvog činioca jednak broju vrsta
    drugog.
   Primjer 2.1
    Prethodno definisani x i A (primjer 1) ne ispunjavaju navedeni uslov, pa će
    iskaz
    » c=x*A
    proizvesti poruku:
    ??? Error using ==> *
    Inner matrix dimensions must agree.
    ok je iskaz
    » c=A*x
    korektan specijalan slučaj matričnog proizvoda, koji će dati
    c=
    39
    -3
    -59
    Mogućnosti množenja vektora sa vektorom, tj. takozvani skalarni
    (unutrašnji) i spoljni proizvod vektora, ilustrovaćemo na narednom primjeru.
   Primjer 2.2
    Sa definisanim vektorima
    » x=[1 2 3],y=[1 -1 2]
    x=
     1 2 3
    y=
     1 -1 2
    izrazi
    » c=x*y',c1=y*x'
    daju isti rezultat, tj. skalarni proizvod dva vektora
    c=
     5
    c1 =
     5
    Spoljni proizvodi rezultiraće iz izraza
    » D=x'*y,D1=y'*x
    D=
     1 -1 2
     2 -2 4
     3 -3 6
    D1 =
     1 2 3
    -1 -2 -3
     2 4 6
    pri čemu je očigledno da su matrice D i D1 povezane relacijom D'=D1.
   Naravno, izraz
    » x*y
    daje poruku greške:
    ??? Error using ==> *
    Inner matrix dimensions must agree.
    Matrica ili vektor prirodno se množi sa skalarom.

   Primjer 2.3
    Sa prethodno definisanim A i x (primjeri 2.1.1 i 2.3.2), izrazi
    » A*pi,6.3*x
    rezultiraju sa
    ans =
    -3.1416       6.2832   12.5664
    6.2832       -9.4248    3.1416
     -12.5664 -15.7080     -18.8496
    ans =
    6.3000       12.6000 18.9000
~Množenje polja brojeva~
   Za množenje uređenih skupova brojeva ne važe pravila matričnog
    računa,već se množenje vrši po principu element-po-element, a odgovaraju
    i operator je označen sa .*. Za ovakvu operaciju činioci moraju imati iste
    dimenzije ako su brojevi uređeni u obliku matrica ili vektora. Naime, ako A i
    C označavaju dva takva skupa brojeva, tada E=A.*C daje novi skup
    brojeva E čiji su elementi proizvodi korespondentnih elemenata iz
    skupova A i C.
    Primjer 2.4
     Sa prethodno definisanim A i C ,izrazi
    » E1=A*C
    » E=A.*C
    su, s obzirom na dimenzije varijabli A i C, oba legitimni, samo što su
    operacije izvršene po različitim pravilima tako da i daju različite rezultate:
    E1 =
        10 -32 -56
       -16 22 0
       -12 38 92
    E=
         2 8 0
         8 18 -4
         0 20 72
   Primjer 2.5
    Za ranije definisane varijable A, x, y, izraz
    » A.*x
    daje poruku greške
    ??? Error using ==> .*
    Matrix dimensions must agree.
    dok izrazi
    » g=x.*y
    » g1=x.*(-2)
    daju
    g=
        1 -2 6
    g1 =
       -2 -4 -6
      Vidimo da ukoliko je jedan od činilaca skalar, rezultat primjene operatora
    .* će biti isti kao običnog matričnog množenja *, tj. svaki element matrice ili
    vektora množi se sa skalarom.
~DIJELJENJE MATRICA~
   U matričnom računu dijeljenje nije definisano (osim ako je djelilac skalar).U
    MATLAB-u, međutim, postoje dva operatora za "dijeljenje" matrica:
    / koji označava takozvano "dijeljenje" s desna, i
     koji označava takozvano "dijeljenje" s lijeva.

    Značenje ovih operatora razmotrićemo, za sada, samo za specijalni slučaj
    kada se radi o kvadratnim nesingularnim matricama. Neka je, naime,
    matrica A kvadratna i nesingularna. Tada izraz:
    X=AB
    odgovara množenju matrice B s lijeva sa A-1 , tj. X=A-1B, dok izraz:
    X=B/A
    odgovara množenju matrice B s desna sa A-1, tj. X=BA-1, pri čemu se
    primjenom operatora  i / rezultati dobijaju direktno, bez računanja inverzne
    matrice. Dijeljenje s lijeva AB definisano je samo u slučaju kada je broj vrsta
    varijabli A i B isti.
   Primjer 4
    Za matrice A i B iz prethodnog primjera i b=[1 2 3]', izrazi
    » x=Ab,X=AB
    imaju smisla i daju
    x=
        0.6071
       -0.0357
        0.0714
    X=
       0.3393 - 0.5893i 1.0893 - 0.4464i -0.0893 + 0.3750i
       0.3036 - 0.0536i 0.5536 - 0.7679i -0.5536 + 0.1250i
      -0.3571 + 0.3571i -0.3571 + 0.2857i 0.3571 - 0.0000i
    dok za c=2 i d=b', izrazi
    » x=Ac,X=Ad
    nisu definisani i rezultiraće porukom o neslaganju dimenzija.
    Izraz za dijeljenje s desna B/A može se izraziti preko dijeljenja s lijeva kao
    B/A=(A'B')', i ima smisla samo ako je broj kolona varijabli A i B isti.
   Primjer 4.1
    Za matrice A i B iz prethodnog primjera i b=[1 2 3]', izrazi
    » x=Ab,X=AB
    imaju smisla i daju
    x=
       0.6071
      -0.0357
       0.0714
    X=
      0.3393 - 0.5893i 1.0893 - 0.4464i -0.0893 + 0.3750i
      0.3036 - 0.0536i 0.5536 - 0.7679i -0.5536 + 0.1250i
     -0.3571 + 0.3571i -0.3571 + 0.2857i 0.3571 - 0.0000i
    dok za c=2 i d=b', izrazi
    » x=Ac,X=Ad
    nisu definisani i rezultiraće porukom o neslaganju dimenzija. Izraz za
    dijeljenje s desna B/A može se izraziti preko dijeljenja s lijeva kao
    B/A=(A'B')', i ima smisla samo ako je broj kolona varijabli A i B isti.
   Primjer 4.2
    Za veličine iz prethodnog primjera, izrazi
    » y=d/A,Y=B/A
    imaju smisla, i daju rezultate
     y=
       0.3750 0.3750 -0.1250
    Y=
      0.1071 - 0.1429i -0.3214 + 0.4286i -0.0357 + 0.2143i
      0.2500 + 0.0893i 0.2500 - 0.7679i -0.2500 + 0.3036i
      0.3214 + 0.3393i -1.9643 + 0.4821i 0.8929 - 0.4464i
    dok izrazi
    »y=c/A
    »b/A
    nisu definisani i rezultiraće porukom o neslaganju dimenzija matrica
    koje se "dijele". Napomenimo ovdje da izraz X=AB predstavlja rješenje
    za AX=B, dok izraz X=B/A predstavlja rješenje za XA=B.
~DIJELJENJE POLJA BROJEVA~
   Za dijeljenje uređenih skupova brojeva važe drugačija pravila pa se
    upotrebljavaju i različiti simboli:
    ./ za dijeljenje s desna, i
    . za dijeljenje s lijeva.
    Tačka u simbolu za dijeljenje označava da se ova operacija vrši na
    korespondentnim elementima. Tako, izraz C=A./B (ili njemu ekvivalentan
    C=B.A) znači da su elementi skupa C izračunati po pravilu c(i,j)=a(i,j)/b(i,j),
    gdje su a(i,j) i b(i,j) odgovarajući elementi skupova A i B. Na isti način, izrazi
    D=A.B (tj. D=B./A)znače da je d(i,j)=b(i,j)/a(i,j).
    Iz ovakvih pravila očigledno slijedi:
    da bi navedeni izrazi imali smisla A i B moraju imati iste dimenzije.
    Jedini, ali veoma praktičan, izuzetak od ovog pravila predstavlja slučaj
    kada je dijeljenik ili djelilac skalar.
    Tako izrazi D=k./A odnosno D=A.k znače da je d(i,j)=k/a(i,j), dok izrazi
    D=A./k odnosno D=k.A znače da se elementi skupa D računaju po relaciji
    d(i,j)=a(i,j)/k.
   Primjer 5
    Unesi polja A i B i nađi njihove količnike.
    » A=[1 0 -2;-1 2 0],B=[-3 0 4;0 2 -1]
    A=
        1 0 -2
       -1 2 0
    B=
       -3 0 4
        0 2 -1
    » C=A./B
    Warning: Divide by zero
    C=
      -0.3333      NaN -0.5000
         -Inf 1.0000        0
    » D=B./A
    Warning: Divide by zero
    D=
       -3 NaN -2
        0 1 -Inf
     Pošto A i B iz primjera sadrže neke elemente jednake nuli,dobijamo
    poruku o dijeljenju sa nulom, a u rezultatu se javlja Inf ili NaN.
   Primjer 5.1
    Za a=2 i polja A i B iz prethodnog primjera, izračunati a./A i B./a. Unošenjem
    » A1=a./A
    dobijamo
    Warning: Divide by zero
    A1 =
        2 Inf -1
       -2 1 Inf
    dok
    » B1=B./a
    daje
    B1 =
      -1.5000       0 2.0000
           0 1.0000 -0.5000
    Vidimo da je efekat isti kao da smo koristili naredbe:
    » A1=a*ones(size(A))./B, odnosno » B1=B./(a*ones(size(B)))
    Postoji jedna značajna razlika ove verzije MATLAB-a u odnosu na DOS verzije u
    pogledu dijeljenja skalara poljem brojeva. Naime u MATLAB-u za
    Windows izraz:
    » 4./A
    je korektan i rezultira
    Warning: Divide by zero
    ans =
        4 Inf -2
       -4 2 Inf
    dok bi u prethodnim verzijama MATLAB-a rezultirao greškom. Uzrok ovoga je bio taj što
    je "stari" MATLAB tačku tumačio kao decimalni zarez pa matrične dimenzije nisu
    odgovarale. Obično se primjenjivao trik da se prethodni izraz zapisivao u obliku 4../A
    ,gdje prva tačka i dalje označava decimalni zarez ,a druga operaciju na polju brojeva.

More Related Content

What's hot

Ujka Vanja
Ujka VanjaUjka Vanja
Ujka Vanja
Mirjana Krunić
 
Hardverske komponente
Hardverske komponenteHardverske komponente
Hardverske komponente
lukicka
 
Rastvori elektrolita
Rastvori elektrolitaRastvori elektrolita
Rastvori elektrolita
jasminalukic
 
Anatomija srca
Anatomija srcaAnatomija srca
Anatomija srca
dr Šarac
 
Osobine likova
Osobine likovaOsobine likova
Osobine likova
Ivana Čališ
 
Perifrastične konjugacije u latinskom jeziku & gerundiv
Perifrastične konjugacije u latinskom jeziku & gerundivPerifrastične konjugacije u latinskom jeziku & gerundiv
Perifrastične konjugacije u latinskom jeziku & gerundivVinko Bubic, MD
 
Nastajanje riječi, podrijetlo riječi, frazemi vježbanje
Nastajanje riječi, podrijetlo riječi, frazemi   vježbanjeNastajanje riječi, podrijetlo riječi, frazemi   vježbanje
Nastajanje riječi, podrijetlo riječi, frazemi vježbanje
Ivana Čališ
 
Frazemi vježba
Frazemi vježbaFrazemi vježba
Frazemi vježba
Ivana Čališ
 
Osnove programiranja u Pythonu
Osnove programiranja u PythonuOsnove programiranja u Pythonu
Osnove programiranja u Pythonu
Vlatka Pavić
 
Albert Camus, Stranac
Albert Camus, StranacAlbert Camus, Stranac
Albert Camus, Stranac
Danijela Mikadi
 
Fizika formule
Fizika formuleFizika formule
Fizika formule
Alija Alic
 
Recenicno ustrojstvo
Recenicno ustrojstvoRecenicno ustrojstvo
Recenicno ustrojstvo
Iva Babić
 
Racunarski software
Racunarski softwareRacunarski software
Racunarski softwareucionica
 
Ante Kovačić, U registraturi
Ante Kovačić, U registraturiAnte Kovačić, U registraturi
Ante Kovačić, U registraturi
Danijela Mikadi
 
Frazemi
FrazemiFrazemi
Infarkt miokarda
Infarkt miokardaInfarkt miokarda
Infarkt miokarda
Milica Kranjčević
 
03 oksidacijski broj i redoks jednadzbe
03 oksidacijski broj i redoks jednadzbe03 oksidacijski broj i redoks jednadzbe
03 oksidacijski broj i redoks jednadzbe
Dunja Stanojković
 

What's hot (20)

Ujka Vanja
Ujka VanjaUjka Vanja
Ujka Vanja
 
Hardverske komponente
Hardverske komponenteHardverske komponente
Hardverske komponente
 
Rastvori elektrolita
Rastvori elektrolitaRastvori elektrolita
Rastvori elektrolita
 
Anatomija srca
Anatomija srcaAnatomija srca
Anatomija srca
 
Ekspresionizam
Ekspresionizam Ekspresionizam
Ekspresionizam
 
Osobine likova
Osobine likovaOsobine likova
Osobine likova
 
Perifrastične konjugacije u latinskom jeziku & gerundiv
Perifrastične konjugacije u latinskom jeziku & gerundivPerifrastične konjugacije u latinskom jeziku & gerundiv
Perifrastične konjugacije u latinskom jeziku & gerundiv
 
Kruzenje 8
Kruzenje 8Kruzenje 8
Kruzenje 8
 
Linearne nejednacine
Linearne nejednacineLinearne nejednacine
Linearne nejednacine
 
Nastajanje riječi, podrijetlo riječi, frazemi vježbanje
Nastajanje riječi, podrijetlo riječi, frazemi   vježbanjeNastajanje riječi, podrijetlo riječi, frazemi   vježbanje
Nastajanje riječi, podrijetlo riječi, frazemi vježbanje
 
Frazemi vježba
Frazemi vježbaFrazemi vježba
Frazemi vježba
 
Osnove programiranja u Pythonu
Osnove programiranja u PythonuOsnove programiranja u Pythonu
Osnove programiranja u Pythonu
 
Albert Camus, Stranac
Albert Camus, StranacAlbert Camus, Stranac
Albert Camus, Stranac
 
Fizika formule
Fizika formuleFizika formule
Fizika formule
 
Recenicno ustrojstvo
Recenicno ustrojstvoRecenicno ustrojstvo
Recenicno ustrojstvo
 
Racunarski software
Racunarski softwareRacunarski software
Racunarski software
 
Ante Kovačić, U registraturi
Ante Kovačić, U registraturiAnte Kovačić, U registraturi
Ante Kovačić, U registraturi
 
Frazemi
FrazemiFrazemi
Frazemi
 
Infarkt miokarda
Infarkt miokardaInfarkt miokarda
Infarkt miokarda
 
03 oksidacijski broj i redoks jednadzbe
03 oksidacijski broj i redoks jednadzbe03 oksidacijski broj i redoks jednadzbe
03 oksidacijski broj i redoks jednadzbe
 

Viewers also liked

Matrice i Determinante
Matrice i DeterminanteMatrice i Determinante
Matrice i DeterminanteBozaMiric
 
Resavanje jednacine sa apsolutnim vrednostima
Resavanje jednacine sa apsolutnim vrednostimaResavanje jednacine sa apsolutnim vrednostima
Resavanje jednacine sa apsolutnim vrednostimaSilvana Cupic
 
Matlab Basic Tutorial
Matlab Basic TutorialMatlab Basic Tutorial
Matlab Basic Tutorial
Muhammad Rizwan
 

Viewers also liked (6)

3.predavanje matrice
3.predavanje matrice3.predavanje matrice
3.predavanje matrice
 
Matrice i Determinante
Matrice i DeterminanteMatrice i Determinante
Matrice i Determinante
 
Matrice zadaci i_deo
Matrice zadaci i_deoMatrice zadaci i_deo
Matrice zadaci i_deo
 
Matrice
MatriceMatrice
Matrice
 
Resavanje jednacine sa apsolutnim vrednostima
Resavanje jednacine sa apsolutnim vrednostimaResavanje jednacine sa apsolutnim vrednostima
Resavanje jednacine sa apsolutnim vrednostima
 
Matlab Basic Tutorial
Matlab Basic TutorialMatlab Basic Tutorial
Matlab Basic Tutorial
 

Elementarne operacije sa matricama

  • 2. ~ELEMENTARNE OPERACIJE SA MATRICAMA I POLJIMA BROJEVA~ Matrične operacije čine znatan dio računskog potencijala MATLAB-a. One su, kadgod je to moguće, označene na prirodan način kao što bi to uradili na papiru. Jedino ograničenje proizilazi iz skupa karaktera raspoloživih na računaru. Pored matričnih operatora, postoji i mogućnost operacija nad uređenim skupovima (poljima) brojeva na principu element-po-element. Kod operatora koji matrice i polja brojeva tretiraju na isti način (transpozicija, sabiranje i oduzimanje) nećemo praviti razliku pri prezentaciji, a ostale relevantne operatore ćemo prezentovati odvojeno.
  • 3. ~ SABIRANJE I ODUZIMANJE ~  Sabiranje i oduzimanje matrica označava se sa + i -, respektivno. Ove operacije definisane su samo kada matrice koje sabiramo ili oduzimamo imaju iste dimenzije.  Primjer 1. Uzmimo matrice A i x , A=[-1 2 4;2 -3 1;-4 -5 -6] A= -1 2 4 2 -3 1 -4 -5 -6 x=[-1 3 8]‘ x= -1 3 8 » A+x rezultiraće porukom ??? Error using ==> + Matrix dimensions must agree. zbog toga što su dimenzije ovih veličina (3*3) i (3*1), respektivno.
  • 4. Primjer 1.2  B=A’ »B = -1 2 -4 2 -3 -5 4 1 -6 » C=A+B,C1=A-B daju zbir i razliku matrica A i B C= -2 4 0 4 -6 -4 0 -4 -12 C1 = 0 0 8 0 0 6 -8 -6 0
  • 5. ~Sabiranje i oduzimanje sa skalarima~  Osobenost MATLAB-a sastoji se u tome što su operacije + i - dopuštene i za različite dimenzije varijabli, ali samo ukoliko je jedna od njih skalar, npr. M+s(M-matrica, s-skalar). Ovakav izraz MATLAB interpretira tako što svakom elementu matrice M dodaje (ili od njega oduzima) naznačeni skalar se posmatra, tj. skalar s kao konstantna matrica sa dimenzijom prilagođenom matrici koja se sabira (ili oduzima).  Primjer 1.3 Za matrice B, x i skalar a, definisane u primjeru 2.1.1, izrazi » G=B+a,G1=x-a daju G= 4.2000 7.2000 1.2000 7.2000 2.2000 0.2000 9.2000 6.2000 -0.8000 G1 = -6.2000 -2.2000 2.8000 iako, po pravilima matričnog računa, nisu korektni.
  • 6. o Primjer 1.4 Provjerimo rezultate iz prethodnog primjera matematički korektnim izrazima » G=B+a*ones(B),G1=x-a*ones(x) sa rezultatom G= 4.2000 7.2000 1.2000 7.2000 2.2000 0.2000 9.2000 6.2000 -0.8000 G1 = -6.2000 -2.2000 2.8000 uz upozorenje da će ovakav način rada biti izbačen u kasnijim verzijama MATLAB-a This usage of ones(X) is obsolete and will be eliminated in future versions. Please use ones(size(X)) instead. Dakle moraćemo koristiti naredbu ones(size(X)). Sva navedena pravila, uključujući ono o kompatibilnosti skalara i matrice pri sabiranju i oduzimanju, važe za matrice i skalare sa kompleksnim elementima.
  • 7. ~Množenje matrica ~  Matrično množenje u MATLAB-u je označeno sa *. Shodno pravilima matričnog računa, ova operacija je definisana kada su "unutrašnje" dimenzije činilaca iste, tj. ako je broj kolona prvog činioca jednak broju vrsta drugog.  Primjer 2.1 Prethodno definisani x i A (primjer 1) ne ispunjavaju navedeni uslov, pa će iskaz » c=x*A proizvesti poruku: ??? Error using ==> * Inner matrix dimensions must agree. ok je iskaz » c=A*x korektan specijalan slučaj matričnog proizvoda, koji će dati c= 39 -3 -59 Mogućnosti množenja vektora sa vektorom, tj. takozvani skalarni (unutrašnji) i spoljni proizvod vektora, ilustrovaćemo na narednom primjeru.
  • 8. Primjer 2.2 Sa definisanim vektorima » x=[1 2 3],y=[1 -1 2] x= 1 2 3 y= 1 -1 2 izrazi » c=x*y',c1=y*x' daju isti rezultat, tj. skalarni proizvod dva vektora c= 5 c1 = 5 Spoljni proizvodi rezultiraće iz izraza » D=x'*y,D1=y'*x D= 1 -1 2 2 -2 4 3 -3 6 D1 = 1 2 3 -1 -2 -3 2 4 6 pri čemu je očigledno da su matrice D i D1 povezane relacijom D'=D1.
  • 9. Naravno, izraz » x*y daje poruku greške: ??? Error using ==> * Inner matrix dimensions must agree. Matrica ili vektor prirodno se množi sa skalarom.  Primjer 2.3 Sa prethodno definisanim A i x (primjeri 2.1.1 i 2.3.2), izrazi » A*pi,6.3*x rezultiraju sa ans = -3.1416 6.2832 12.5664 6.2832 -9.4248 3.1416 -12.5664 -15.7080 -18.8496 ans = 6.3000 12.6000 18.9000
  • 10. ~Množenje polja brojeva~  Za množenje uređenih skupova brojeva ne važe pravila matričnog računa,već se množenje vrši po principu element-po-element, a odgovaraju i operator je označen sa .*. Za ovakvu operaciju činioci moraju imati iste dimenzije ako su brojevi uređeni u obliku matrica ili vektora. Naime, ako A i C označavaju dva takva skupa brojeva, tada E=A.*C daje novi skup brojeva E čiji su elementi proizvodi korespondentnih elemenata iz skupova A i C. Primjer 2.4 Sa prethodno definisanim A i C ,izrazi » E1=A*C » E=A.*C su, s obzirom na dimenzije varijabli A i C, oba legitimni, samo što su operacije izvršene po različitim pravilima tako da i daju različite rezultate: E1 = 10 -32 -56 -16 22 0 -12 38 92 E= 2 8 0 8 18 -4 0 20 72
  • 11. Primjer 2.5 Za ranije definisane varijable A, x, y, izraz » A.*x daje poruku greške ??? Error using ==> .* Matrix dimensions must agree. dok izrazi » g=x.*y » g1=x.*(-2) daju g= 1 -2 6 g1 = -2 -4 -6 Vidimo da ukoliko je jedan od činilaca skalar, rezultat primjene operatora .* će biti isti kao običnog matričnog množenja *, tj. svaki element matrice ili vektora množi se sa skalarom.
  • 12. ~DIJELJENJE MATRICA~  U matričnom računu dijeljenje nije definisano (osim ako je djelilac skalar).U MATLAB-u, međutim, postoje dva operatora za "dijeljenje" matrica: / koji označava takozvano "dijeljenje" s desna, i koji označava takozvano "dijeljenje" s lijeva. Značenje ovih operatora razmotrićemo, za sada, samo za specijalni slučaj kada se radi o kvadratnim nesingularnim matricama. Neka je, naime, matrica A kvadratna i nesingularna. Tada izraz: X=AB odgovara množenju matrice B s lijeva sa A-1 , tj. X=A-1B, dok izraz: X=B/A odgovara množenju matrice B s desna sa A-1, tj. X=BA-1, pri čemu se primjenom operatora i / rezultati dobijaju direktno, bez računanja inverzne matrice. Dijeljenje s lijeva AB definisano je samo u slučaju kada je broj vrsta varijabli A i B isti.
  • 13. Primjer 4 Za matrice A i B iz prethodnog primjera i b=[1 2 3]', izrazi » x=Ab,X=AB imaju smisla i daju x= 0.6071 -0.0357 0.0714 X= 0.3393 - 0.5893i 1.0893 - 0.4464i -0.0893 + 0.3750i 0.3036 - 0.0536i 0.5536 - 0.7679i -0.5536 + 0.1250i -0.3571 + 0.3571i -0.3571 + 0.2857i 0.3571 - 0.0000i dok za c=2 i d=b', izrazi » x=Ac,X=Ad nisu definisani i rezultiraće porukom o neslaganju dimenzija. Izraz za dijeljenje s desna B/A može se izraziti preko dijeljenja s lijeva kao B/A=(A'B')', i ima smisla samo ako je broj kolona varijabli A i B isti.
  • 14. Primjer 4.1 Za matrice A i B iz prethodnog primjera i b=[1 2 3]', izrazi » x=Ab,X=AB imaju smisla i daju x= 0.6071 -0.0357 0.0714 X= 0.3393 - 0.5893i 1.0893 - 0.4464i -0.0893 + 0.3750i 0.3036 - 0.0536i 0.5536 - 0.7679i -0.5536 + 0.1250i -0.3571 + 0.3571i -0.3571 + 0.2857i 0.3571 - 0.0000i dok za c=2 i d=b', izrazi » x=Ac,X=Ad nisu definisani i rezultiraće porukom o neslaganju dimenzija. Izraz za dijeljenje s desna B/A može se izraziti preko dijeljenja s lijeva kao B/A=(A'B')', i ima smisla samo ako je broj kolona varijabli A i B isti.
  • 15. Primjer 4.2 Za veličine iz prethodnog primjera, izrazi » y=d/A,Y=B/A imaju smisla, i daju rezultate y= 0.3750 0.3750 -0.1250 Y= 0.1071 - 0.1429i -0.3214 + 0.4286i -0.0357 + 0.2143i 0.2500 + 0.0893i 0.2500 - 0.7679i -0.2500 + 0.3036i 0.3214 + 0.3393i -1.9643 + 0.4821i 0.8929 - 0.4464i dok izrazi »y=c/A »b/A nisu definisani i rezultiraće porukom o neslaganju dimenzija matrica koje se "dijele". Napomenimo ovdje da izraz X=AB predstavlja rješenje za AX=B, dok izraz X=B/A predstavlja rješenje za XA=B.
  • 16. ~DIJELJENJE POLJA BROJEVA~  Za dijeljenje uređenih skupova brojeva važe drugačija pravila pa se upotrebljavaju i različiti simboli: ./ za dijeljenje s desna, i . za dijeljenje s lijeva. Tačka u simbolu za dijeljenje označava da se ova operacija vrši na korespondentnim elementima. Tako, izraz C=A./B (ili njemu ekvivalentan C=B.A) znači da su elementi skupa C izračunati po pravilu c(i,j)=a(i,j)/b(i,j), gdje su a(i,j) i b(i,j) odgovarajući elementi skupova A i B. Na isti način, izrazi D=A.B (tj. D=B./A)znače da je d(i,j)=b(i,j)/a(i,j). Iz ovakvih pravila očigledno slijedi: da bi navedeni izrazi imali smisla A i B moraju imati iste dimenzije. Jedini, ali veoma praktičan, izuzetak od ovog pravila predstavlja slučaj kada je dijeljenik ili djelilac skalar. Tako izrazi D=k./A odnosno D=A.k znače da je d(i,j)=k/a(i,j), dok izrazi D=A./k odnosno D=k.A znače da se elementi skupa D računaju po relaciji d(i,j)=a(i,j)/k.
  • 17. Primjer 5 Unesi polja A i B i nađi njihove količnike. » A=[1 0 -2;-1 2 0],B=[-3 0 4;0 2 -1] A= 1 0 -2 -1 2 0 B= -3 0 4 0 2 -1 » C=A./B Warning: Divide by zero C= -0.3333 NaN -0.5000 -Inf 1.0000 0 » D=B./A Warning: Divide by zero D= -3 NaN -2 0 1 -Inf Pošto A i B iz primjera sadrže neke elemente jednake nuli,dobijamo poruku o dijeljenju sa nulom, a u rezultatu se javlja Inf ili NaN.
  • 18. Primjer 5.1 Za a=2 i polja A i B iz prethodnog primjera, izračunati a./A i B./a. Unošenjem » A1=a./A dobijamo Warning: Divide by zero A1 = 2 Inf -1 -2 1 Inf dok » B1=B./a daje B1 = -1.5000 0 2.0000 0 1.0000 -0.5000 Vidimo da je efekat isti kao da smo koristili naredbe: » A1=a*ones(size(A))./B, odnosno » B1=B./(a*ones(size(B))) Postoji jedna značajna razlika ove verzije MATLAB-a u odnosu na DOS verzije u pogledu dijeljenja skalara poljem brojeva. Naime u MATLAB-u za Windows izraz: » 4./A je korektan i rezultira Warning: Divide by zero ans = 4 Inf -2 -4 2 Inf dok bi u prethodnim verzijama MATLAB-a rezultirao greškom. Uzrok ovoga je bio taj što je "stari" MATLAB tačku tumačio kao decimalni zarez pa matrične dimenzije nisu odgovarale. Obično se primjenjivao trik da se prethodni izraz zapisivao u obliku 4../A ,gdje prva tačka i dalje označava decimalni zarez ,a druga operaciju na polju brojeva.