收藏 分销(赏)

用牛顿迭代法求解非线性方程.doc

上传人:xrp****65 文档编号:9855425 上传时间:2025-04-10 格式:DOC 页数:4 大小:81.50KB 下载积分:10 金币
下载 相关 举报
用牛顿迭代法求解非线性方程.doc_第1页
第1页 / 共4页
用牛顿迭代法求解非线性方程.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
数值分析实验报告(一) 实验名称 用牛顿迭代法求解非线性方程 实验时间 2011年 11 月 19日 姓名 班级 学号 成绩 一、实验目的 1.了解求解非线性方程的解的常见方法。 2.编写牛顿迭代法程序求解非线性方程。 二、实验内容 分别用初值,和求,要求精度为。 三、实验原理 设,则,记f(x)= ,问题便成为了求 -113=0的正根; 用牛顿迭代公式得,即 (其中=0,1,2,3,…,) 简单推导 假设f(x)是关于X的函数: 求出f(x)的一阶导,即斜率: 简化等式得到: 然后利用得到的最终式进行迭代运算直至求到一个比较精确的满意值。 如果f函数在闭区间[a,b]内连续,必存在一点x使得f(x) = c,c是函数f在闭区间[a,b]内的一点 我们先猜测一X初始值,然后代入初始值,通过迭代运算不断推进,逐步靠近精确值,直到得到我们主观认为比较满意的值为止。 回到我们最开始的那个”莫名其妙”的公式,我们要求的是N的平方根,令x2 = n,假设一关于X的函数f(x)为: f(X) = X2 - n 求f(X)的一阶导为: f'(X) = 2X 代入前面求到的最终式中: Xk+1 = Xk - (Xk2 - n)/2Xk 化简即得到我们最初提到求平方根的迭代公式: 四、实验步骤 1.根据实验题目,给出题目的C程序。 当初值为0.01、10、300时,即x=0.01,10,300 分别应用程序: #include "stdio.h" int main() { float number; printf("Please input the number:"); scanf("%f", &number); float x=1; int i; for (i=0;i<1000;i++) { x = (x + number/x)/2; } printf("The square root of %f is %8.5f\n", number ,x); } 得出结果 2.上机输入和调试自己所编的程序。 当x=0.01时,结果为:10.63015 x=10时,结果为:10.63015 x=300时,结果也为:10.63015 3.实验结果分析。 当初值取0.01、10、300时取不同的初值得到同样的结果10.63015。 五、程序 #include "stdio.h" int main() {float number; printf("Please input the number:"); scanf("%f", &number); float x=1; int i; for (i=0;i<1000;i++) { x = (x + number/x)/2; } printf("The square root of %f is %8.5f\n", number ,x); } 六、实验结果及分析 实验结果: 当x=0.01时,结果为:10.63015 x=10时,结果为:10.63015 x=300时,结果也为:10.63015 实验结果分析: 取不同的初值得到同样的结果 用牛顿迭代法求解非线性方程是一种逐次逼近法,迭代过程的实质上是一个逐步显示化的过程。但迭代法的效果并不是总令人满意,有些隐式方程的迭代过程事发散的,一个发散的迭代过程,计算也比较复杂,但它的收敛速度比较快。 4
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服