24小时热门版块排行榜    

查看: 1027  |  回复: 2
当前主题已经存档。

wutflash

[交流] 【求助】关于Mathematica求逆矩阵的问题(散射矩阵)

当我对一个比较大的矩阵求逆时,比如50*50的矩阵A,求逆为Inverse[A],但更多的时候会出现以下提示:
Inverse::luc: "Result for Inverse of badly conditioned matrix \
{{-3.93159*10^11-2.10656*10^9\ \
\[ImaginaryI],<<9>>,<<60>>},{2.95552*10^7+2.68316*10^7\ \
\[ImaginaryI],<<9>>,<<60>>},<<7>>,{<<1>>},<<60>>} may contain \
significant numerical errors."
这个意思好象是说矩阵是病态,求出来的逆矩阵不准确.事实也确实如此,我试了几次,求出的逆矩阵都有很大的误差,有的甚至到了可笑的地步.后来我又把程序中的小数点给消掉了,可那样计算太慢.现在真不知道该怎么解决.请高手帮帮忙,看是不是通过重新设定计算精度来解决,还是要通过其他的手段来解决.....能不能给出一个比较好的解决方案,谢谢了...

另外,我这是计算散射矩阵的程序,有用散射矩阵计算光子晶体透射系数的朋友可以和我一起讨论...呵呵....

[ Last edited by kuhailangyu on 2008-12-10 at 08:13 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★
灯塔守望者(金币+2,VIP+0):言之有理,谢谢
俺建议你还是对矩阵数据的来源多思考,不要什么都往软件里一抛。
如果能产生更“好”的矩阵数据,再来算逆矩阵,那将是有创造性的研究。
如果只是这么磨下去,最多只是个技术问题。
2楼2008-11-08 07:50:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wutflash

恩,多谢提醒,可现在我连这么一个小小的技术问题都解决不了...
3楼2008-11-10 16:06:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wutflash 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见