19.7192x^3 +295.788x^2 = 673.7341 一元三次方程求解,

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 18:45:05
19.7192x^3 +295.788x^2 = 673.7341 一元三次方程求解,

19.7192x^3 +295.788x^2 = 673.7341 一元三次方程求解,
19.7192x^3 +295.788x^2 = 673.7341 一元三次方程求解,

19.7192x^3 +295.788x^2 = 673.7341 一元三次方程求解,
假如给我们一个一般的三次方程:   ax3+3bx2+3cx+d=0 (1)   如果令   x=y-b/a   我们就把方程(1)推导成   y3+3py+2q=0 (2)   其中 3p=c/a-b2/a2,2q=2b3/a3-3bc/a2+d/a .   借助于等式   y=u-p/u   引入新变量u .把这个表达式带入(2),得到:   (u3)2+2qu3-p3=0 (3)   由此得   u3=-q±√(q2+p3),   于是   y=3√(-q±√(q2+p3))-p/3√(-q±√(q2+p3)) .   =3√(-q+√(q2+p3))+3√(-q-√(q2+p3)) .   (最后这个等式里的两个立方根的积等于-p .)
用此法代入求解,过程复杂,不宜展示

x=-1.596584
解析解我不会,我是利用高斯-赛德尔迭代法,通过c语言计算机程序运行出来的结果(精度为0.000000001)原代码如下:
#include
#include
main()
{
double x0=-1,x,t;
do
{
x=673.7341/(19.7...

全部展开

x=-1.596584
解析解我不会,我是利用高斯-赛德尔迭代法,通过c语言计算机程序运行出来的结果(精度为0.000000001)原代码如下:
#include
#include
main()
{
double x0=-1,x,t;
do
{
x=673.7341/(19.7192*x0*x0+295.788*x0);
t=x0;
x0=x;
}while(fabs(t-x0)>=0.000000001);
printf("\nx=%lf %lf",x0,19.7192*x0*x0*x0+295.788*x0*x0-673.7341);
}

收起