用牛顿切线法求方程f(x)=2x+sinx-4.18=0在区间[0,5]上的近似实根r,迭代初值自选,精确到0.0001.C++
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 04:26:54
用牛顿切线法求方程f(x)=2x+sinx-4.18=0在区间[0,5]上的近似实根r,迭代初值自选,精确到0.0001.C++
用牛顿切线法求方程f(x)=2x+sinx-4.18=0在区间[0,5]上的近似实根r,迭代初值自选,精确到0.0001.
C++
用牛顿切线法求方程f(x)=2x+sinx-4.18=0在区间[0,5]上的近似实根r,迭代初值自选,精确到0.0001.C++
#include
#include
void main()
{
void function1();//搜索法
void function2();//二分法
void function4();//牛顿法
int choice;
printf("请选择求解的方法:\n\t1.搜索法\n\t2.二分法\n\t3.牛顿法\n:");
switch(1)
{
case 1:function1();
case 2:function2();
case 4:function4();
}
}
void function1()//搜索法计算非线性方程的解
{
double expression1(double);
double lpoint=1.0,rpoint=2.0,step=0.0001;
while(expression1(lpoint)0.00001)
{
mpoint=(lpoint+rpoint)/2;
if(expression1(lpoint)*expression1(mpoint)0.00001)
{
x=x-expression1(x)/expression2(x);
}
printf("运用牛顿法所求结果:%f\n",x);
}
double expression1(double x)
{
double result;
result=x*x*x-x*x-1;
return result;
}
double expression2(double x)
{
double result;
result=3*x*x-2*x;
return result;
}