【问题标题】:Error when multiplying matrices矩阵相乘时出错
【发布时间】:2015-06-20 21:12:27
【问题描述】:

我正在尝试将一些矩阵相乘,但出现以下错误:

B <- 2*mcov
B <- cbind(B,c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1))
B <- cbind(B,t(mrend))
B <- rbind(B, c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0))
B <- rbind(B, ((1 + c(meanNovartis, meanRDS, meanRoche, meanEJ, meanHSBC, 
           meanBayer, meanUnilever, meanGSK, meanSanofi, meanAnheuser, 
           meanSiemens, meanLoreal, meanInnate, 
           meanBT,meanNestle,0,0)^12)-1))
B
c <- matrix(c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,(((1+mean(meanRDS))^12))-1),
            nrow=17, ncol=1)

当尝试解决时:

 x <- solve(B)%*%c

出现这个错误:

solve.default(B) 中的错误:Lapack 例程 dgesv:系统完全是奇异的:U[17,17] = 0

【问题讨论】:

  • 您的问题已经回答here

标签: r


【解决方案1】:

您正在尝试计算没有逆矩阵的 LU 分解。因此,LAPACK 包(当您调用 solve 时,R 实际运行的包)试图除以零。

解决您的问题的方法是清理您的数据(如果这是原因),或者找到另一种方法来获取您的特征值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 2016-12-11
    相关资源
    最近更新 更多