[英]Nonlinear equation involving summations in R
我在尝试在R中的非线性求解器中实现此方程时遇到了最困难的时间。我正在尝试同时使用nleqslv
和BB
软件包,但到目前为止,除了错误之外什么也没有。 我一直在搜索和阅读文档,直到我的眼睛流血为止,但是我无法将其包裹住。 等式本身的工作方式如下:
s2 * sum(price^(2*x+2)) - s2.bar * sum(price^(2*x)) = 0
其中s2
, s2.bar
和price
是等长的已知向量。
我在BB
尝试的最后一次尝试是:
gamma = function(x){
n = len(x)
f = numeric(n)
f[n] = s2*sum(price^(2*x[n]+2)) - s2.bar*sum(price^(2*x[n]))
f
}
g0 = rnorm(length(price))
results = BBsolve(par=g0, fn=gamma)
通过对函数中使用的各个部分的描述,您似乎已经弄不清楚了公式。
您的函数gamma
最有可能写为
gamma <- function(x){
f <- s2*sum(price^(2*x+2)) - s2.bar*sum(price^(2*x))
f
}
s2
, price
和s2.bar
是描述中的向量,因此您给出的公式将返回一个向量。
由于您没有提供任何数据,因此我们无法测试。 我尝试使用s2
, price
, s2.bar
随机生成值进行测试。 有时,人们会同时使用nleqslv
和BB
解决方案,但并非总是如此。
如果是nleqslv
软件包,则默认方法将不总是有效。 由于软件包使用的方法不同,因此应使用软件包中的testnslv
函数,以查看提供的任何方法是否确实找到了解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.