에 일체형으로 방정식 해결 R 패키지 rootSolve에 multiroot :내가 X (코드 X <a href="https://i.stack.imgur.com/9Hjts.gif" rel="nofollow noreferrer">1</a>) 및 Y의 뿌리 (X [2] 코드) 개의 방정식</p> <p><a href="https://i.stack.imgur.com/9Hjts.gif" rel="nofollow noreferrer">Integral Equations</a></p> <p>다음 I 기능을 사용 찾으려고하고 R
m, R 및 C는 상수m<-0.01
r<- 0.5
c<- 0.01006885
eq.sol<-function(x,para)
{
m<-para[1]
r<-para[2]
c<-para[3]
inteq1<-function(b)
{
x[1]*exp(-x[1]*b)/(b+x[2])
}
inteq2<-function(b)
{
x[1]*exp(-x[1]*b)/(b+x[2])^2
}
F1<-integrate(inteq1, 0, Inf)$value-m*c*(1-r)/(c+m*r)
F2<-integrate(inteq2, 0, Inf)$value-m^2*c*(1-r)^2/(c+m*r)
c(F1=F1, F2=F2)
}
find.para<-multiroot(eq.sol, start = c(0.05,1), para = c(m, r, c), positive = TRUE)
. 두 변수는 양의 값을 가질 것으로 예상됩니다. 그러나, 다음과 같은 오류를 반환 :
diagonal element is zero
[1] 2
Warning messages:
1: In stode(y, times, func, parms = parms, ...) :
error during factorisation of matrix (dgefa); singular matrix
2: In stode(y, times, func, parms = parms, ...) : steady-state not reached
UPDATE Lyngbakr의 솔루션에 대한
감사합니다. 이 경우 좋은 초기 추측이 필요합니다. 그러나이 함수를 다른 함수에 삽입하고 임의의 분포에서 c를 무작위로 그리는 경우 U (0.005, 0.05)라고 말하면 c의 모든 샘플에 대해 작동하도록 만들 수는 없습니다. 제안이 있습니까?
, 나는 가정 사진에서'x' WRT를 통합, 제공? – Therkel
FYI :'multiroot'는'parms'가 아닌'parms'라는 인수를 취합니다. – Lyngbakr
@Therkel 사실, wrt 통합 b. –