Skip to content

Commit

Permalink
Ne 23.03.2014 23:20
Browse files Browse the repository at this point in the history
  • Loading branch information
MarrekNozka committed Mar 23, 2014
1 parent ab1ee7d commit 1043269
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 14 deletions.
46 changes: 40 additions & 6 deletions graf.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,25 @@
# Úloha: Program čte textový soubor a vykresluje graf
############################################################################

def prevedNaCisla(seznamRetezcu):
""" Funkce vezme seznam řetězců,
- nahradí v nich desetiné čárky desesetinými tečkami
- převede řetězce na float
Vrátí seznam čísel
"""
vysledek=[]
for s in seznamRetezcu:
vysledek.append( float( s.replace(',','.') ) )
return vysledek


jmenosouboru='graf.txt'
import os.path
if not os.path.isfile(jmenosouboru):
jmenosouboru=raw_input("Zadej jméno souboru > ")


hodnotyX=[]
hodnotyY=[]
# Načtení souboru
Expand All @@ -20,18 +38,34 @@
# zpracování řádku
if radek=='' or '-----' in radek or radek[0]=='#':
continue # horizontální čáru nezpracovávám
x,y = radek.split()
x,y = radek.split('|')
hodnotyX.append(x)
hodnotyY.append(y)
f.close()

# vyndám popisky
popisekX= hodnotyX.pop(0)
popisekY= hodnotyY.pop(0)

nahradCarky(hodnotyX)
nahradCarky(hodnotyY)
x = prevedNaCisla(hodnotyX)
y = prevedNaCisla(hodnotyY)


import pylab as lab
import scipy.interpolate as interpol

# vytvořím si novou osu X, ktetá bude mí 300 bodů
xx=lab.linspace(min(x),max(x),300)
# funkce pro výpočet nových hodnoty Y
funkceProlozeni=interpol.UnivariateSpline(x,y,s=1,k=2)
# výpočet nových hodnot Y
yy = funkceProlozeni(xx)

import pylab
lab.plot(x,y,'r+')
lab.plot(xx,yy,'-g')
lab.grid(True)
lab.xlabel(popisekX.decode('UTF8'))
lab.ylabel(popisekY.decode('UTF8'))

pylab.plot(hodnotyX,hodnotyY)
pylab.show()

lab.show()
16 changes: 8 additions & 8 deletions graf.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@


# toto je graf z 20.2.2014
U[V] I[mA#]
napětí $U_1[V]$ | $I^2[mA]$
------------------
0.2 0,01
0.4 0,05
0.5 0.5
0.6 1
0.7 2
0.8 8
1 15
0.2 | 0,01
0.4 | 0,05
0.5 | 0.5
0.6 | 1
0.7 | 2
0.8 | 8
1 | 30



0 comments on commit 1043269

Please sign in to comment.