C++才是主流语言。。
你是建模用的吗?那可根据语法稍加修改,这个编程实现的难度不大。
#include
using namespace std;
static int count=1;
double f(double x)
{
return (x*x*x-x-1);
}
int main()
{
double x0,x1,x2;
double e=0.00001;
cout<<"请输入两个初值X0,X1"<
x2=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
while(x2-x1>e||x1-x2>e)
{
x0=x1;
x1=x2;
x2=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
count+=1;
}
cout<<"方程的根为:"<
}
#include
#include
using namespace std;
double f(double t0)
{ double t=t0+1;
return pow(t,1.0/3);
}
int main()
{
double a,b,x0,x1,e;
static int count=1;
cout<<"请输入A,B的值"<
cout<<"请输入E的值"<
x0=(a+b)/2;
x1=f(x0);
while((x1-x0)>e||(x0-x1)>e)
{
count+=1;
x0=x1;
x1=f(x0);
}
cout<<"方程的根为:"<
}
#include
using namespace std;
static k=0;
static int count=1;
double newt(double x)
{
return (x*x*x-x-1);
}
int main()
{
double x0,x1,x2;
cout<<"请输入两个初值X0,X1"<
x2=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
while(x2-x1>e||x1-x2>e)
{
x0=x1;
x1=x2;
x2=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
count+=1;
}
cout<<"方程的根为:"<
}
牛顿迭代法是求方程根的重要方法之一,,方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。另外该方法广泛用于计算机编程中。
简单迭代法又称逐次迭代法,基本思想是构造不动点方程,以求得近似根。即由方程f(x)=0变换为x=F(x), 然后建立迭代格式
弦截法计算x(k+1)时需要利用前两步信息x(k),x(k-1).免去了Newton法中需要求解一阶导函数的繁琐.
但收敛速度比牛顿法要慢