You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

R语言调用inv()求矩阵逆报错,需安装哪个包?

解决R语言中inv()函数找不到的问题

刚碰到Error in inv(A) : could not find function "inv"这个报错很正常,因为R的基础包里面根本就没有内置inv()这个函数来计算矩阵逆矩阵。

如果你就想用inv()这个函数名来实现需求,有两个常用的包可以选:

  • matlib:专门做矩阵相关教学和计算的包,里面的inv()函数就是用来计算普通矩阵逆的
  • pracma:这个包复刻了很多Matlab里的函数,其中就包含inv()

下面给你具体的操作步骤:

方法一:用matlib

  1. 先安装包(只需要安装一次):
install.packages("matlib")
  1. 加载包并运行你的代码:
library(matlib)

# 定义矩阵A
A <- matrix( c(5, 1, 0, 3,-1, 2, 4, 0,-1), nrow=3, byrow=TRUE)

# 计算行列式
det(A)

# 计算逆矩阵
(AI <- inv(A))

方法二:用pracma

  1. 安装包:
install.packages("pracma")
  1. 加载包并使用:
library(pracma)

A <- matrix( c(5, 1, 0, 3,-1, 2, 4, 0,-1), nrow=3, byrow=TRUE)
det(A)
(AI <- inv(A))

额外小提示

其实不用装任何额外包也能计算矩阵逆,R基础包自带的solve()函数就能搞定,用法是(AI <- solve(A)),效果和inv()完全一样,要是不想折腾装包的话可以试试这个方法。

内容的提问来源于stack exchange,提问作者Muhammad Faheem Sajjad

火山引擎 最新活动