r - 用于非线性方程求解的 BBsolve 不打印结果
问题描述
我遇到了函数 BBsolve 和 dfsane 的问题,即我成功收敛,但在尝试求解以下非线性方程组时,我没有得到结果(par 未打印,仅:成功收敛)。
任何帮助将不胜感激!
代码可以在这里找到:
program_BLP_nash_arazas_uj<-function(){
library(matlib)
library(BB)
n<-1000
m<-1
alfa<--1
beta1<--1
beta2<-1
lambda<-0.4
gamma_1<-rep(1,n)
dim(gamma_1)<-c(n,1)
gamma_2<-1
beta1_vektor<-rep(-1,n)
dim(beta1_vektor)<-c(n,1)
beta2_vektor<-rep(1,n)
dim(beta2_vektor)<-c(n,1)
alfa_vektor<-rep(-1,n)
dim(alfa_vektor)<-c(n,1)
lf<-vector()
lf<-(rep(1L,n))
dim(lf)<-c(n,1)
kszi<-vector()
omega<-vector()
c<-vector()
ct<-(rep(1L,n))
dim(ct)<-c(n,1)
b100<-matrix(nrow=3, ncol = m)
b100_IV<-matrix(nrow = 3, ncol = m)
x<-matrix(nrow=n, ncol=3)
z<-matrix(nrow=n, ncol=3)
sf<-vector()
w<-vector()
w<-runif(n,min=0, max=1)
dim(w)<-c(n,1)
Xj<-vector()
Xj<-runif(n,min=1,max=2)
dim(Xj)<-c(n,1)
for (i in 1:m){
kszi<-rnorm(n, mean=0, sd=1)
dim(kszi)<-c(n,1)
omega<-rnorm(n, mean=0, sd=0.25)
dim(omega)<-c(n,1)
Cj<-gamma_1+gamma_2*w+lambda*kszi+omega
szamol<-function(Pj){
sf_szamlalo<-vector()
for(k in 1:n){
sf_szamlalo[k]<-exp(alfa*Pj[k]+beta1+beta2*Xj[k]+kszi[k])
}
sf_nevezo<-sum(sf_szamlalo)+1
for (l in 1:n){
sf[l]<-sf_szamlalo[l]/sf_nevezo
}
st<-t(sf)
stXlf<-st%*%lf
nevezo<-1-stXlf
nevezo_szam<-drop(nevezo)
tort<-lf/nevezo_szam
jobbold<--1/alfa*tort
G <- rep(NA, n)
t<-1:1000
G[t]<-Pj[t]-Cj[t]-jobbold[t]
G
}
p0 <- rnorm(1000)
BBsolve(par=p0, fn=szamol, control=list(M=1000, NM=FALSE))
}
}
program_BLP_nash_arazas_uj()
解决方案
推荐阅读
- sql - Redshift SQL:在另一列中给定条件,对匹配行进行列计数
- google-apps-script - 如何授予非谷歌会员 webapp 权限?
- python - Python - 当我打印所有键值对时,我应该如何保持键值对的顺序?
- python - 如何从heroku写入github中的sqlite3文件
- python - 使用 Django 按值过滤多个字段布尔值
- sql - 如何根据 SQL Server 中的条件对数据进行分组
- java - 当在某个位置应用某些东西时,它也将应用于自定义 ListView 中的其他位置
- python - 在 JSON 中处理字典
- laravel - 无法在 url 标记中获取获取的值
- numpy - 如何以矢量化方式填充 NumPy 数组列表?