CDN加速镜像 | 设为首页 | 加入收藏夹
当前位置: 首页 资源下载 源码下载 数值算法/人工智能 matlab例程

文件名称:牛顿法迭代

  • 所属分类:
  • 标签属性:
  • 上传时间:
    2015-05-31
  • 文件大小:
    896byte
  • 已下载:
    0次
  • 提 供 者:
  • 相关连接:
  • 下载说明:
    别用迅雷下载,失败请重下,重下不扣分!

介绍说明--下载内容来自于网络,使用问题请自行百度

function main()
clc; clear all;
f = @(x)log(x+sin(x)); % 测试函数
df = @(x)(1+cos(x))/(x+sin(x)); % 导数函数
x0 = 0.1; % 迭代初值
x = TestNewton(f, df, x0) % 牛顿法求解

function x = TestNewton(fname, dfname, x0, e, N)
% 用途:Newton迭代法解非线性方程f(x)=0
% fname和dfname分别表示f(x)及其导函数的M函数句柄或内嵌函数表达式
% x0为迭代初值,e为精度(默认值1e-7)
% x为返回数值解,并显示计算过程,设置迭代次数上限N以防发散(默认500次)

% 输入参数
if nargin < 5
  N = 500;
end
if nargin < 4
  e = 1e-7;
end
x = x0; % 初值
x0 = x+2*e; % 浮动
k = 0; % 步数
fprintf('x[%d]=%12.9f\n', k, x) % 打印信息
while abs(x0-x)>e && k<N % 循环迭代条件
  k = k+1; % 记录步数
  x0 = x; % 更新x(k)
  x = x0 - feval(fname,x0)/feval(dfname,x0); % 更新x(k+1)
  fprintf('x[%d]=%12.9f\n', k, x) % 打印信息
end
if k == N
  fprintf('已达到迭代次数上限'); % 迭代结束
end


相关搜索: Newton

(系统自动生成,下载前可以参看下载内容)

下载文件列表

压缩包 : 1.txt 列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 搜珍网是交换下载平台,只提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。更多...
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或换浏览器;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.

相关评论

暂无评论内容.

发表评论

*快速评论: 推荐 一般 有密码 和说明不符 不是源码或资料 文件不全 不能解压 纯粹是垃圾
*内  容:
*验 证 码:
搜珍网 www.dssz.com