Я столкнулся с этой проблемой, когда пытался решить дифференциальное уравнение в частных производных. Вот мой код:
dd = NDSolve[{D[tes[t, x], t] ==D[tes[t, x], x, x] + Exp[-1/(tes[t, x])],
tes[t, 0] == 1, tes[t, -1] == 1, tes[0, x] == 1}, {tes[t, x]}, {t, 0, 5}, {x, -1, 0}]
f[t_, x_] = tes[t, x] /. dd
kkk = FunctionInterpolation[Integrate[Exp[-1.1/( Evaluate[f[t, x]])], {x, -1, 0}], {t, 0, 0.05}]
kkg[t_] = Integrate[Exp[-1.1/( Evaluate[f[t, x]])], {x, -1, 0}]
Plot[Evaluate[kkk[t]] - Evaluate[kkg[t]], {t, 0, 0.05}]
N[kkg[0.01] - kkk[0.01], 1]
Странно, что отклонение, показанное на графике, достигает более 5*10^-7
около t=0.01
, в то время как при расчете N[kkg[0.01] - kkk[0.01], 1]
оно составляет всего -3.88578*10^-16
, интересно, как появляется эта ошибка.
Кстати, мне кажется странным, что в выводе N[kkg[0.01] - kkk[0.01], 1]
так много знаков после запятой, я установил точность равной 1, верно?