Naloga:
Napišite program, ki prebere podatke o višinah v datoteki (visine.txt) in izračuna povprečno vrednost in standarden odmik ter rezultat zapišite z absolutno in relativno napako. Program naj poišče še največjo in najmanjšo meritev in potem vse meritve razdelite na razrede in podatke o razredih shranite v datoteko z imenom hist.txt ter z gnuplotom narišite histogram.
Program je narejen, brez da mu povemo koliko podatkov ima v datoteki.
program stat implicit none real :: x,y,vx,vx2,s,d,x2,xmin,xmax integer :: i,i1,i2,i3,i4,i5,i6,i7,i8,OK open(101,file='visine.txt') read(101,*) vx=0 vx2=0 i1=0 i2=0 i3=0 i4=0 i5=0 i6=0 i7=0 i8=0 i=0 OK=0 do while (OK==0) read(101,*,iostat=OK)y,x if (OK==0) then i=i+1 if (i==1) then xmin=x xmax=x else if (x.gt.xmax) xmax=x if (x.lt.xmin) xmin=x endif if (x<145) then i1=i1+1 else if (x<155) then i2=i2+1 else if (x<165) then i3=i3+1 else if (x<175) then i4=i4+1 else if (x<185) then i5=i5+1 else if (x<195) then i6=i6+1 else if (x<205) then i7=i7+1 else i8=i8+1 endif vx=vx+x vx2=vx2+x**2 endif enddo vx=vx/real(i) !povprecje vx2=vx2/real(i) !povprecje kvadrata s=sqrt(vx2-vx**2) !absolutna napaka d=s/vx !relativna napaka close(101) write(*,*)'Imamo ',i,' meritev.' write(*,*)'Povprecje je ', vx write(*,*)'Absolutna napaka je ',s write(*,*)'Relativna napaka je ',d write(*,*)'Najvecja visina je ',xmax write(*,*)'Najmanjsa visina je ',xmin write(*,*)'Z absolutno napako: ',vx,achar(241),s write(*,*)'Z relativno napako: ',vx,'(1',achar(241),d,')' write(*,*)'Histogram izracunan.' open(102,file='hist1.txt') write(102,*)135,145,i1 write(102,*)145,155,i2 write(102,*)155,165,i3 write(102,*)165,175,i4 write(102,*)175,185,i5 write(102,*)185,195,i6 write(102,*)195,205,i7 write(102,*)205,215,i8 close(102) end program stat
Tekst sedaj shranimo kot datoteko stat1.f90 in prevedemo.
Tu je sedaj še print screen postopka prevajanja, postopka risanja z gnuplotom in narisana grafa v pdf datoteki. V kolikor vam kakšna podrobnost ni jasna, mi sporočite. Histogram je narisan v naslednji JPG datoteki.
Ter podatki za histogram v hist1.txt
Nazaj na osnovno stran za predmet Uporaba numeričnih metod v kemiji.