Я намерен решить систему нелинейных уравнений с использованием пакета nleqslv. Ниже приведен сценарий R.Почему функция nleqslv возвращает вывод NULL?
library("nleqslv")
require(nleqslv)
x <- c(1.4,1.6,1.8,2)
NMfun1 <- function(g) {
y <- numeric(3)
y[1] <- -(4/g[1])-(4*log(g[2]))-sum(log(x))+sum((g[2]*x)^g[1]*log(g[2]*x))+2*sum(g[3]*(g[2]*x)^g[1]*log(g[2]*x)*exp(-(g[2]*x)^g[1])*(1-g[3]*exp(-(g[2]*x)^g[1]))^(-1))
y[2] <- -(4*g[1]/g[2])+sum(g[2]*x*(g[2]*x)^(g[1]-1))+2*sum(g[1]*g[3]*x*(g[2]*x)^(g[1]-1)*exp(-(g[2]*x)^g[1])*(1-g[3]*exp(-(g[2]*x)^g[1]))^(-1))
y[3] <- (4/(g[3]-1))-2*sum(exp(-(g[2]*x)^g[1])*(1-g[3]*exp(-(g[2]*x)^g[1]))^(-1))
y
}
gstart <- matrix(runif(3*100,min=0,max=1), nrow=100, ncol=3)
ans <- nleqslv(gstart,NMfun1, method="Newton", global="dbldog")
ans$g
Я считаю, что я не делаю что-то в своем коде, потому что я продолжаю получать NULL после запуска кода. Мне нужна ваша помощь. Спасибо
Пожалуйста, измените название! –
Используйте параметры форматирования, указанные SO https://stackoverflow.com/editing-help, это поможет другим понять вопрос и помочь решить эту проблему. –
Хорошо подходит для stackoverflow. Вы должны выбрать заголовок, чтобы объяснить свой вопрос. –