牛顿迭代法例题 matlab,牛顿迭代法-matlab程序(解线性方程组)
牛顿迭代法 matlab程序(解线性方程组)
作者:佚名来源:转载发布时间:2009-3-7 16:55:53
减小字体 增大字体
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_df(a,n,x)%方程一阶导数的函数
y=0.0;
for i=1:n
y=y+a(i)*(n+1-i)*x^(n-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
y=y+a(i)*(n+1-i)*x^(n-i);
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.1373e+000
i=
6
function fp = newton_interpolation(x,y,p)
% Script for Newtons Interpolation.
% Muhammad Rafiullah Arain
% Mathematics & Basic Sciences Department
% NED University of Engineering & Technology - Karachi
% Pakistan.
% ---------
% x and y are two Row Matrices and p is point of interpolation
%
% Example
% >> x=[1,2,4,7,8]
% >> y=[-9,-41,-189,9,523]
% >> newton_interpolation(x, y, 5)
% OR
% >> a = newton_interpolation(x, y, 5)
n = length(x);
a(1) = y(1);
for k = 1 : n - 1
d(k, 1) = (y(k+1) - y(k))/(x(k+1) - x(k));
end
for j = 2 : n - 1
for k = 1 : n - j
d(k, j) = (d(k+1, j - 1) - d(k, j - 1))/(x(k+j) - x(k));
end
end
d
for j = 2 : n
a(j) = d(1, j-1);
end
Df(1) = 1;
c(1) = a(1);
for j = 2 : n
Df(j)=(p - x(j-1)) .* Df(j-1);
c(j) = a(j) .* Df(j);
end
fp=sum(c);
展开阅读全文
牛顿迭代法例题 matlab,牛顿迭代法-matlab程序(解线性方程组)相关推荐
- 牛顿迭代法解线性方程matlab程序,牛顿迭代法matlab程序(解线性方程组)
<牛顿迭代法matlab程序(解线性方程组)>由会员分享,可在线阅读,更多相关<牛顿迭代法matlab程序(解线性方程组)(4页珍藏版)>请在金锄头文库上搜索. 1.牛顿迭代法 ...
- 计算方法LU分解c语言程序解线性方程组,LU分解求线性方程组的解
LU分解是矩阵分解的一种,可以将一个矩阵分解为一个上三角矩阵和一个下三角矩阵的乘积. LU分解可以用来求逆矩阵,解线性方程组等.本文将介绍LU分解求线性方程组的解. 1.定义 如果A是一个方阵,A的L ...
- Matlab实现 LU分解法解线性方程组(全选主元列选主元)
选主元LU分解 实验内容:列选主元LU分解和全选主元LU分解求解线性方程组 计算方法: 全选主元消元法 1.1 初始化 根据参数A.b,记录下矩阵.右端项的尺寸n: 以得到的尺寸n初始化解向量x: 同 ...
- matlab 改进的平方根法 LDL 解线性方程组 数值分析
%平方根法LDL %author LijiaYi(foddcus) FaFu university 2022.6 %email:foddcus@163.com%input输入矩阵,包括系数和参数%ou ...
- 科学计算机解多元方程组,南京大学计算机科学与技术系 数值计算方法(第3章)3 向量和矩阵的范数 病态方程组 解线性方程组的迭代法.ppt...
南京大学计算机科学与技术系 数值计算方法(第3章)3 向量和矩阵的范数 病态方程组 解线性方程组的迭代法.ppt 上传人:ct****5 文档编号:43116102 上传时间:2020-01-21 格 ...
- 牛顿法的matlab实现例题,【MATLAB|MATLAB牛顿插值法例题与程序Word版】
『易坊知识库摘要_MATLAB|MATLAB牛顿插值法例题与程序Word版』x12345678y22.523.324.421.7025.228.524.825.4二.数学原理假设有n+1个不同的节点及 ...
- 极坐标 c语言,牛顿 拉夫逊迭代法极坐标潮流计算C语言程序
<牛顿 拉夫逊迭代法极坐标潮流计算C语言程序>由会员分享,可在线阅读,更多相关<牛顿 拉夫逊迭代法极坐标潮流计算C语言程序(31页珍藏版)>请在人人文库网上搜索. 1.*利用牛 ...
- matlab求方程实根,简单迭代法求方程根的MATLAB程序
function [x_reality,n_reality] = Simple_stepit( f_name,x_start,tolerance,n_limit) %% % 简单迭代法(也叫不动点迭代 ...
- 数值分析2-解非线性方程的不动点迭代法,斯蒂芬森(steffensen)迭代法,牛顿法以及简化牛顿法的matlab程序
对于形如f(x)=0的单变量非线性方程,可以构造不同的迭代函数进行迭代求根,以f(x)=x3-x-1为例,我们可以简单的通过等式变形构造出x=x3-1和x=(x+1)(1/3)两种等价形式:也可以自己 ...
最新文章
- AI安防落地靠什么?大规模生产是关键
- 获取NT的admin权限的方法
- Capsule下一代CNN深入探索
- DNS高可用设计--软件高可用
- 崛企问卷调查小程序模块V1.3.2
- 常用的stm32库函数
- 判断是否为长按_【物流知识】物流配送合理化判断7大标志
- Nginx日志安全分析脚本
- python中3个while循环_Python3 里怎么让一个包含 while 循环的异步函数不断运行,而不阻塞正常的代码流程...
- Freemarker 的常见控制结构写法(ZT)
- 面试官:为什么要用 Spring?它到底解决了什么问题?
- C++开发必备的书——《C++代码整洁之道》C++17可持续软件开发模式实践
- 项目小记录—拼音码demo
- 平年和闰年c语言程序,C语言平年,平年闰年问题
- 常用的curl命令及参数详解
- igraph 利用节点列表输出子图并存储
- Linux系统引导过程及排除启动故障
- 网络天气预报项目笔记(Qt)
- 核心微生物分析_中国白酒发酵过程中的核心微生物群及其与环境因子的关系-微生物学报.PDF...
- edt嵌入式确定性测试_CallSerially EDT和InvokeAndBlock(第1部分)
热门文章
- 一些好用的Mac软件推荐
- python 读取本地txt文档发送邮件给qq邮箱
- Window xp 桌面主题修改为windows经典后,再恢复为Window xp 的方法
- 考勤管理代码:python基础练手用的
- 【Python语言基础】——Python 教程
- 通达OA国产化简介/信创版本
- 什么软件可以测试iphone6s芯片,苹果是对的:测试显示iPhone 6s两款芯片续航差距微小...
- JS:指定FPS帧频,requestAnimationFrame播放动画
- Trojan/Win32.Small.dyq病毒的解决方法
- pc端手机短信发送的介绍