# -*- coding: utf-8 -*-
"""
@author: Vaclav Miklas

Zdroj dat:
SCHULZ, Heinz, Andreas KRIEG, Hans MITTERLEITNER a Barbara EDER. 
Bioplyn v praxi: teorie – projektování – stavba zařízení – příklady. 
Ostrava: HEL, 2004, 167 s. ISBN 80-86167-21-6.
"""
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
from scipy import interpolate



def func(x, a, b):
    return a/x + b

xdata = np.array([3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
ydata = np.array([1.48, 1.11, 0.89, 0.74, 0.64, 0.56, 0.49, 0.445, 0.4, 0.37])
r = interpolate.InterpolatedUnivariateSpline(xdata,ydata)
s = interpolate.PchipInterpolator(xdata, ydata)
xdatavec = np.linspace(1, 15, 1000)

plt.plot(xdata, ydata, 'kx', label=u'Vstupní data', markersize=8)
plt.rc('font', family='serif')
popt, pcov = curve_fit(func, xdata, ydata)
plt.plot(xdatavec, r(xdatavec), 'k-', label=u'Interpolace kubickým splinem')
plt.plot(xdatavec, s(xdatavec), 'k-.', label=u'Interpolace PCHIP')
plt.plot(xdatavec, func(xdatavec, *popt), 'k--', label=u'MNČ: a/x + b')


plt.xlabel('Obsah sušiny [%]')
plt.ylabel('Specifická spotřeba energie pro proces [kWh/kg sušiny]')
plt.title('Aproximace spotřeby tepla na ohřev substrátu')
plt.legend()
plt.axvspan(1,3,color=(1,0,0,0.05))
plt.axvspan(12,14,color=(1,0,0,0.05))
plt.axvspan(3,12,color=(0,1,0,0.05))
# plt.show()
plt.savefig('graf_ohrev_substratu.svg', dpi=1200, transparent=True)