Я хочу найти производную функции (x) (x - 1), используя определение производной. Я хочу, чтобы мои приращения были 1e-2
. Так что он имитирует лимит, равный нулю. Я видел на Range for Floats, что я мог бы использовать пользовательские функции для создания функций диапазона, которые принимают переменные float.Функция диапазона для поплавков в малых интервалах
def frange(x, y, jump):
while x < y:
yield x
x += jump
def drange(start, stop, step):
r = start
while r < stop:
yield r
r += step
i = frange(1e-14,1e-2,2)
for k in i:
set = []
x = 1
dvt = ((x + k) * (x + k - 1) - x*(x - 1))/k
set.append(dvt)
print(set)
Когда я запускаю программу, я получаю только
[0.9992007221626509]
Что происходит, что я не получаю больше, чем одна производная добавляется в список?
'jump' является' 2', так что вы идете от '1e-14' в' 1e-2' немедленно , –
Символически можно различать [sympy] (http://docs.sympy.org/latest/tutorial/calculus.html#derivatives) '(x * (x-1)). Diff (x)' -> ' 2 * x - 1' -> '.subs ({x: 1})' -> '1' и используя несколько [других методов] (http://stackoverflow.com/questions/9876290/how-do- i-compute-производная-использование-numpy) – SiggyF