====== Postavka problema ======
//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 0.01, 0.02, 0.03, ... , 1.0 . 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 =====
==== Skripta za generisanje proizvoljnih vrednosti i upisivanje u datoteku ====
U opstem slucaju, matrica tipa **m** x **n** se puni proizvoljnim vrednostima iz intervala (0,1) pomocu funkcije rand(m,n); Za m=n=1, generisace se, prakticno, jedan broj((Octave cak i skalare smatra vektorima dimenzija 1x1)). Ako zelimo da nam vrednosti matrice **M** budu u opsegu //(a,b)// onda se koristimo izrazom
M = a - (a-b)*rand(m,n)
ili
M = b + (a-b)*rand(m,n)
Upisivanje promenljive **A** u datoteku naziva //dat.txt// vrsi se sledecom komandom:
save dat.txt A
Prema tome, pomocna skripta u zadatku ima sledeci oblik:
% generisanje proizvoljnih vrednosti
% i njihovo upisivanje u datoteku
A=100-50*rand(101,1);
save analiza1.txt A;
B=100-50*rand(101,1);
save analiza2.txt B;
C=100-50*rand(101,1);
save analiza3.txt C;
==== Glavna skripta ====
Prvo je potrebno ucitati vrednosti funkcija naredbom load. Naime, ako zelimo da ucitamo promenljivu **A** iz datoteke //dat.txt//, dovoljno ja napisati sledeci red:
load dat.txt A
Razlika prve i druge funkcije, A i B, smestice se u vektor AB = A - B. Isto vazi i za funkcije B i C. Te razlike mozemo prikazati na grafiku, i to sledecom naredbom:
plot(domen,AB,'r',domen,BC,'b');
Domen je odredjen kao domen=0:1:100, a 'r' i 'b' oznacavaju boje odgovarajucih grafika.
Glavna skripta, prema tome, ima oblik:
% Razlike
%
load analiza1.txt A;
load analiza2.txt B;
load analiza3.txt C;
AB=A-B;
BC=C-B;
domen=0:1:100;
plot(domen,AB,'r',domen,BC,'b');
title('Odstupanje funkcije B od A i C');
xlabel('X');
ylabel('Odstupanje');
legend('A-B','C-B');
grid on
Komande //title//, //xlabel//, //ylabel//, //legend// i //grid on// podesavaju grafik.