1.功能

本程序采用牛顿法,求实系数高次代数方程

f(x)=a0xn+a1xn-1+…+an-1x+an=0 (an≠0 )          (1)

的在初始值x0附近的一个根。

2.使用说明

(1)函数语句

Y=NEWTON_1(A,N,X0,NN,EPS1)

调用M文件newton_1.m。

(2)参数说明

A     n+1元素的一维实数组,输入参数,按升幂存放方程系数。

N   整变量,输入参数,方程阶数。

X0    实变量,输入参数,初始迭代值。

NN  整变量,输入参数,允许的最大迭代次数。

EPS1 实变量,输入参数,控制根的精度。

3.方法简介

解非线性议程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。把f(x)在x0点附近展开成泰勒级数

f(x)=f(x0)+(x-x0)fˊ(x0)+(x-x0)2 +…

取其线性部分,作为非线性方程f(x)=0的近似方程,则有

f(x0)+fˊ(x0)(x-x0)=0

设fˊ(x0)≠0则其解为

x1=x0-f(x0)/fˊ(x0)

再把f(x)在x1附近展开成泰勒级数,也取其线性部分作f(x)=0的近似方程。若f(x1)≠0,则得

x2=x1-f(x1)/fˊ(x1)

这样,得到牛顿法的一个迭代序列

xn+1=xn-f(xn)/fˊ(xn)

4.newton_1.m程序

function y=newton_1(a,n,x0,nn,eps1)

x(1)=x0;

b=1;

i=1;

while(abs(b)>eps1*x(i))

i=i+1;

x(i)=x(i-1)-n_f(a,n,x(i-1))/n_df(a,n,x(i-1));

b=x(i)-x(i-1);

if(i>nn)error(ˊnn is fullˊ);

return;

end

end

y=x(i);

i

程序中调用的n_f.m和n_df.m文件如下:

function y=n_f(a,n,x)%待求根的实数代数方程的函数
y=0.0;
for i=1:(n+1)
y=y+a(i)*x^(n+1-i);
end

function y=n_df(a,n,x)%方程一阶导数的函数
y=0.0;
for i=1:n
y=y+a(i)*(n+1-i)*x^(n-i);
end

5.程序附注

(1)程序中调用n_f.m和n_df.m文件。n_f.m是待求根的实数代数方程的函数,n_df.m是方程一阶导数的函数。由使用者自己编写。

(2)牛顿迭代法的收敛速度:如果f(x)在零点附近存在连续的二阶微商,ξ是f(x)的一个重零点,且初始值x0充分接近于ξ,那么牛顿迭代是收敛的,其收敛速度是二阶的,即平方收敛速度。

6.例题

用牛顿法求下面方程的根

f(x)=x3+2x2+10x-20

7.运行结果

>>a=[1,2,10,-20] ;

>>n=3;

>>x0=1;

>>nn=1000;

>>eps1=1e-8;

>>y=newton_1(a,n,x0,nn,eps1)

y=

1.368808107821373e+000

i=

6

