设计一个算法,求方程X^2-4X+2=0在(3,4)之间的近似根
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/10 14:32:13
设计一个算法,求方程X^2-4X+2=0在(3,4)之间的近似根
精确度为10^-4
精确度为10^-4
1.可以看出,对函数f(x)=x^2-4x+2来说,当x在3,4之间时,f(x)是单调递增的。
2.使用黄金分割法,将上限(UpBound)设为4,下限(LowBound)设为3,容限值(Tolerance)设为10^-4,最好也加一个迭代次数(Iteration),默认可以设个100,根据结果做调整,如果不加迭代而使用无限循环的话,一不小心就会是个死循环。
3.好了,唯一的问题就是什么是黄金分割法了,你可以去搜索一下,到处都有C的源码下载。说一下思路:x在下限A---上限B间取值,求f(x)的值,目标是0,因为容限值是10^-4,将每次猜的x代入f(x)进行计算,得出的结果与目标值和容限值进行比较,符合要求,就停止。如何猜,就是分别取AB的黄金分割点的值,如3---4,那么这两个值就是x1=3+(4-3)*0.618和x2=4-(4-3)*0.618,这里的0.618就是黄金分割算子,注意,取0.618可能精度不够,必要时小数点可以多取几位以提高精度,0.6180339885。
x1,x2有了,分别代入f(x)算个值,再将计算的结果与目标和容限值比较,若x1更接近就将x2设为新的上限,下限A不变;若x2更接近就将x1设为新的下限,上限B不变。进入下一轮循环。总的来说,收敛效果还行。
附一个黄金分割算法,没仔细看正确不正确,但思路有了,如果有错的,自已改对了就行。
#include
#include
#define f(t) (8*pow(t,3)-2*pow(t,2)-7*t+3)
#define eps pow(10,-6)
void sb(double *a,double *b)
{
double t0,t1,t,h,alpha,f0,f1;
int k=0;
printf("请输入初始点t0=");
scanf("%lf",&t0);
printf("\n请输入初始步长h=");
scanf("%lf",&h);
printf("\n请输入加步系数alpha(需大于1)=");
scanf("%lf",α);
f0=f(t0);
t1=t0+h;
f1=f(t1);
while(1)
{
printf("\nf1=%lf,f2=%lf,t0=%lf,t=%lf,h=%lf,k=%d",f0,f1,t0,t1,h,k);
if(f1
2.使用黄金分割法,将上限(UpBound)设为4,下限(LowBound)设为3,容限值(Tolerance)设为10^-4,最好也加一个迭代次数(Iteration),默认可以设个100,根据结果做调整,如果不加迭代而使用无限循环的话,一不小心就会是个死循环。
3.好了,唯一的问题就是什么是黄金分割法了,你可以去搜索一下,到处都有C的源码下载。说一下思路:x在下限A---上限B间取值,求f(x)的值,目标是0,因为容限值是10^-4,将每次猜的x代入f(x)进行计算,得出的结果与目标值和容限值进行比较,符合要求,就停止。如何猜,就是分别取AB的黄金分割点的值,如3---4,那么这两个值就是x1=3+(4-3)*0.618和x2=4-(4-3)*0.618,这里的0.618就是黄金分割算子,注意,取0.618可能精度不够,必要时小数点可以多取几位以提高精度,0.6180339885。
x1,x2有了,分别代入f(x)算个值,再将计算的结果与目标和容限值比较,若x1更接近就将x2设为新的上限,下限A不变;若x2更接近就将x1设为新的下限,上限B不变。进入下一轮循环。总的来说,收敛效果还行。
附一个黄金分割算法,没仔细看正确不正确,但思路有了,如果有错的,自已改对了就行。
#include
#include
#define f(t) (8*pow(t,3)-2*pow(t,2)-7*t+3)
#define eps pow(10,-6)
void sb(double *a,double *b)
{
double t0,t1,t,h,alpha,f0,f1;
int k=0;
printf("请输入初始点t0=");
scanf("%lf",&t0);
printf("\n请输入初始步长h=");
scanf("%lf",&h);
printf("\n请输入加步系数alpha(需大于1)=");
scanf("%lf",α);
f0=f(t0);
t1=t0+h;
f1=f(t1);
while(1)
{
printf("\nf1=%lf,f2=%lf,t0=%lf,t=%lf,h=%lf,k=%d",f0,f1,t0,t1,h,k);
if(f1
用二分法设计一个求方程x二次方=2的近似解的算法.
设计一个算法,求方程x的平方减4x加2等于零在3到4区间的近似根,精度为10的负四次方,算法和步骤用自然语言描述
设计一个算法框图求函数f(x)=2^x在x=1/2的近似解
用二分法求方程x^3-2x-3=0在区间[1,2]内一个近似解的算法伪代码(误差不超过0.001)
写出一个用二分法求方程2 x =x 3 的近似解(精确到0.0001)的算法。
设计一个算法框图,求函数f(x)=2^x在x=1/2的近似解(精度为0.01
可以设计一个算法让它用二分法求方程x-2sinx=0的一个近似解吗?
用二分法求方程x^2-2=0的近似根的算法
用二分法求方程x^2-2=0的近似根(精确到0.005)的算法
写出用“二分法”求方程x^2 - 2 = 0(x>0)的近似解的算法.
写出用二分法求方程x^3/6+x^2/2+x=2在【1,2】内的一个近似解(精确度为0.1)的一个算法
写出用二分法求方程(x^3)\6+(x^2)\2+x=2在[1,2]累的一个近似解(精确度为0.1)的一个算法,并用循环