用迭代法求方程 x3-x-1=0在x=1.5附近的根。 要求:首先把方程变换为迭代公式:x= ,用1.5作迭代的初值,结
2个回答
展开全部
将方程改写成:xi+1 = (xi + 1) ^ (1/3)。
#include <stdio.h>
#include <math.h>
int main( )
{
double x = 1.5, x0; /*给定初始近似值*/
do /* 迭代*/
{
x0 = x;
x = pow(x0 + 1, 1.0 / 3);
} while (fabs(x - x0) >= 1e-6);
printf("The root of equation is x =%lf\n", x);
}
简介
迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。迭代算法是用计算机解决问题的一种基本方法,它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行。
在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值,迭代法又分为精确迭代和近似迭代。比较典型的迭代法如“二分法”和"牛顿迭代法”属于近似迭代法。
展开全部
将方程改写成:xi+1 = (xi + 1) ^ (1/3)
#include <stdio.h>
#include <math.h>
int main( )
{
double x = 1.5, x0; /*给定初始近似值*/
do /* 迭代*/
{
x0 = x;
x = pow(x0 + 1, 1.0 / 3);
} while (fabs(x - x0) >= 1e-6);
printf("The root of equation is x =%lf\n", x);
}
#include <stdio.h>
#include <math.h>
int main( )
{
double x = 1.5, x0; /*给定初始近似值*/
do /* 迭代*/
{
x0 = x;
x = pow(x0 + 1, 1.0 / 3);
} while (fabs(x - x0) >= 1e-6);
printf("The root of equation is x =%lf\n", x);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询