Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- # Введём значения координат полёта снаряда вручную и сразу
- x_list = '2.7 2.8 3.3 4.2 4.4 4.8 5.1 7.1 7.4 7.5'
- y_list = '4.5 4.6 4.7 5.0 5.1 5.2 5.3 6.0 6.1 6.2'
- # Переведем эти значения в массив вещественных чисел, внутри переведя в список вещественных чисел
- x_array = np.array([float(i) for i in x_list.split()]) # массив значений по оси Х
- y_array = np.array([float(i) for i in y_list.split()])
- # 3. Узнаем коэффициенты, используя в качестве линии тренда полином второй или первой степеней,
- # найдём его коэффициенты:
- poly1 = np.polyfit(x_array, y_array, 1) # Полином первой степени, массив
- poly2 = np.polyfit(x_array, y_array, 2) # Полином второй степени.
- #print("%5.3f %5.3f" % poly1) - мусор проверки
- #print("%5.3f %5.3f %5.3f" % (poly2[0], poly2[1], poly2[2])) - мусор проверки
- #Cоздадим функцию вычисленя полинома первой степени
- def f_poly1(x, poly1):
- y = poly1[0] * x + poly1[1]
- return y
- #Cоздадим функцию вычисленя полинома второй степени
- def f_poly2(x, poly2):
- y = poly1[0] * x **2 + poly1[1] * x + poly2[2]
- return y
- #Смотрю выводятся ли вообще значения на экран
- #Т.е. подставляю значения из массива x_array для расчета функцией f_poly1, как это сделать?
- poly1_f = ([poly1 for x in x_array]) # считает естественно значения массива
- print('poly1_f печать: ', poly1_f)
- # КАК ПРАВИЛЬНО ПОДСТАВИТЬ ЗНАЧЕНИЯ МОЕЙ ФУНКЦИИ, ЧТОБЫ СЧИТАЛО И НА ВЫХОДЕ ДАВАЛО НОВЫЙ МАССИВ?
- #poly2_f = (f_poly2(x_array[x], poly2[x]) for x in x_array)
- #print(poly2_f)
- # пробую через array, пока неуспешно
- y2 = np.array([f_poly2(x_array[x], poly2[x]) for x in x_array]) #пытаюсь пройтись по каждому элементу массива через обращение к каждому элементу в квадратных скобках
- print('y2 на экране:', y2)
Add Comment
Please, Sign In to add comment