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:

napravi.m
%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:

zad1_main.m
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 50×50) i popunjava matricu slucajnim vrednostima od 0 do 5.

napraviMat.m
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:

zad2_main.m
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);
 
oct.txt · Last modified: 2012/01/29 17:21 by darko.antonijevic
 
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