非满秩矩阵也能求逆矩阵吗_广义逆矩阵的性质

非满秩矩阵也能求逆矩阵吗_广义逆矩阵的性质今天遇到一个很奇怪的问题:一个方阵,逆矩阵存在,但不是满秩。问题来源  在实际应用的时候,发现返回值都是0,于是跟踪到这里,发现了这个问题:JtJ不是满秩,因此JtJN保持初始化的零值。matJtJN=zeros(N,N);matResult=zeros(N,1);if(N==rank(JtJ)){JtJN=inv(JtJ);}for…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

今天遇到一个很奇怪的问题:一个方阵,逆矩阵存在,但不是满秩。

  • 问题来源

    在实际应用的时候,发现返回值都是0,于是跟踪到这里,发现了这个问题:JtJ不是满秩,因此JtJN保持初始化的零值。

mat JtJN = zeros(N, N);
mat Result = zeros(N, 1);
if (N == rank(JtJ))
{
    JtJN = inv(JtJ);
}
for (int i = 0; i < N; i++)
{
    Result[i] = 1.96 * sqrt(re * abs(JtJN(i, i)) / M) / (p0[i] + EPS);
}
return Result;

Jetbrains全家桶1年46,售后保障稳定

  • 问题跟踪

    我把JtJ这个数据保存成txt,然后在Matlab里load进去。

1.42564385120145	46664.0071835617	-361.723628266118	1.43453776778475	2.27890158958207	1491.23699249997	2.66016443927362
46664.0071835617	2561658858.23584	-30028903.1298037	47411.4041209533	107097.080643255	129526675.413329	143227.334019439
-361.723628266118	-30028903.1298037	464526.466675988	-373.437398450597	-1274.63678807808	-2315792.08994344	-1969.46141027209
1.43453776778475	47411.4041209533	-373.437398450597	1.44372953400922	2.31104869171119	1551.42174553270	2.71062044898402
2.27890158958207	107097.080643255	-1274.63678807808	2.31104869171119	5.20067695242223	7813.59509020671	7.98532576281474
1491.23699249997	129526675.413329	-2315792.08994344	1551.42174553270	7813.59509020671	25339933.2510429	20655.0780322129
2.66016443927362	143227.334019439	-1969.46141027209	2.71062044898402	7.98532576281474	20655.0780322129	50.0000010000000

    请看以下结果:

非满秩矩阵也能求逆矩阵吗_广义逆矩阵的性质

    于是,我跟踪进rank的 源代码,发现引起这个问题的原因可能是精度问题,测试之后果不其然。

非满秩矩阵也能求逆矩阵吗_广义逆矩阵的性质非满秩矩阵也能求逆矩阵吗_广义逆矩阵的性质

  •  结论

    判断矩阵的逆矩阵是否存在时,一定要特别小心用满秩作为条件来判断,很可能会由于精度原因导致不可预估的结果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210430.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月26日 上午9:43
下一篇 2025年7月26日 上午10:15


相关推荐

  • statement和prepareStatement 的区别

    statement和prepareStatement 的区别????Java基础教程系列:Java基础教程系列????Java学习路线总结:搬砖工逆袭Java架构师????Java经典面试题大全:10万字208道Java经典面试题总结(附答案)????简介:Java领域优质创作者????、CSDN哪吒公众号作者✌、Java架构师奋斗者????????扫描主页左侧二维码,加入群聊,一起学习、一起进步????欢迎点赞????收藏⭐留言????一、【粉丝福利】送书啦,大家期待已久的Vue!本次活动送书规则:【送

    2022年6月12日
    39
  • ceph存储修改vm密钥(密码)

    ceph存储修改vm密钥(密码)有台名为 nginx 的 vm 出现了些怪异的行为 想把根磁盘导出来挂载在本地看看到底是怎么回事 如果 nova 使用的是本地存储 vmdisk 会存在相应 compute 节点的 var lib nova instance xxxx disk 中 直接使用 mount 命令井进行本地挂载即可 或者使用 libguestfs tools 工具套件 但是如果使用的是 rbd 存储 vm 的 disk 会存在 cephpool 里

    2026年3月17日
    2
  • 【Java面试】第二章:P5级面试

    HashMap底层原理,扩容机制,jdk8以后会使用红黑树优化?红黑树和二叉平衡树的区别,红黑树和B树,B+树的区别,Mysql二大引擎索引底层实现,HashMap在多线程环境中为何出错?ConcurrentHashMap底层实现,CAS,原子引用,ABA问题,volatile,如何解决HashMap出现的OOM问题?(WeakHashMap)HashMap是Map的一个实现类,它是以键值对存储数据的,Key-Value都是Map.Entry中的属性。当我们向HashMap中存放一个元素(k1,v1)

    2022年4月17日
    51
  • PyCharm使用教程 — 5、PyCharm的基本配置「建议收藏」

    PyCharm使用教程 — 5、PyCharm的基本配置「建议收藏」PyCharm基础配置PyCharm安装完毕之后,我们需要修改一些常用的配置让视觉上更加享受,比如修改PyCharm的主题以及字体显示呢基础配置在File->Settings中进行修改主题在Settings中选择Appearance&Behavior->Appearance,如下图所示我个人习惯使用Darcula的黑色主题,除了默认的主题,我们也可以自己安装其他主题风格。如何安装主题主题可以从网站http://www.themesmap.com/上进行下

    2022年8月29日
    5
  • Java用jdbc连接实现对MySQL增删改查操作

    Java用jdbc连接实现对MySQL增删改查操作文章目录前言大家好 我是 ice 三分颜色 个人主页 ice 三分颜色的博客本文讲了 篇幅很长 建议收藏 走过路过的小伙伴们点个赞和关注再走吧 欢迎评论区交流 努力什么时候开始都不算晚 那不如就从这篇文章开始 大家一起成长呀 笔芯示例 pandas 是基于 NumPy 的一种工具 该工具是为了解决数据分析任务而创建的 代码如下 示例 代码如下 示例 该处使用的 url 网络请求的数据 总结提示 这里对文章进行总结 例如 以上就是今天要讲的内容

    2026年3月17日
    1
  • 豆包Seedream 4.5

    豆包Seedream 4.5

    2026年3月12日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号