24小时热门版块排行榜    

查看: 3390  |  回复: 10

mathstudy

金虫 (正式写手)


[交流] matlab 求解线性方程组Ax=b

x=inv(A)*b;和x=A\b;和迭代法  有什么区别? 前面两个求 A逆 的是基于什么?
回复此楼

» 猜你喜欢

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

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

tiancanrong

金虫 (小有名气)



小木虫: 金币+0.5, 给个红包,谢谢回帖
如果你要知道inv(A)*b与Gauss 消元法的区别,就要知道计算机运算和你自己用笔算是有区别的。你用笔算可以用分数,理论上是没有误差的;然而计算机运算时受限于数的精度,理论上是有误差的。所以同样的题目,计算机用不同的算法就是误差或效率会有差别。另外说一句,inv(A)也需要很复杂的计算的,Gauss消去法也需要条件的。当然了,由于现在电脑的软硬件都很先进了,一般的方程随便什么方法解都没区别了。
5楼2014-02-08 22:00:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tiancanrong

金虫 (小有名气)



小木虫: 金币+0.5, 给个红包,谢谢回帖
我大致看了一下matlab help,A\b 根据A的情况用到几种不同的算法,如果A是一个方阵,b是一个列向量,此时Ax=b就是你说的线性方程组,\用的算法就是Gauss消去法;如果A不是方阵,那么Ax=b就是一个矩阵方程,其实这时候精确解不一定存在,matlab中的\就用了最小二乘法的思想求了一个近似的x(也可称为广义解),算法是QR分解。

可以这个简单理解,inv(A)*b是A\b的一种特殊情况(线性方程组时),但是A\b更强大,可以求出广义解。
在计算线性方程组Ax=b时,inv(A)*b和A\b用的数值算法都是Gauss消去法。至于你说的效率,A\b由于考虑的情况比较庞大,调用的时候稍微会慢一点,我不认为有质的区别。
7楼2014-02-09 12:15:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

小木虫: 金币+0.5, 给个红包,谢谢回帖
A=[……],  b=[……],  s=rref([A,b])为佳,如果非满秩,也可知道。
2楼2014-02-07 13:28:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

戴钢盔的猪头

木虫 (知名作家)



小木虫: 金币+0.5, 给个红包,谢谢回帖
如果A不是方阵,它的逆是不存在的。这时inv(A)无法用,但可以用广义逆pinv(A)。而A\b何时都可用。

