cellular_raza 0.0.2

Cellular simulation tool
Documentation
import matplotlib.pyplot as plt
import numpy as np
import scipy as sp
import pandas as pd


if __name__ == "__main__":
    df = pd.read_csv("output.txt", skipinitialspace = True)
    times = np.array([df["3"][df["0"] == i].mean() for i in range(min(df["0"]), 1+max(df["0"]))])

    start = 0
    stop = len(times)

    x_values_fit = np.arange(start+1, stop+1)
    y_values_fit = times[0] / times[start:stop]
    fit_func = lambda s, p: 1/((1-p) + p/s)

    res = sp.optimize.curve_fit(fit_func, x_values_fit, y_values_fit)

    x_values_plot = range(1, len(times)+1)

    plt.plot(x_values_plot, [fit_func(x, *res[0]) for x in x_values_plot], label="Parallel portion: {:3.1f}%".format(100.0 * res[0][0]))

    plt.plot(np.arange(1, len(times)+1), times[0] / times, label="measurement data")
    plt.legend()
    plt.xscale('log')
    plt.savefig("output.png")
    plt.show()