24小时热门版块排行榜    

查看: 1071  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

tyc13

至尊木虫 (职业作家)

[求助] Matlab中解非线性方程X=A\b的适用条件是什么啊? 已有1人参与

各位虫友好!
我遇到了一个解矩阵方程的问题 A*X=b
方程组的系数矩阵A接近奇异,矩阵的阶数大概是A:48*48,X:48*1,b:48*1
用   X=A\b   这个语句时,MATLAB会提示:计算结果可能不准确
解出来的结果有多少可信度呢? 还有别的方法吗?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

简单即完美。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tyc13

至尊木虫 (职业作家)

引用回帖:
6楼: Originally posted by minizhu at 2015-06-09 10:47:47
c的值的选取是有规则的 一般可以凭经验选取 正常 1e-5 到 1e-9左右都可以的...

您好,我把c值设置为1e-6,可是条件数变成了NAN,附件是代码和运行结果。请问为什么?
Matlab中解非线性方程X=A\b的适用条件是什么啊?
代码.png


Matlab中解非线性方程X=A\b的适用条件是什么啊?-1
条件数.png

简单即完美。
7楼2015-06-09 11:27:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

minizhu

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
接近奇异的话 要做regularization
试着解一下这个替代方程
(A' A +c I ) x =A' b
这里I是单位阵 c 是任意很小的数 可以改变 又叫regularization parameter

[ 发自小木虫客户端 ]
应用数学反问题,偏微分
2楼2015-06-08 21:59:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tyc13

至尊木虫 (职业作家)

引用回帖:
2楼: Originally posted by minizhu at 2015-06-08 21:59:39
接近奇异的话 要做regularization
试着解一下这个替代方程
(A' A +c I ) x =A' b
这里I是单位阵 c 是任意很小的数 可以改变 又叫regularization parameter

您好,我在网上搜了一下正则化方法,说是条件数很大的问题可以用。可是我这个问题条件数很小啊,RCOND=1.5*e-19,还可以用吗?
简单即完美。
3楼2015-06-09 09:13:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

minizhu

金虫 (小有名气)

【答案】应助回帖

★ ★ ★
tyc13: 金币+3, ★★★很有帮助 2015-06-10 08:11:56
引用回帖:
3楼: Originally posted by tyc13 at 2015-06-09 10:13:26
您好,我在网上搜了一下正则化方法,说是条件数很大的问题可以用。可是我这个问题条件数很小啊,RCOND=1.5*e-19,还可以用吗?...

你的系数矩阵A接近奇异,肯定是要处理一下的
这个 c的值 你是可以调整的 你可以试着调整一下c的值 看看结果又什么变化
c=0的话就是标准的最小二乘解;
c>0的话就是正则化的解;
你直接解 Ax=b肯定没有解 A'Ax=A'b稳定
应用数学反问题,偏微分
4楼2015-06-09 09:44:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见