[ 发自手机版 http://muchong.com/3g ]
3楼2014-02-07 17:09:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mathstudy

金虫 (正式写手)


A是可逆方阵, 我想请教的的是  A\b 和 inv(A)*b 中 他们求A逆的 原理 有什么区别, 为什么  A\b比 inv(A)*b 的效率高? 另外  如果是 Gauss 消元法呢?
4楼2014-02-07 19:11:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mathstudy

金虫 (正式写手)


引用回帖:
5楼: Originally posted by tiancanrong at 2014-02-08 22:00:36
如果你要知道inv(A)*b与Gauss 消元法的区别,就要知道计算机运算和你自己用笔算是有区别的。你用笔算可以用分数,理论上是没有误差的;然而计算机运算时受限于数的精度,理论上是有误差的。所以同样的题目,计算机用 ...

那  inv(A)*b与 Gauss 和A\b 三者  在matlab 上面的效率为什么不一样?  他们在 matlab 上的运行方式有什么区别? (比如说 A\b 可能是基于LU 分解而求解方程的)
6楼2014-02-09 08:47:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mathstudy

金虫 (正式写手)


引用回帖:
7楼: Originally posted by tiancanrong at 2014-02-09 12:15:12
我大致看了一下matlab help,A\b 根据A的情况用到几种不同的算法,如果A是一个方阵,b是一个列向量,此时Ax=b就是你说的线性方程组,\用的算法就是Gauss消去法;如果A不是方阵,那么Ax=b就是一个矩阵方程,其实这时 ...

谢谢啊.....但是我的运行结果显示  A\b比自己的Gauss程序快很多
8楼2014-02-09 19:33:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tiancanrong

金虫 (小有名气)



小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
8楼: Originally posted by mathstudy at 2014-02-09 19:33:04
谢谢啊.....但是我的运行结果显示  A\b比自己的Gauss程序快很多...

你自己编的Gauss程序,和matlab自带的程序库里的Gauss算法调用的方式应该有区别的,亲儿子当然快一点。另外问一下,你如何测试程序的快慢的?为什么要测试快慢?

[ Last edited by tiancanrong on 2014-2-10 at 12:26 ]
9楼2014-02-10 12:14:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mathstudy

金虫 (正式写手)


引用回帖:
9楼: Originally posted by tiancanrong at 2014-02-10 12:14:12
你自己编的Gauss程序,和matlab自带的程序库里的Gauss算法调用的方式应该有区别的,亲儿子当然快一点。另外问一下,你如何测试程序的快慢的?为什么要测试快慢?
...

好吧  谢过了    测试时间的话 可以用cpu时间啊.  有的时候还是注重算法的快慢的...
10楼2014-02-12 13:43:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cced_1998

木虫 (小有名气)



小木虫: 金币+0.5, 给个红包,谢谢回帖
It takes almost two and one half times as long to compute the solution with y = inv(A)*b as with z = A\b. Both produce computed solutions with about the same error, 1.e-6, reflecting the condition number of the matrix. But the size of the residuals, obtained by plugging the computed solution back into the original equations, differs by several orders of magnitude. The direct solution produces residuals on the order of the machine accuracy, even though the system is badly conditioned.

The behavior of this example is typical. Using A\b instead of inv(A)*b is two to three times as fast and produces residuals on the order of machine accuracy, relative to the magnitude of the data.
11楼2016-03-31 21:37:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 mathstudy 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] [复试调剂]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
[考研] 211本,11408一志愿中科院277分,曾在中科院自动化所实习 +3 Losir 2026-03-12 4/200 2026-03-16 21:52 by Losir
[考研] 环境工程调剂 +6 大可digkids 2026-03-16 6/300 2026-03-16 17:16 by barlinike
[考研] 283求调剂 +10 小楼。 2026-03-12 14/700 2026-03-16 16:08 by 13811244083
[考研] 中科院材料273求调剂 +4 yzydy 2026-03-15 4/200 2026-03-16 15:59 by Gaodh_82
[考研] 277材料科学与工程080500求调剂 +3 自由煎饼果子 2026-03-16 3/150 2026-03-16 14:10 by 运气yunqi
[考研] 材料与化工 323 英一+数二+物化,一志愿:哈工大 本人本科双一流 +4 自由的_飞翔 2026-03-13 5/250 2026-03-14 19:39 by hmn_wj
[考研] 学硕285求调剂 +13 Wisjxn 2026-03-12 46/2300 2026-03-14 10:33 by JourneyLucky
[考研] 271求调剂 +10 生如夏花… 2026-03-11 10/500 2026-03-14 00:35 by 卖报员小雨
[考研] b区环境工程求调剂 +4 Maps1 2026-03-10 6/300 2026-03-14 00:23 by JourneyLucky
[考研] 26考研调剂 +3 ying123. 2026-03-10 3/150 2026-03-14 00:18 by JourneyLucky
[考研] 材料与化工求调剂一志愿 985 总分 295 +8 dream…… 2026-03-12 8/400 2026-03-13 22:17 by 星空星月
[考研] 工科,求调剂 +3 我887 2026-03-11 3/150 2026-03-13 21:39 by JourneyLucky
[考研] 315求调剂 +9 小羊小羊_ 2026-03-11 10/500 2026-03-13 21:13 by SXNU李老师
[考研] 281求调剂 +9 Koxui 2026-03-12 11/550 2026-03-13 20:50 by Koxui
[考研] 285化工学硕求调剂(081700) +6 柴郡猫_ 2026-03-12 6/300 2026-03-13 20:46 by hmn_wj
[考研] 【考研调剂求收留】 +3 Ceciilia 2026-03-11 3/150 2026-03-13 20:18 by JourneyLucky
[考研] 材料专硕350 求调剂 +4 王金科 2026-03-12 4/200 2026-03-13 16:02 by ruiyingmiao
[考研] 277求调剂 +4 anchor17 2026-03-12 4/200 2026-03-13 11:15 by 白夜悠长
[考研] 283求调剂,材料、化工皆可 +8 苏打水7777 2026-03-11 10/500 2026-03-13 09:06 by Linda Hu
信息提示
请填处理意见