24小时热门版块排行榜    

查看: 1073  |  回复: 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的回帖

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的回帖

tyc13

至尊木虫 (职业作家)

引用回帖:
4楼: Originally posted by minizhu at 2015-06-09 09:44:52
你的系数矩阵A接近奇异,肯定是要处理一下的
这个 c的值 你是可以调整的 你可以试着调整一下c的值 看看结果又什么变化
c=0的话就是标准的最小二乘解;
c>0的话就是正则化的解;
你直接解 Ax=b肯定没有解 A ...

恩,我把c值设定在1e-5这个值,然后还是用语句
X=(A'*A+c*I)\(A'*b)
来计算可以吗?精度可信吗?谢谢啦!
简单即完美。
5楼2015-06-09 10:02:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

minizhu

金虫 (小有名气)

【答案】应助回帖

★ ★
tyc13: 金币+2, ★★★很有帮助, 对我有点帮助,谢谢! 2015-06-09 14:07:53
引用回帖:
5楼: Originally posted by tyc13 at 2015-06-09 11:02:52
恩,我把c值设定在1e-5这个值,然后还是用语句
X=(A'*A+c*I)\(A'*b)
来计算可以吗?精度可信吗?谢谢啦!...

c的值的选取是有规则的 一般可以凭经验选取 正常 1e-5 到 1e-9左右都可以的
应用数学反问题,偏微分
6楼2015-06-09 10:47:47
已阅   回复此楼   关注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的回帖

minizhu

金虫 (小有名气)

引用回帖:
7楼: Originally posted by tyc13 at 2015-06-09 12:27:51
您好,我把c值设置为1e-6,可是条件数变成了NAN,附件是代码和运行结果。请问为什么?

代码.png

条件数.png
...

光从你给的这段代码 看不出来什么问题 主要与你的矩阵A的结构有关
应用数学反问题,偏微分
8楼2015-06-09 18:07:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 tyc13 的主题更新
信息提示
请填处理意见