天刀绑定点卷礼包:用c++解决牛顿法迭代求最小值问题
来源:百度文库 编辑:高校问答 时间:2024/04/29 19:06:54
#include <iostream.h>
#include <math.h>
double xplus1 (double);
double founction (double);
double founction1 (double);
main()
{
double xk;
cout << "Please input the value ";
cin >> xk;
while (founction1(xk)<0.00000001)
{
xk=xplus1(xk);
cout << "The x value is "<<xk<<"\n";
cout << "The value is "<<founction(xk);
}
system("pause");
return 0;
}
double xplus1 (double xk)
{
double xk1;
double f1;
double f2;
f2=12*xk*xk-54*xk+14;
f1=4*xk*xk*xk-27*xk*xk+14*xk+40;
xk1=xk-f1/f2;
return xk1;
}
double founction (double xk)
{
double fn;
fn=xk*xk*xk*xk-9*xk*xk*xk+7*xk*xk+40*xk*xk+25;
return fn;
}
double founction1 (double xk)
{
double fn1;
double fn11;
fn1=4*xk*xk*xk-27*xk*xk+14*xk+40;
fn11=fabs(fn1);
return fn11;
}
不知道为什么运行错误
#include <math.h>
double xplus1 (double);
double founction (double);
double founction1 (double);
main()
{
double xk;
cout << "Please input the value ";
cin >> xk;
while (founction1(xk)<0.00000001)
{
xk=xplus1(xk);
cout << "The x value is "<<xk<<"\n";
cout << "The value is "<<founction(xk);
}
system("pause");
return 0;
}
double xplus1 (double xk)
{
double xk1;
double f1;
double f2;
f2=12*xk*xk-54*xk+14;
f1=4*xk*xk*xk-27*xk*xk+14*xk+40;
xk1=xk-f1/f2;
return xk1;
}
double founction (double xk)
{
double fn;
fn=xk*xk*xk*xk-9*xk*xk*xk+7*xk*xk+40*xk*xk+25;
return fn;
}
double founction1 (double xk)
{
double fn1;
double fn11;
fn1=4*xk*xk*xk-27*xk*xk+14*xk+40;
fn11=fabs(fn1);
return fn11;
}
不知道为什么运行错误
- -b.....惭愧~~~