Я хотел бы вычислить следующий интеграл в R:Non-конечное значение функции с Интегрируя() R, хотя решение существует
print(integrate(function(x){((1.-x)^2)/(abs(1.-x))^(1/3)},lower = 0, upper = 1.6, abs.tol = 1E-7)$value)
И я получаю эту ошибку:
Error in integrate(function(x) { : non-finite function value
Однако, когда Я интегрирую до 1.600001 или 1.599999, он работает и дает 0.4710365 и 0.4710357.
Но нет ничего особенного с этой функцией в точке 1.6 ... Так что это должно быть какое-то странное числовая проблема в R.
Любые идеи?
Хорошее решение. Но вы можете поместить все, что вам нравится, для третьего аргумента 'ifelse'. Попробуйте, например. '10.99' вместо' 0'. – Bhas
@Bhas, это правда, но 0 является единственным правильным пределом в 1 для этой функции ;-) Кроме того, включение 10,99 может привести к ложным результатам при вызове 'integrate'. – DeeCeeDelux