In [10]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

In [2]:
#Ci_hat
b_hat = np.array([  1.75925926e+02,   7.73150000e+02,   1.00000000e-15,
         1.00000000e-15,   3.96827375e-01,   5.39485800e-04,
         3.74461120e-03,   2.71663741e-02,   2.07197654e-02,
         1.22696030e-03,   1.78450324e-01,   5.23592747e-02,
         1.77942174e-02,   2.09681110e-03,   1.41697136e+00,
         2.51866656e-01,   7.68701396e-01,   8.05896850e-03,
         1.56715721e+00,   9.64409736e-02,   4.64418586e-01,
         6.79502120e-03,   5.08356889e-02,   3.02556236e+00,
         2.42787869e+00,   3.32000000e-08,   5.96479317e-01,
         2.76075145e-02,   1.00000000e-15,   3.32000000e-08,
         2.47643400e-04,   1.00000000e-15,   1.00000000e-15,
         1.00000000e-15,   1.18310167e-02,   4.54900000e-07,
         1.10623050e-03,   6.16317800e-04,   9.09904484e-01,
         1.00000000e-15,   2.08547008e-01,   1.07000000e-08,
         3.96000000e-07,   1.00000000e-15,   1.53411103e-01,
         1.85988254e+00,   1.00000000e-15,   2.58017577e+00,
         1.66000000e-08,   1.00000000e-15,   2.60149954e+00,
         4.53461858e-02,   1.00000000e-15,   4.20000000e-09,
         1.00000000e-15,   1.00000000e-15,   1.00000000e-15,
         1.00000000e-15,   4.48634690e-03,   1.45561060e-03,
         1.68000000e-08,   1.00000000e-15,   1.00000000e-15,
         1.00000000e-15,   1.00000000e-15,   1.00000000e-15,
         1.00000000e-15,   1.00000000e-15,   1.38909000e-05,
         6.40000000e-09,   1.00000000e-15,   2.02020000e-06,
         2.16185000e-05,   1.12000000e-08,   1.00000000e-15,
         1.68000000e-08,   8.36500000e-07,   1.00000000e-15,
         1.00000000e-15,   1.00000000e-15,   1.00000000e-15,
         6.73587000e-05,   1.65876330e-03,   1.00000000e-15,
         1.74843084e-02,   1.04760000e-06,   5.04354700e-04,
         2.18649600e-04,   1.08214560e-03,   1.80157693e-02,
         2.61081686e-01,   3.59538000e-05,   7.34225260e-03,
         9.99732327e-02,   4.56204036e-02])

In [15]:
point_list = [4e-15,7e-15,1.75e-14,2.5e-14,3.25e-14,4e-14,4.75e-14,5e-14,5.25e-14,5.5e-14,5.75e-14,6e-14,6.25e-14,6.5e-14,6.75e-14,7e-14]
error_value = []
for item in point_list:
    a = np.genfromtxt('sol_check_ab={}.dat'.format(item))
    b = a[len(a)-2]
    b[b == 0] =1e-15
    difference = (b - b_hat)/(b_hat*94)
    error = np.sum(difference)
    error_value.append(error)
error_value


Out[15]:
[-4.7597664030185573e-12,
 -4.7597664030185573e-12,
 -4.7597664030185573e-12,
 -5.3317540701836663e-12,
 -5.3317540701836663e-12,
 -5.3317540701836663e-12,
 -5.3317540701836663e-12,
 -5.3317540701836663e-12,
 -5.3317540701836663e-12,
 -4.3508369148912155e-12,
 -5.3317540701836663e-12,
 -5.3317540701836663e-12,
 -4.7597664030185573e-12,
 5.3093930301412571e-12,
 -4.3508369148912155e-12,
 5.469071626108588e-12]

In [16]:
plt_err = pd.DataFrame(columns=['abs_err','err'])

In [17]:
plt_err.abs_err = point_list
plt_err.err = error_value

In [18]:
plt_err


Out[18]:
abs_err err
0 4.000000e-15 -4.759766e-12
1 7.000000e-15 -4.759766e-12
2 1.750000e-14 -4.759766e-12
3 2.500000e-14 -5.331754e-12
4 3.250000e-14 -5.331754e-12
5 4.000000e-14 -5.331754e-12
6 4.750000e-14 -5.331754e-12
7 5.000000e-14 -5.331754e-12
8 5.250000e-14 -5.331754e-12
9 5.500000e-14 -4.350837e-12
10 5.750000e-14 -5.331754e-12
11 6.000000e-14 -5.331754e-12
12 6.250000e-14 -4.759766e-12
13 6.500000e-14 5.309393e-12
14 6.750000e-14 -4.350837e-12
15 7.000000e-14 5.469072e-12

In [19]:
plt.plot(plt_err.abs_err,plt_err.err,'o')
plt.xlabel('abserror')
plt.ylabel('error')
plt.show()



In [ ]: