五七一八工厂有军人吗:三次方程根的 算法

来源:百度文库 编辑:高考问答 时间:2024/04/29 23:28:53
不好意思!我是菜鸟!出学数值分析!就遭难题!
请高手帮帮忙!
谢谢啊!
可以给个程序吗?

只能用迭代的方法去逼近. 可以用二分法, 也可以用牛顿法.

关于补充:

二分法: 如 x^3 + x + 1= 0, 你可以看到 如果 x = 1, x^3 + x + 1 = 3 > 0; 如果 x = -1, x^3 + x + 1 = -1 < 0. 所以解一定在二者之间. 取中点, 令 x = 0, 则 x^3 + x + 1 = 1 > 0, 可见 解一定在 -1 与 0 之间. 再令 x = -0.5, 依此类推. 这个过程无限循环下去, 就可以逼近方程的解. 当然实际解的时候, 不会是无限的循环, 只要两次的x值之差小于你容许的误差范围就可以终止了.

牛顿法: 设方程可表示为f(x), 解即为它与x轴的交点. 如它在定义域内有一阶导数, 为f'(x). 取一个初值x0, 在该点的函数值为y0, 则过该点的切线与x轴的交点一定比x0更接近方程的解. 其x值为 x1 = x0 - y0/f'(x0). 下次再以横坐标为x1的点进行上述计算, 如此重复下去, 也可求得x的解. 仍以上述方程为例. 设y = x^3 + x + 1, 则它的导数为 y' = 3x^2 + 1, 当 x0 = 1 时, y0 = 3, 不是方程的解; 此时y' = 4; 算出下一个 x 值为 x1 = x0 - y0/y'0 = 1 - 3/4 = 1/4; 代入, 得 y1 = 91/64, 仍不是方程的解。此时y'1 = 19/16, 继续计算 x2 = 1/4 - (91/64) / (19/16) = 1/4 - 91/76. 如此进行下去直至 y 值等于或接近 0 为止。
我没有给程序,因为不知你用什么语言,而且你用的语言我也不一定会;再者,现编肯定有bug。

对于四次以下的方程,是有公式解的。
参考这个
http://duyuany.51.net/soft/jfc.rar

二分法, 逼近法, 高次也可以