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.

Elementarne operacije sa matricama

  • 1.
  • 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 IODUZIMANJE ~  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 oduzimanjesa 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.