首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >矩阵逆与R中的数值积分

矩阵逆与R中的数值积分
EN

Stack Overflow用户
提问于 2017-10-12 05:06:21
回答 1查看 325关注 0票数 1

在R中,我试图得到矩阵的逆的一般形式(我指的是具有参数的矩阵,而不是特定的数),2)然后用它来计算积分。

我的意思是,我有一个参数θ的P矩阵,我需要加和减一些东西,然后取它的逆,乘以一个向量,这样我就得到了一个向量pil。从向量pil取一个项,再乘以一个函数,再加上参数θ,结果必须从0到无穷大。

我试过了,但没有成功,因为我知道结果应该是pst= (0.3021034,0.0645126,0.6333840)

代码语言:javascript
运行
复制
c<-0.1
g<-0.15
    integrand1 <- function(theta) {
  pil1 <- function(theta) {
    P<-matrix(c( 
      1-exp(-theta), 1-exp(-theta),1-exp(-theta),exp(-theta),0,0,0,exp(-theta),exp(-theta)
    ),3,3);
    pil<-(rep(1,3))%*%solve(diag(1,3)-P+matrix(1,3,3));
    return(pil[[1]])
  }
  q<-pil1(theta)*(c^g/gamma(g)*theta^(g-1)*exp(-c*theta))
  return(q)}

(pst1<-integrate(integrand1, lower = 0, upper = Inf)$value)
#0.4144018

这仅仅是向量pst的第一项,因为当我不知道如何为这个循环做一个循环时。

拜托,你知不知道为什么不行,怎么让它起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-12 06:52:09

integrate中使用的函数应该按照帮助中的说明进行矢量化。在代码末尾添加以下内容

代码语言:javascript
运行
复制
integrand2 <- Vectorize(integrand1)
integrate(integrand2, lower = 0, upper = Inf)$value
#[1] 0.3021034

结果是预期结果的第一个元素。

您必须提供更多关于输入的信息,才能得到预期的向量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46701803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档