Форум сайта python.su
0
massivX = [] massivF = [] from math import sin for i in range(3): x = int(input('Введите х: ')) f = (1/1+(x**2))*sin((x**2)+x+1) massivX.append (f) for j in range(3): y[j] = ((massivX[j]-massivX[i+1])/(massivX[i]-massivX[i+1]) * massivF[i] + (massivX[j] - massivX[i])/(massivX[i+1]-massivX[i]) * #???? #if (massivX[p] <=x) and (massivX[p+1] >=x): # massivX[i]
Офлайн
35
Вид функции странный, ибо есть 1/1, видимо должно быть 1/(1+x**2) и т.д.
В общем, для случая а) должно быть как-то так:
from math import sin, ceil, floor # define f first f = lambda x: (1 / 1 + (x ** 2)) * sin((x ** 2) + x + 1) # get and echo all f(xi) values, see problem statemet print(list(map(f, range(10))) # case a) is easy: get_xi_with_comma = lambda xj: floor(xj), ceil(xj) def get_yj(xj): xi, xi1 = get_xi_with_comma(xj) return (xj - xi1) / (xi - xi1) * f(xi) + (xj - xi) / (xi1 - xi) * f(xi1) xj = [1.5, 5.3, 8.2] # result for case a) print(list(map(get_yj, xj)))
Офлайн
0
scidamВ этой строчке ошибка get_xi_with_comma = lambda xj: floor(xj), ceil(xj)
Вид функции странный, ибо есть 1/1, видимо должно быть 1/(1+x**2) и т.д.В общем, для случая а) должно быть как-то так:
Офлайн
35
Скобки забыл…
lambda xj: (floor(xj), ceil(xj))
Офлайн