8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Jupyter 笔记本在查找矩阵行列式的根时出现弃用警告

HoangIta 2月前

35 0

给定一个矩阵 A,其中某些元素是 x 的函数,找到 x 使得 det(A) = 0。我从一个 5x5 对角矩阵开始,如代码所示。root 函数实际上给出了正确的 r...

给定一个矩阵 A,其中一些元素是 x 的函数,找到 x 使得 det(A) = 0。

我从一个 5x5 对角矩阵开始,如代码所示。根函数实际上给出了正确的根 (x = 1.562),但

DeprecationWarning:将 ndim > 0 的数组转换为标量已弃用,将来会出错。请确保在执行此操作之前从数组中提取单个元素。

def test(x):
    A = np.zeros((5,5))
    for i in range(5):
        A[i,i] = x**2-4+x
    return np.linalg.det(A)

root(test, 3)

但是,如果我们只想要行列式,运行 test(3) 是完全没问题的。我不知道这个警告是怎么出现的,以及如何避免它。我猜可能与求根函数有关,但我不确定具体是怎么回事。我担心当矩阵的大小变得非常大时,它找不到真正的根。有人遇到过类似的问题吗?任何建议都将不胜感激。

帖子版权声明 1、本帖标题:Jupyter 笔记本在查找矩阵行列式的根时出现弃用警告
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由HoangIta在本站《numpy》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 谢谢你的回答!这真的很有帮助。我读了 item 文档。它只将指定的元素作为标量返回,这确实解决了我的问题。此外,假设元素是原始问题中的多个变量的函数,我可以在测试函数中解包它们,x1、x2、x3 = x。将这个想法带回到单变量问题,我发现 x = x[0] 也解决了这个问题。比较 x = x.item() 和 x = x[0],不确定哪个更高效和更强大。

返回
作者最近主题: