Dvodimenzionalni nizovi matrice Dvodimenzionalni nizovi su nizovi kod

  • Slides: 15
Download presentation

Dvodimenzionalni nizovi (matrice) Dvodimenzionalni nizovi su nizovi kod kojih je položaj elementa u nizu

Dvodimenzionalni nizovi (matrice) Dvodimenzionalni nizovi su nizovi kod kojih je položaj elementa u nizu određen sa dva indeksa (tabele, matrice). 2/50

Dvodimenzionalni nizovi Prvi indeks uvek predstavlja indeks vrste, a drugi indeks kolone. Indeksi mogu

Dvodimenzionalni nizovi Prvi indeks uvek predstavlja indeks vrste, a drugi indeks kolone. Indeksi mogu biti kao i kod jednodimenzionalnog niza (broj, aritmetički izraz ili opseg između najniže i najviše vrednosti indeksa), ali i : kada predstavlja sve elemente u vrsti ili koloni u zavisnosti od toga na kome se mestu nalazi. 3/50

Dvodimenzionalni nizovi Primeri: c = x(i, j) g = x (v+5, 2*c) a =

Dvodimenzionalni nizovi Primeri: c = x(i, j) g = x (v+5, 2*c) a = b(1: n, 3: m) y = x(: , 5) z = x(2, : ) 5 -ta kolona 2 -ga vrsta 4/50

Dvodimenzionalni nizovi Dodeljivanje vrednosti nizu Vrednosti iz liste dodeljuju se redom elementima matrice čije

Dvodimenzionalni nizovi Dodeljivanje vrednosti nizu Vrednosti iz liste dodeljuju se redom elementima matrice čije je ime sa leve strane znaka jednakosti redosledom kojim su napisane u listi. Elementi redova se razdvajaju blenkovima ili zapetama, a kolone sa ; Primer: x = [1. 2, 2. 1, 3. 4; 4. 5, 5. 6, 6. 5; 7. 2, 8. 1, 9. 2] Broj elemenata u svim vrstama mora da bude jednak. 5/50

fid=fopen('podaci. txt'); m=fscanf(fid, '%d', 1); % broj vrsta n=fscanf(fid, '%d', 1); % broj kolona

fid=fopen('podaci. txt'); m=fscanf(fid, '%d', 1); % broj vrsta n=fscanf(fid, '%d', 1); % broj kolona a=fscanf(fid, '%f', [n, m])'; % u? itavanje po vrstama fclose(fid); s=0; for i=1: m % sumiranje po vrstama for j=1: n s=s+a(i, j); end fprintf(1, 'Matrica a n'); for i=1: m fprintf(1, '%7. 3 f', a(i, : )); % štampanje i-te vrste fprintf(1, 'n'); end fprintf(1, 'Suma elemenata matrice a %10. 3 f', s) датотека podaci. txt 54 1234 5678 9 1 -2 3 4567 8912 Грађевински факултет Универзитета у Београду 8

Dvodimenzionalni nizovi Učitavanje iz datoteke Primer 1 fid = fopen (filename, 'r') ; m

Dvodimenzionalni nizovi Učitavanje iz datoteke Primer 1 fid = fopen (filename, 'r') ; m = fscanf (fid, '%d', 1) ; n = fscanf (fid, '%d', 1) ; for i = 1: m for j = 1: n x (i, j) = fscanf (fid, '%f', 1) ; end 9/50

Dvodimenzionalni nizovi Učitavanje iz datoteke Primer 2 iul = fopen (filename, 'r') m =

Dvodimenzionalni nizovi Učitavanje iz datoteke Primer 2 iul = fopen (filename, 'r') m = fscanf (iul, '%d', 1) – broj vrsta n = fscanf (iul, '%d', 1) – broj kolona x = fscanf (iul, '%f', [m, n]) – po kolonama ili x = fscanf (iul, '%f', [n, m])' – po vrstama 10/50

fid=fopen('podaci. txt'); m=fscanf(fid, '%d', 1); % broj vrsta n=fscanf(fid, '%d', 1); % broj kolona

fid=fopen('podaci. txt'); m=fscanf(fid, '%d', 1); % broj vrsta n=fscanf(fid, '%d', 1); % broj kolona a=fscanf(fid, '%f', [n, m])'; % u? itavanje po vrstama fclose(fid); amin=a(1, 1); vr=1; kol=1; for i=1: m % sumiranje po vrstama for j=1: n if a(i, j)<amin=a(i, j); vr=i; kol=j; end end fprintf(1, 'Matrica a n'); for i=1: m fprintf(1, '%7. 3 f', a(i, : )); % štampanje i-te vrste fprintf(1, 'n'); end fprintf(1, 'Najmanji element matrice a(%3 d, %3 d)=%10. 3 f', vr, kol, amin) Грађевински факултет Универзитета у Београду 12

fid=fopen('podaci 3. txt'); m=fscanf(fid, '%d', 1); % broj vrsta n=fscanf(fid, '%d', 1); % broj

fid=fopen('podaci 3. txt'); m=fscanf(fid, '%d', 1); % broj vrsta n=fscanf(fid, '%d', 1); % broj kolona a=fscanf(fid, '%f', [n, m])'; % u? itavanje po vrstama b=fscanf(fid, '%f', [n, m])'; % u? itavanje po vrstama fclose(fid); for i=1: m % sumiranje po vrstama for j=1: n if a(i, j)>b(i, j) c(i, j)=a(i, j); elseif a(i, j)<b(i, j) c(i, j)=b(i, j); else c(i, j)=0; end end fprintf(1, 'Matrica a n'); for i=1: m fprintf(1, '%7. 3 f', a(i, : )); % štampanje i-te vrste fprintf(1, 'n'); end fprintf(1, 'Matrica b n'); for i=1: m fprintf(1, '%7. 3 f', b(i, : )); % štampanje i-te vrste fprintf(1, 'n'); end fprintf(1, 'Matrica c n'); for i=1: m fprintf(1, '%7. 3 f', c(i, : )); % štampanje i-te vrste fprintf(1, 'n'); end Грађевински факултет Универзитета у Београду 14