牛顿法方程求根程序.doc_第1页
牛顿法方程求根程序.doc_第2页
牛顿法方程求根程序.doc_第3页
牛顿法方程求根程序.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

牛顿迭代求方程 ,在 x0 = 1.5附近的近似实根。准确到小数点后4位数字为了方便计算函数值和函数的导数值,编制函数float function(float x)用于计算函数值,编制float derivative(float x)计算函数的一阶导数值。#include stdio.h#include math.hfloat function(float x)float f;f= x*(2*x-4)*x+3)-6;return f;float derivative(float x)float f;f= (6*x-8)*x+3;return f;void main()float x,x0,fx,f;x=1.5;dox0=x;fx=function(x0);f=derivative(x);x=x0-fx/f;while(fabs(x-x0)=1e-6);printf(The root is %f,x0);求方程 ,在 x0 = 2附近的近似实根。准确到小数点后4位数字计算步骤如下:(1)选x0=2,按照迭代公式计算x1;(2)若|x1-x0|0.00001 x0=x1; fun,dfun=fun0(x0); x1=x0-fun/dfun; i=i+1;enddisp(the solution is x1=)x1disp(the iter time is )i1 牛顿迭代法下面给出了Newton迭代法的计算程序function x=newton(fname,dfname,x0,e)%用途:Newton迭代法解非线性方程f(x)=0%格式:x=nanewton( fname,dfname,x0,e) x返回数值解,%fname和dfname分别表示f(x)及其导函数%f(x),x0为迭代初值,e精度要求(默认为1e-4)if narginex0=x;x=x0-feval(fname,x0)/feval(dfname,x0);end2 牛顿迭代法的实现及应用2.1 Newton迭代法具体例子的实现用Newton迭代法解方程 在1.5附近的根解:当时,即恒正,所以根在0,2.我们先用图解法找初值,在用Newton法程序newton.m求解fun= inline(x3+x2-3*x-3);fplot(fun,0,2);grid on;图 2.1 的函数图像 由图可知方程有唯一正根在1.6,1.8之间,我们取初值1.5代入Newton程序中dfun=inline(3*x2+2*x-3);format long;newton(fun,dfun,1.5,1e-4);format short;ans = 1.73205080756888而用Matlab本身的函数fzero求出来的结果为:format long;fzero(inline(x3+x2-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论