====Prvi zadatak==== Date su datoteke analiza1.txt, analiza2.txt i analiza3.txt. Sve tri sadrže vrednosti neke 3 funkcije (svaka u svojoj datoteci) u tačkama , .01, .02, .03, ... , 1. Učitati podatke iz ovih file-ova i nacrtati grafik(sa naslovom, legendom) koji pokazuje koliko se vrednosti prve i treće funkcije razlikuju od vrednosti druge u svakoj tački u kojoj ih imamo definisane. Rešenje dati u vidu m skripte. Pri tom napraviti i m skriptu za random generisanje datoteka sa vrednostima. ==punjenje.m== # Broj tacaka u funkcijama ce biti jednak nekom od brojeva izmedju 1 i 51. BrElemenata=ceil(1+50*rand(1)); # Tacke ce imati vrednost brojeva koji su izmedju 0 i 10 prva=10*rand(BrElemenata); druga=10*rand(BrElemenata); treca=10*rand(BrElemenata); save analiza1.txt prva save analiza2.txt druga save analiza3.txt treca Ovaj program puni datoteke analiza1.txt,analiza2.txt i analiza3.txt sa vrednostima. ==zad1.m== punjenje load analiza1.txt load analiza2.txt load analiza3.txt x=druga-prva; y=druga-treca; plot(x(1:numel(x)),'r',y(1:numel(y)),'b') title('Funkcije') legend('Razlika izmedju druge i prve','Razlika izmedju druge i trece') Ovaj program uzima podatke iz analiza1.txt,analiza2.txt i analiza3.txt i crta grafik kao što je traženo u zadatku i to sve uz pomoć funkcije 'plot','title' postavlja naslov grafika, a 'legend' postavlja legendu o tome šta koji grafik predstavlja. ====Drugi zadatak==== 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 odstupanje.txt datoteku. ==zad2.m== load matrica.txt A=matrica; vrste=size(A,1); kolone=size(A,2); for j = 1:kolone, maksimum(j) = max(A(:,j)); minimum(j) = min(A(:,j)); srednja(j) = sum(A(:,j))/vrste; odstupanje(j)=srednja(j)-((maksimum(j)+minimum(j))/2); end recenica1="Maksimalni elementi kolona su:"; recenica2="Minimalni elementi kolona su:"; recenica3="Srednje vrednosti elemenata kolona su:"; recenica4="Razlike izmedju srednjih vrednosti elemenata i aritmetickih sredina maksimalnih i minimalnih elemenata kolona su:"; save odstupanje.txt recenica1 maksimum recenica2 minimum recenica3 srednja recenica4 odstupanje Ovaj program rešava problem iz drugog zadatka, korišćenjem 'for' petlje i funkcija 'max','min' i 'sum'. ====Treci zadtak==== Neka su date 3 ulazne datoteke, ulaz1.txt, ulaz2.txt i ulaz3.txt gde svaka sadrži isti broj vrednosti u decimalnom zapisu koje su rezultati nekog eksperimenta. Vrednosti ima onoliko koliko je bilo vremenskih trenutaka u kojima je vrednost posmatrana. Odrediti aritmetičku srednju vrednost za svaki vremenski trenutak na osnovu vrednosti u sve 3 datoteke. Zatim odrediti koja datoteka sadrži najviše vrednosti koji su najudaljenije od srednje vrednosti (vrednost se najviše razlikuje). Primer : Neka ima 1000 vrednosti u svakoj datoteci. Ako se desilo da u prvoj ima 340, u drugoj 450 i trećoj 210 vrednosti koje su najviše udaljene od srednje vrednosti u trenutku posmatranja, onda ispisujemo ime datoteke ulaz2.txt. ==octaveMat.m== n=ceil(1000*rand(1)); ulaz1=rand(n,1); save ulaz1.txt ulaz2=rand(n,1); save ulaz2.txt ulaz3=rand(n,1); save ulaz3.txt U ovom programu punimo datoteke sa vrednostima. Maksimalan broj elemenata u jednoj datoteci je ovde postavljen na 1000 ali može biti i veći ili manji (dovoljno je u prvom redu programa umesto 1000 staviti neki drugi broj koji ce biti graničnik). ==zad3.m== octaveMat load ulaz1.txt; load ulaz2.txt; load ulaz3.txt; n=size(ulaz1,1); sred(1)=sum(ulaz1)/numel(ulaz1); sred(2)=sum(ulaz2)/numel(ulaz2); sred(3)=sum(ulaz3)/numel(ulaz3); br(1)=0; br(2)=0; br(3)=0; for i = 1:n, if ulaz1(i)>sred(1), br(1)++; end end for i = 1:n, if ulaz2(i)>sred(2), br(2)++; end end for i = 1:n, if ulaz3(i)>sred(3), br(3)++; end end maksimum = max(br); if maksimum == br(1), printf("Ulaz1.txt\n"); elseif maksimum == br(2), printf("Ulaz2.txt\n"); else printf("Ulaz3.txt\n"); end U ovom programu prvo učitavamo podatke iz datoteka, a zatim računamo srednje vrednosti elemenata svake datoteke i smeštamo ih u vektor sred. Nakon toga za svaku datoteku određujemo broj onih elemenata koji su veći od srednje vrednosti i smeštamo ih u vektor br. Na kraju tražimo maksimum od elemenata iz vektora br, i ispisujemo naziv datoteke koja odgovara tom maksimumu. [[mihajlodjordjevic|Nazad]]