声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1510|回复: 4

[编程技巧] 请教多项式求根遇到的问题

[复制链接]
发表于 2012-12-3 20:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
今天,求解一个多项式的根,但是将解出来的数值回带到原多项式后发现其数值不为0,下面为原程序:
x=[3.22524513*10^50,1.145672209*10^52,8.14575459*10^52,8.4602264*10^52,6.68008859*10^53,4.955852*10^52,2.67552728*10^54,-1.763447308*10^54,3.044995452*10^54,-1.245676783*10^54,1.017462470*10^54,2.007404536*10^53,9.635799242*10^52],
y=roots(x),
得到的解为:  24.7525   12.4607    -1.5868 + 1.9261i  -1.5868 - 1.9261i   0.2783 + 1.8979i  0.2783 - 1.8979i   0.2841 + 0.7020i   0.2841 - 0.7020i  0.0538 + 0.5245i  0.0538 - 0.5245i  0.1250 + 0.4995i 0.1250 - 0.4995i
将24.7525回带:polyval(x,24.7525),得到的值为: -1.6360e+061
请大大们帮忙看下这是为什么。用maple也解了一下,发现答案是一样的。
回复
分享到:

使用道具 举报

发表于 2012-12-4 09:38 | 显示全部楼层
你的多项系数太大了,应该是舍入误差造成的
参考http://www.mathworks.cn/support/ ... ml?solution=1-15ROS
 楼主| 发表于 2012-12-4 09:49 | 显示全部楼层

谢谢了,这个多项式是一个7维含参的行列式展开得到的,不知道有没有什么好的解法?
发表于 2012-12-4 10:06 | 显示全部楼层
vettelkimi 发表于 2012-12-4 09:49
谢谢了,这个多项式是一个7维含参的行列式展开得到的,不知道有没有什么好的解法?

找其他算法看看,比如二分法之类的
发表于 2012-12-4 17:40 | 显示全部楼层
换算法吧
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-17 01:16 , Processed in 0.086515 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表