Ejemplo n.º 1
0
def readData(fileAddress):
    with open(fileAddress, newline='') as csvfile:
        data = csv.reader(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_NONNUMERIC)
        dataList = list(data)
    ages = dataList[0]
    heights = dataList[1]
    if (len(dataList) >= 3):
        sampleSizes = dataList[2]
        stdDeviations = dataList[3]
        return CurveFit.Data(ages, heights, stdDeviations/np.sqrt(sampleSizes), system_error=0.1/np.sqrt(3))
    else:
        return CurveFit.Data(ages, heights, np.array([1.] * len(ages)))
Ejemplo n.º 2
0
def addRandomError(data, sigma, sampleSize, minAge, maxAge):
    new_x_arr = []
    new_y_arr = []
    new_variance_arr = []
    for index in range(len(data.x_array)):
        age = data.x_array[index]
        if (age >= minAge and age <= maxAge and not age.is_integer()):
            new_x_arr.append(age)
            new_y_arr.append(
                random.gauss(data.y_array[index], sigma / np.sqrt(sampleSize)))
            new_variance_arr.append(sigma * generateChiSquare(sampleSize - 1) /
                                    sampleSize)
    return CurveFit.Data(new_x_arr, new_y_arr,
                         new_variance_arr / np.sqrt(sampleSize))