===== 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 ====
% 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
Koristili smo se funkcijom //rand// kako bismo zaokruglili dobijeni broj, posto matrica ne moze imati razlomljen broj vrsta ni kolona.
==== Glavna skripta ====
% 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
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 kolona=M(:,i)
, 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:v = [v m]
.((Prosirenje matrice se moze vrsiti po kolonama ili vrstama. Prosirenje po vrstama matrice **M** vektorom **v** vrsi se kao M = [M; v]
, pri cemu broj kolona **M** i **v** mora biti isti. Analogno i za prosirenje po kolonama, M = [M v]
, pri cemu **M** i **v** moraju imati isti broj vrsta.))