全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅 求助成功区
6015 4
2016-09-03
悬赏 20 个论坛币 已解决
A1 = cell2mat(A);
E = eye(1435);
L = inv(E - A1);
我在运用投入产出表计算里昂惕夫时遇到一个问题,主要是在求里昂惕夫逆矩阵时矩阵A中有元素是0,根源在于投入产出表中有一部分为0.理论上来说应该是允许为0,但是在逆矩阵运算该如何解决?(高精度也没成功)

最佳答案

wisdom101126 查看完整内容

把分母output那一列的0改成一个很小的数即可。 关键问题不是A中有0,而是如果分母是0,那么有些系数就是nan,matlab遇到nan就没法计算逆矩阵。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-9-3 20:15:11
把分母output那一列的0改成一个很小的数即可。
关键问题不是A中有0,而是如果分母是0,那么有些系数就是nan,matlab遇到nan就没法计算逆矩阵。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-9-3 20:37:35
矩阵中有元素为0与矩阵可逆没有什么关系,只要行列式不为0就行。如果矩阵不可逆,也可以用广义逆求之,pinv函数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-9-4 14:45:39
用pseudo inverse, 或者借用线性方程组的思想求解inverse, 比如用lsqr,查下matlab help 很容易的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-9-8 13:21:25
用pseudo inverse, 或者借用线性方程组的思想求解inverse, 比如用lsqr,查下matlab help 很容易的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群