Processing math: 100%

MPZI_vj13

2369 days ago by fresl

Dvostruka petlja for


1. zadatak

Napišite programsku funkciju  umnozak()  koja ima dva parametra, realan broj r i matricu A s realnim komponentama, a vraća novu matricu koja je umnožak broja r i matrice A. Program izvedite s argumentima  r=3  i  A=[1,1231,3].  Trebate dobiti matricu  [3,3693,9].

Podsjećamo:

  • ako je  B=rA,  onda je  bi,j=rai,j ;
  • broj redaka i broj stupaca matrice A dobivaju se pomoću funkcija .nrows() i .ncols();
  • nul–matrica koja ima m redaka i n stupaca, a komponente su joj nule kao realni brojevi, dobiva se pozivom funkcije  zero_matrix (RR, m, n);
  • komponenti u i-tom retku i j-tom stupcu matrice A pristupa se izrazom A[i,j];
  • indeksi komponenata počinju od 0;
  • niz cijelih brojeva  0,1,,m1  dobiva se pozivom funkcije srange(m).
       
       


1. zadatak za zadaću

Napišite programsku funkciju  minus_jedan()  koja ima jedan parametar, i to matricu, a vraća novu matricu dobivenu množenjem parametra sa 1. Program izvedite s argumentom A=[1,1231,3].  Trebate dobiti matricu B=[1,1231,3].

       

 

2. zadatak za zadaću

Napišite programsku funkciju  zbroj_matrica()  koja će zbrojiti dvije matrice.  Ako je C=A+B,  onda je  ci,j=ai,j+bi,j.  Stoga se matrice mogu zbrajati samo ako imaju isti broj redaka i isti broj stupaca, ali u funkciji ne trebate provjeravati tu činjenicu, jer ćemo smatrati da ćemo je upotrebljavati samo u tom slučaju.  Program izvedite s argumentima  A=[1,1231,3]  i  B=[12,131,2];  rezultat je matrica  [0,14,100,1].

       

 

2. zadatak

Napišite programsku funkciju  zbroj_pn()  koja će zbrojiti posebno pozitivne, a posebno negativne komponente matrice.  Program izvedite s argumentom  A=[1203120,500,1];  rezultat je par (6,5;3,1).

       
       


3. zadatak za zadaću

Modificirajte funkciju  zbroj_pn()  iz 2. zadatka tako da dobijete funkciju  umnozak_pn()  koja vraća umnoške pozitivnih i negativnih komponenata matrice.  Za argument A iz 2. zadatka trebate dobiti par (3;0,2)

       

 

4. zadatak za zadaću

Napišite programsku funkciju  najveci()  koje će pronaći najveću komponentu matrice.  Program izvedite za argument  A=[1,1231,3].  Trebate dobiti broj 3.

Provedite potrebne promjene u programskoj funkciji  najveci()  tako da nova funkcija vraća najmanju komponentu matrice; novu funkciju nazovite  najmanji().  Za argument A trebate kao rezultat dobiti 1,1.

       

 

5. zadatak za zadaću

Promijenite funkciju  najveci()  iz 4. zadatka za zadaću tako da umjesto najveće komponente vraća indekse retka i stupca u kojima se ta komponenta nalazi; funkciju nazovite  indeksi_najvecega().  Ako program izvedete za argument  A=[1,1231,3],  trebate kao rezultat dobiti par brojeva (1,0).

Provedite promjene analogne promjenama iz drugoga dijela 4. zadatka za zadaću.