Я использую пакет nleqslv для решения двух нелинейных уравнений, где два неизвестных положительны. Каждый раз код завершения равен (3), что означает, что лучшего решения не найдено, а результаты слишком далеки от фактических значений
library(nleqslv) ## solving nonlinear equations
R.bar=0.4361885
R2.bar=0.2137403
initial=c(0.4361885,1.659362)
sq.initial=sqrt(initial)
fun <- function(z){
f=numeric(2)
x=z^2
f[1]=(exp(-(x[1]^2)/(2*(x[2]))))*((x[1]/sqrt(x[2]))+
(((x[1]/sqrt(x[2]))^3)*0.375)+
(((x[1]/sqrt(x[2]))^5)*0.078125)+
(((x[1]/sqrt(x[2]))^7)*0.01139)+
(((x[1]/sqrt(x[2]))^9)*0.0012817)+
(((x[1]/sqrt(x[2]))^11)*0.000117))-(4*R.bar/sqrt(2*pi))
f[2]=(exp(-(x[1]^2)/(2*(x[2]))))*((((x[1]/sqrt(x[2]))^2)*0.25)+
(((x[1]/sqrt(x[2]))^4)*0.0834)+
(((x[1]/sqrt(x[2]))^6)*-0.04286)+
(((x[1]/sqrt(x[2]))^8)*-0.05798)+
(((x[1]/sqrt(x[2]))^10)*-0.03594)+
(((x[1]/sqrt(x[2]))^12)*-0.01948)+
(((x[1]/sqrt(x[2]))^14)*-0.005274))-(R2.bar)
f
}
testnslv(sq.initial,fun)