Differences

This shows you the differences between two versions of the page.

zadatak_2 [2012/02/03 14:38] (current)
milos.simic created
Line 1: Line 1:
 +===== Postavka problema =====
 +//Za datu matricu (proizvoljnih dimenzija) u datoteci matrica.txt, odrediti za svaku kolonu njenu srednju, minimalnu i maksimalnu vrednost. Zatim za svaku kolonu odrediti koliko se srednja vrednost kolone razlikuje od aritmetičke sredine minimalne i maksimalne vrednosti i te rezultate upisati u datoteku odstupanje.txt.//
 +
 +==== Matrica proizvoljnih dimenzija i vrednosti ====
 +<file m pomocna.m>
 +% Generisanje matrice proizvoljnih dimenzija
 +a=round(100-99*rand(1,1)) % broj vrsta
 +b=round(100-99*rand(1,1)) % vroj kolona
 +M=100-99*rand(a,b);
 +
 +save matrica.txt a b M
 +</file>
 +
 +Koristili smo se funkcijom //rand// kako bismo zaokruglili dobijeni broj, posto matrica ne moze imati razlomljen broj vrsta ni kolona.
 +
 +==== Glavna skripta ====
 +<file m glavna.m>
 +% Ucitavanje matrice proizvoljnih dimenzija
 +% i prikazivanje iste
 +load matrica.txt a b M
 +a
 +b
 +vektor=[];
 +domen=1:1:b;
 +for i=domen
 + kolona=M(:,i);
 + minimum=min(kolona);
 + maksimum=max(kolona);
 + asrmm=(minimum+maksimum)/2;
 + prosek=mean(kolona);
 + vektor=[vektor abs(prosek-asrmm)];
 +end
 +
 +plot(domen,vektor,'rv');
 +xlabel('Kolona');
 +ylabel('Razlika');
 +legend('Odstupanjе u kolonama','Location','Northeast');
 +grid on % moze se i odstraniti
 +</file>
 +
 +Primetimo da smo, pored matrice, ucitali i njene dimenzije. To nije neophodno, jer se one funkcijom size((//size// vraca vektor ciji je prvi clan broj vrsta, a drugi broj kolona)) mogu saznati.
 +
 +Svaku kolonu matrice **M** smo upisali u vektor **kolona** naredbom <code m>kolona=M(:,i)</code>, a prosecnu, najmanju i najvecu vrednost pronasli upotrebom funkcija //mean//,//min// i //max//. Trazeno odstupanje upisali smo u **vektor** nacinom prosirivanja. Naime, ako je **v** vektor, a **m** neki broj, taj broj se moze dodati datom vektoru sledecim prosirenjem:<code m>v = [v m]</code>.((Prosirenje matrice se moze vrsiti po kolonama ili vrstama. Prosirenje po vrstama matrice **M** vektorom **v** vrsi se kao <code m>M = [M; v]</code>, pri cemu broj kolona **M** i **v** mora biti isti. Analogno i za prosirenje po kolonama, <code m>M = [M v]</code>, pri cemu **M** i **v** moraju imati isti broj vrsta.))
 
zadatak_2.txt · Last modified: 2012/02/03 14:38 by milos.simic
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki