牛顿迭代法 matlab程序
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程序相关推荐
- 数值分析牛顿法 matlab,科学网—数值分析--非线性函数牛顿迭代法matlab程序 - 殷春武的博文...
%%%程序编写者 西北工业大学自动化学院 Email: yincwxa2013@mail.nwpu.edu.cn %% All rights reserved clear clc x0=in ...
- 牛顿迭代法例题 matlab,牛顿迭代法-matlab程序(解线性方程组)
牛顿迭代法 matlab程序(解线性方程组) 作者:佚名来源:转载发布时间:2009-3-7 16:55:53 减小字体 增大字体 1.功能 本程序采用牛顿法,求实系数高次代数方程 f(x)=a0xn ...
- 牛顿迭代法解线性方程matlab程序,牛顿迭代法matlab程序(解线性方程组)
<牛顿迭代法matlab程序(解线性方程组)>由会员分享,可在线阅读,更多相关<牛顿迭代法matlab程序(解线性方程组)(4页珍藏版)>请在金锄头文库上搜索. 1.牛顿迭代法 ...
- 用matlab求不动点迭代,科学网—数值分析--非线性方程组不动点迭代法matlab程序 - 殷春武的博文...
%%%程序编写者 西北工业大学自动化学院 Email: yincwxa2013@mail.nwpu.edu.cn %% All rights reserved clear clc x1=in ...
- 牛顿迭代法-matlab实现
牛顿迭代法-matlab实现 牛顿迭代法简介: 牛顿迭代法又称为切线法,简单来说就是不断求切线与x轴的交点,来逐渐接近解的迭代过程.方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的 ...
- 牛顿插值法 matlab m文件,牛顿插值法matlab程序
<牛顿插值法matlab程序>由会员分享,可在线阅读,更多相关<牛顿插值法matlab程序(3页珍藏版)>请在人人文库网上搜索. 1.计算方法数值实验报告班级090712学号0 ...
- 艾特肯法方程解matlab程序,牛顿迭代法matlab代码
牛顿法 迭代公式: x(k1) xk [2 f (x(k) )]1f (x(k) ) Matlab 代码: function [x1,k] =newton(x1,eps) hs=inline('(x ...
- 求平方根的牛顿迭代matlab程序,牛顿迭代法求平方根
牛顿迭代法的作用是使用迭代法来求解函数方程的根,简单的说就是不断地求取切线的过程.对于形如f(x)=0的方程,首先任意的估算一个解x0,再把该估计值代入原方程中.由于一般不会正好选择到正确的解,所以有 ...
- 非线性方程组牛顿迭代法matlab,matlab实现牛顿迭代法求解非线性方程组
<matlab实现牛顿迭代法求解非线性方程组>由会员分享,可在线阅读,更多相关<matlab实现牛顿迭代法求解非线性方程组(5页珍藏版)>请在人人文库网上搜索. 1.matla ...
最新文章
- 基于Bootstrap、Jquery的自适应导航栏
- WINDOWS SERVER 2003从入门到精通之DHCP中继代理
- 如果用户希望将一台计算机,计算机网络试卷(有答案版)
- 基于EasyNVR二次开发实现业务需求:用户、权限、设备管理
- vsftpd虚拟用户
- Linux内核Makefile文件
- j计算机集成维护工具,USBOS v2.1电脑超级维护工具启动盘(集成最全winPE)
- 文献笔记(7)(2017ISSCC 14.3)
- 计算机英语词典 txt,9种Txt格式朗文英语词典免费分享
- 【小程序项目开发 -- 京东商城】uni-app 商品分类页面(下)
- Windows 利用IIS搭建需要身份验证登录的FTP站点
- 我的helper模块(Python)
- Anaconda, Spyder更新导致Spyder环境奔溃
- C语言基础知识入门(2022年)
- CAD如何使用圆命令做辅助线绘制梯形图案呢?
- U盘不被电脑识别问题
- 中科院计算所寒武纪团队DianNao系列论文导读
- 运行veins示例步骤
- Vue + Element + Table 分页选择勾选 和取消勾选的问题
- 自主品牌的新合资之路
热门文章
- 13C同位素脉冲标记法浅析(实验解析)
- 浅谈cpu、缓存、内存之间的关系
- github.io网页无法打开(连接不是私密连接)
- 苹果平板可以用html么,哪些苹果平板可以用苹果笔
- 【Unity】Unity C#基础(十五)implicit 隐式类型转换、explicit 显式类型转换
- git push时候出现错误:unable to access‘xxx‘:the requested url returned error
- Linux下为命令取别名
- 毕设 - 大数据用户画像分析系统 - 数据分析可视化
- jekenis+tomcat部署更新war失败【踩坑日记】
- css3中var函数