牛顿迭代法 matlab程序相关推荐

  1. 数值分析牛顿法 matlab,科学网—数值分析--非线性函数牛顿迭代法matlab程序 - 殷春武的博文...

    %%%程序编写者  西北工业大学自动化学院    Email: yincwxa2013@mail.nwpu.edu.cn %%  All rights reserved clear clc x0=in ...

  2. 牛顿迭代法例题 matlab,牛顿迭代法-matlab程序(解线性方程组)

    牛顿迭代法 matlab程序(解线性方程组) 作者:佚名来源:转载发布时间:2009-3-7 16:55:53 减小字体 增大字体 1.功能 本程序采用牛顿法,求实系数高次代数方程 f(x)=a0xn ...

  3. 牛顿迭代法解线性方程matlab程序,牛顿迭代法matlab程序(解线性方程组)

    <牛顿迭代法matlab程序(解线性方程组)>由会员分享,可在线阅读,更多相关<牛顿迭代法matlab程序(解线性方程组)(4页珍藏版)>请在金锄头文库上搜索. 1.牛顿迭代法 ...

  4. 用matlab求不动点迭代,科学网—数值分析--非线性方程组不动点迭代法matlab程序 - 殷春武的博文...

    %%%程序编写者  西北工业大学自动化学院    Email: yincwxa2013@mail.nwpu.edu.cn %%  All rights reserved clear clc x1=in ...

  5. 牛顿迭代法-matlab实现

    牛顿迭代法-matlab实现 牛顿迭代法简介: 牛顿迭代法又称为切线法,简单来说就是不断求切线与x轴的交点,来逐渐接近解的迭代过程.方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的 ...

  6. 牛顿插值法 matlab m文件,牛顿插值法matlab程序

    <牛顿插值法matlab程序>由会员分享,可在线阅读,更多相关<牛顿插值法matlab程序(3页珍藏版)>请在人人文库网上搜索. 1.计算方法数值实验报告班级090712学号0 ...

  7. 艾特肯法方程解matlab程序,牛顿迭代法matlab代码

    牛顿法 迭代公式: x(k1) xk [2 f (x(k) )]1f (x(k) ) Matlab 代码: function [x1,k] =newton(x1,eps) hs=inline('(x ...

  8. 求平方根的牛顿迭代matlab程序,牛顿迭代法求平方根

    牛顿迭代法的作用是使用迭代法来求解函数方程的根,简单的说就是不断地求取切线的过程.对于形如f(x)=0的方程,首先任意的估算一个解x0,再把该估计值代入原方程中.由于一般不会正好选择到正确的解,所以有 ...

  9. 非线性方程组牛顿迭代法matlab,matlab实现牛顿迭代法求解非线性方程组

    <matlab实现牛顿迭代法求解非线性方程组>由会员分享,可在线阅读,更多相关<matlab实现牛顿迭代法求解非线性方程组(5页珍藏版)>请在人人文库网上搜索. 1.matla ...

最新文章

  1. 基于Bootstrap、Jquery的自适应导航栏
  2. WINDOWS SERVER 2003从入门到精通之DHCP中继代理
  3. 如果用户希望将一台计算机,计算机网络试卷(有答案版)
  4. 基于EasyNVR二次开发实现业务需求:用户、权限、设备管理
  5. vsftpd虚拟用户
  6. Linux内核Makefile文件
  7. j计算机集成维护工具,USBOS v2.1电脑超级维护工具启动盘(集成最全winPE)
  8. 文献笔记(7)(2017ISSCC 14.3)
  9. 计算机英语词典 txt,9种Txt格式朗文英语词典免费分享
  10. 【小程序项目开发 -- 京东商城】uni-app 商品分类页面(下)
  11. Windows 利用IIS搭建需要身份验证登录的FTP站点
  12. 我的helper模块(Python)
  13. Anaconda, Spyder更新导致Spyder环境奔溃
  14. C语言基础知识入门(2022年)
  15. CAD如何使用圆命令做辅助线绘制梯形图案呢?
  16. U盘不被电脑识别问题
  17. 中科院计算所寒武纪团队DianNao系列论文导读
  18. 运行veins示例步骤
  19. Vue + Element + Table 分页选择勾选 和取消勾选的问题
  20. 自主品牌的新合资之路

热门文章

  1. 13C同位素脉冲标记法浅析(实验解析)
  2. 浅谈cpu、缓存、内存之间的关系
  3. github.io网页无法打开(连接不是私密连接)
  4. 苹果平板可以用html么,哪些苹果平板可以用苹果笔
  5. 【Unity】Unity C#基础(十五)implicit 隐式类型转换、explicit 显式类型转换
  6. git push时候出现错误:unable to access‘xxx‘:the requested url returned error
  7. Linux下为命令取别名
  8. 毕设 - 大数据用户画像分析系统 - 数据分析可视化
  9. jekenis+tomcat部署更新war失败【踩坑日记】
  10. css3中var函数