用牛顿迭代法求方程2x^3-4x^2+3x-6=0在1.5附近的解,要求误差小于1e-5

本文详细介绍了使用牛顿迭代法求解方程近似解的过程。通过迭代公式,从一个初始近似解开始,逐步逼近真实解,直到满足预设的精度条件。代码示例展示了如何实现这一算法。

分析:

迭代法,先任意给定一个接近真实解的近似解x,并求出f(x),再过点(x,f(x))作f(x)的切线,交x轴于x1,它作为再一次的近似解,再算x1的函数值,再过点做切线交于x轴得x2...........以此类推,知道足够接近真实解(或两次近似解之间的误差足够小)为止。

 

#include <stdio.h>
#include <math.h>
int main()
{
	float x0, x, f, f1;
	printf("请输入一个近似解:");
	scanf("%f", &x);                                  //输入初始近似解,作为迭代的始基

	do
	{
		x0 = x;                                        //临时保存第一次输入的近似值,方便最后对比误差
		f = ((2 * x - 4) * x + 3)*x - 6;                //求出f(x)的值
		f1 = (6 * x - 8)*x + 3;                        //求出f(x)的导数在x的值
		x = x - f / f1;                                 //迭代公式,计算本次迭代的结果
	} while (fabs(x - x0) >= 1e-5);

	printf("牛顿迭代法求得的方程近似解:%.4f\n", x);

	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值