导航:首页 > 编程语言 > 牛顿迭代法c代码

牛顿迭代法c代码

发布时间:2023-08-12 20:11:33

㈠ 牛顿迭代法的C语言代码

doublefunc(doublex)//函数{returnx*x*x*x-3*x*x*x+1.5*x*x-4.0;}doublefunc1(doublex)//导函数{return4*x*x*x-9*x*x+3*x;}intNewton(double*x,doubleprecision,intmaxcyc)//迭代次数{doublex1,x0;intk;x0=*x;for(k=0;k<maxcyc;k++){if(func1(x0)==0.0)//若通过初值,函数返回值为{printf(迭代过程中导数为0! );return0;}x1=x0-func(x0)/func1(x0);//进行牛顿迭代计算if(fabs(x1-x0)<precision||fabs(func(x1))<precision)//达到结束条件{*x=x1;//返回结果return1;}else//未达到结束条件x0=x1;//准备下一次迭代}printf(迭代次数超过预期! );//迭代次数达到,仍没有达到精度return0;}intmain(){doublex,precision;intmaxcyc;printf(输入初始迭代值x0:);scanf(%lf,&x);printf(输入最大迭代次数:);scanf(%d,&maxcyc);printf(迭代要求的精度:);scanf(%lf,&precision);if(Newton(&x,precision,maxcyc)==1)//若函数返回值为1printf(该值附近的根为:%lf ,x);else//若函数返回值为0printf(迭代失败! );getch();return0;}

㈡ C语言程序设计 迭代法

给你一点提示。
牛顿迭代法要计算
(1)
y1=f(x)

x
的函数值
(2)
d1=f(x)
的一阶导数

x
的值
你可以写两个函数,分别计算y1,d1
如果一阶导数有解析解,则可用赋值语句,否则要写数值解子程序。
步骤:
设解的精度,例
float
eps=0.000001;
设x初值,x1;
算y1=f(x1);
迭代循环开始
算一阶导数

x1
的值
d1
用牛顿公式
算出
x2;
[x2
=
x1
-
y1
/
d1]
如果
fabs(x2-x1)
>
eps
则从新迭代
--
用新的函数值和一阶导数值推下一个
新x.

阅读全文

与牛顿迭代法c代码相关的资料

热点内容
linux读取文件整个过程 浏览:577
百信集团的网站叫什么名字 浏览:67
开发解压app理念是什么 浏览:128
linux源代码路径 浏览:854
美图2root后不能升级了 浏览:133
shell文件size 浏览:350
通过大数据查干部哪些内容 浏览:78
如何编程输出一个数的十位数 浏览:760
9月7日苹果发布会 浏览:150
u盘里文件打开都是乱码怎么办 浏览:402
文件管理里可以复制 浏览:60
怎么断数据源 浏览:371
linux文件夹递归赋权 浏览:103
阻止U盘写入特定后缀文件 浏览:8
车载gps端口检测工具 浏览:244
多重网络取消合并 浏览:876
哪个APP看电影删减的少 浏览:160
苹果6进水读不了卡什么原因 浏览:68
网盘文件怎么提取到笔记软件里 浏览:136
java解析简单json数据类型 浏览:750

友情链接