2016-04-14 2 views
-4

Я пытаюсь написать код алгоритма корень поиска в R, который будет решать уравнение вида:Интеграция внутри функции корнеобитаемого найти

интеграл от xinitial-> х е (х) = а

с входами xinitial, a и формой функции f(x).

Нужно ли использовать vectorize для определения интегральных значений перед их запуском через алгоритм поиска корней?

Пример: y = x x1 = 1 a = 2 Я пытался настроить корневую находку для вывода значения x2, при котором интеграл ((x2^2)/2) = a + (x1^2)/2.

Пробовал с помощью

a<-1.5 
ftn<-function(x)return(x) 
f<-function(x)return(-a+integrate(ftn,1,x)$value +0) 
uniroot(f, c(0, 4))  
+2

Я не понимаю, обозначение "интеграл (е (xinitial))". Интеграл всегда имеет нижний предел ** и **. Вы хотите решить integ_x1^x2 f (x) dx = a численно для x2? Просьба привести пример. – Roland

+0

Hi Roland, спасибо за ответ, отредактировал выше – CSW

+0

И почему вас не устраивает вывод вашего кода? – Roland

ответ

0
ftn <- function(x) return(x) 
f <- function(x) return(-a+integrate(ftn, x1, x)$value) 
uniroot(f, c(0, 4))