解代数方程求得的根少于方程数目的疑问
我用roots命令解一个32次方程,怎么得出了22个根呢,应该是32个才对啊[ 本帖最后由 eight 于 2008-5-14 18:48 编辑 ] 原帖由 zigongzhb 于 2008-5-14 18:38 发表 http://www.chinavib.com/forum/images/common/back.gif
我用roots命令解一个32次方程,怎么得出了22个根呢,应该是32个才对啊
按理说是不应该出现这种现象的,能否把方程贴出来? p =
1.0e+089 *
Columns 1 through 11
0 0 0 0 0 0 0 0 0 0 -0.0000
Columns 12 through 22
0 0.0000 0 -0.0000 0 0.0000 0 -0.0000 0 0.0000 0
Columns 23 through 33
-0.0000 0 0.0000 0 -0.0000 0 0.0000 0 -0.0000 0 1.0211
>> size(p)
ans =
1 33
>> roots(p)
ans =
1.0e+006 *
1.4156 + 0.9161i
1.4156 - 0.9161i
-1.4156 + 0.9161i
-1.4156 - 0.9161i
1.1592 + 0.2301i
1.1592 - 0.2301i
-1.1592 + 0.2301i
-1.1592 - 0.2301i
0.7508 + 0.0031i
0.7508 - 0.0031i
-0.7508 + 0.0031i
-0.7508 - 0.0031i
0.2882
0.2771
-0.2882
-0.2771
0.0493
-0.0493
0.0189
-0.0189
0.0044
-0.0044 我也觉得纳闷,搞不懂。但如上,事实就发生了,是不是误差太大了 原帖由 zigongzhb 于 2008-5-14 20:19 发表 http://www.chinavib.com/forum/images/common/back.gif
我也觉得纳闷,搞不懂。但如上,事实就发生了,是不是误差太大了
看了上面给的多项式系数,前面的怎么都是零啊?估计是系数太接近零了吧 是啊,前面都是0,多项式的阶次就降了,解得到的根当然就少了.
从上面看,前面10个0有效数字为1位,故恒为0.
所以p的有效长度为23个,
根为22个,完全正解.
[ 本帖最后由 eight 于 2008-5-14 22:26 编辑 ] 多谢大侠哈,说得很有道理。可能是数据太大了,造成了前面的0.方程系数不是0的 原帖由 zigongzhb 于 2008-5-15 15:26 发表 http://www.chinavib.com/forum/images/common/back.gif
多谢大侠哈,说得很有道理。可能是数据太大了,造成了前面的0.方程系数不是0的
可不可以把这些系数同时除以一个数,将系数化为较小的数据,然后再求?
p =
1.0e+089 *
Columns 1 through 11
0 0 0 0 0 0 0 0 0 0 -0.0000
Columns 12 through 22
0 0.0000 0 -0.0000 0 0.0000 0 -0.0000 0 0.0000 0
Columns 23 through 33
-0.0000 0 0.0000 0 -0.0000 0 0.0000 0 -0.0000 0 1.0211
页:
[1]