當前位置:編程學習大全網 - 編程軟體 - 如何編程解壹元三次方程

如何編程解壹元三次方程

(1)取兩個不同的點x1,x2,如果f(x1)和f(x2)符號相反,則(x1,x2)區間內必有壹個根。如果f(x1)和f(x2)同符號,則應改變x1,x2,直到f(x1)和f(x2)異號為止。註意x1和x2的值不應差太大,以保證(x1,x2)區間內只有壹根。

(2)連接(x1,f(x1))和(x2,f(x2))兩點,此線交x軸於x,x的坐標可以用下式求出:x=(x1*f(x2)-x2*f(x1))/f(x2)-f(x1),

再從x求出f(x);

(3)若f(x)和f(x1)同符號,則根必在(x,x2)內,此時將x作為新的x1;如果f(x)和f(x2)同符號,則表示根在(x1,x),此時將x作為新的x2。

(4)重復步驟(2)和(3),知道|f(x)|<e,e是壹個很小的數,例如10^-6;

程序如下:

#include<stdio.h>

#include<math.h>

float f(float x)

{

float y;

y=((x-5.0)*x+16.0)*x-80.0;

return y;

}

float xpoint(float x1,float x2)

{//求(x1,f(x1)和(x2,f(x2))連線與x軸的交點

float y;

y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));

return y;

}//xpoint函數

float root(float x1,float x2)

{

float x,y,y1;

y1=f(x1);

do

{

  • 上一篇:我的世界海底傳送門怎麽做 制作教程
  • 下一篇:電機壹般分為幾種形式。
  • copyright 2024編程學習大全網