=== Zadatak 1 ===
//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.//
==Resenje==
Prva skripta generise vrednosti funkcija i upisuje ih u odgovarajuce fajlove:
%generisanje ulaznih podataka (analiza1.txt, analiza2.txt, analiza3.txt)
v = rand(1,101);
file = fopen('analiza1.txt', 'w');
for i=1:101,
fprintf(file,'%f ',v(i));
end
fclose(file);
v = rand(1,101);
file = fopen('analiza2.txt', 'w');
for i=1:101,
fprintf(file,'%f ',v(i));
end
fclose(file);
v = rand(1,101);
file = fopen('analiza3.txt', 'w');
for i=1:101,
fprintf(file,'%f ',v(i));
end
fclose(file);
Druga skripta je ona koja resava problem zadatka, crta trazene grafike funkcija:
x = 0:0.01:1;
y1 = load('analiza1.txt');
y2 = load('analiza2.txt');
y3 = load('analiza3.txt');
figure; title('Prva i druga funkcija');
subplot(2,1,1);
plot(x,y1,'b',x,y2,'g');
legend('prva','druga','Location','Northeast');
subplot(2,1,2);
y21 = y2.-y1;
plot(x,y21,'r');
legend('razlika','Location','Northeast');
figure; title('Druga i treca funkcija');
subplot(2,1,1);
plot(x,y2,'b',x,y3,'g');
legend('druga', 'treca','Location','Northeast');
subplot(2,1,2);
y32 = y2.-y3;
plot(x,y32,'r');
legend('razlika','Location','Northeast');
=== Zadatak 2 ===
//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.//
==Resenje==
Prva skripta generise matricu proizvoljnih dimenzija (najvise 50x50) i popunjava matricu
slucajnim vrednostima od 0 do 5.
m = ceil(50*rand(1,1));
n = ceil(50*rand(1,1));
A = 5*rand(m,n);
fin = fopen('matrica.txt','w');
for i = 1:size(A,1),
for j = 1:size(A,2),
fprintf(fin,'%f ',A(i,j));
end
fprintf(fin,'\n');
end
fclose(fin);
Druga skripta resava problem zadatka:
A = load('matrica.txt');
fin = fopen('odstupanje.txt','w');
for i = 1:size(A,2),
minimum = min(A(:,i));
maksimum = max(A(:,i));
srednja = sum(A(:,i))/size(A,1);
odst = abs(srednja - (maksimum+minimum)/2);
fprintf(fin,'%f ', odst);
end
fclose(fin);