C语言实现牛顿迭代法解方程详解

利用迭代算法解决问题,需要做好以下三个方面的工作:
一、确定迭代变量
在可以用迭代算法解决的问题中,我们可以确定至少存在一个可直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
二、建立迭代关系式
所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。
三、对迭代过程进行控制
在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析得出可用来结束迭代过程的条件。
接下来,我介绍一种迭代算法的典型案例----牛顿-拉夫逊(拉弗森)方法
牛顿-拉夫逊(拉弗森)方法,又称牛顿迭代法,也称牛顿切线法:先任意设定一个与真实的根接近的值x0作为第一次近似根,由x0求出f(x0),过(x0,f(x0))点做f(x)的切线,交x轴于x1,把它作为第二次近似根,再由x1求出f(x1),过(x1,f(x1))点做f(x)的切线,交x轴于x2,……如此继续下去,直到足够接近(比如|x- x0|<1e-6时)真正的根x*为止。
而f '(x0)=f(x0)/( x1- x0)
所以 x1= x0- f(x0)/ f ' (x0)。
我们来看一副从网上找到的图:
接下来,我们来看一个例子:
我们还是直接上代码:
例子:用牛顿迭代法求下列方程在值等于2.0附近的根:2x3-4x2+3x-6=0。
#include <stdio.h>
#include <math.h>
int main(void)
{
float x,x0,f,f1;
x = 2.0;
do{
x0=x;
f=2*x0*x0*x0-4*x0*x0+3*x0-6;
f1=6*x0*x0-8*x0+3;
x=x0-f/f1;
//函数fabs:求浮点数x的绝对值
//说明:计算|x|, 当x不为负时返回 x,否则返回 -x
}while(fabs(x-x0)>=1e-5);
printf ("%f\n",x);
return 0 ;
}
执行结果:
当x=1.5时,方程2x3-4x2+3x-6=0。附近的根为2.000000 。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# C语言实现牛顿迭代法
# C实现牛顿迭代法详解
# C语言实现牛顿迭代法解方程
# 迭代
# 求出
# 所需
# 拉夫
# 这是
# 是个
# 什么时候
# 两种
# 可以用
# 把它
# 我们可以
# 希望能
# 能让
# 解决问题
# 可以使用
# 不为
# 可直接
# 谢谢大家
# 来实现
# 可分为
相关文章:
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
定制建站流程步骤详解:一站式方案设计与开发指南
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
,怎么用自己头像做动态表情包?
如何规划企业建站流程的关键步骤?
如何快速查询网站的真实建站时间?
Swift中swift中的switch 语句
如何通过山东自助建站平台快速注册域名?
开封网站制作公司,网络用语开封是什么意思?
如何在IIS服务器上快速部署高效网站?
如何在万网自助建站中设置域名及备案?
如何在IIS中新建站点并配置端口与物理路径?
建站之星在线版空间:自助建站+智能模板一键生成方案
制作农业网站的软件,比较好的农业网站推荐一下?
css网站制作参考文献有哪些,易聊怎么注册?
建站之星CMS建站配置指南:模板选择与SEO优化技巧
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
建站之星后台密码如何安全设置与找回?
常州自助建站费用包含哪些项目?
如何通过网站建站时间优化SEO与用户体验?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
常州自助建站工具推荐:低成本搭建与模板选择技巧
内部网站制作流程,如何建立公司内部网站?
建站之星如何一键生成手机站?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
视频网站制作教程,怎么样制作优酷网的小视频?
如何在阿里云ECS服务器部署织梦CMS网站?
如何用免费手机建站系统零基础打造专业网站?
如何挑选优质建站一级代理提升网站排名?
如何在云主机上快速搭建多站点网站?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
电商平台网站制作流程,电商网站如何制作?
宝塔面板如何快速创建新站点?
在线制作视频网站免费,都有哪些好的动漫网站?
如何通过cPanel快速搭建网站?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
C++中引用和指针有什么区别?(代码说明)
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
如何在云服务器上快速搭建个人网站?
网站企业制作流程,用什么语言做企业网站比较好?
如何选择CMS系统实现快速建站与SEO优化?
ui设计制作网站有哪些,手机UI设计网址吗?
如何在建站之星网店版论坛获取技术支持?
音响网站制作视频教程,隆霸音响官方网站?
如何正确选择百度移动适配建站域名?
c++怎么用jemalloc c++替换默认内存分配器【性能】
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
*请认真填写需求信息,我们会在24小时内与您取得联系。