该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

function [x_reality,n_reality] = Newt( f_name,x_start,tolerance,n_limit)

%%

%牛顿迭代法(切线法)求解方程f_name = 0根的MATLAB实现

% f_name为迭代函数

% x_start为开始迭代的初始坐标

% tolerance为函数迭代的精度要求

% n_limit为函数的最大迭代次数

%%

% x_reality为最终迭代结果

% n_reality为最后的迭代次数

%%

format long; % 计算结果保留到小数点后14位

fprintf('牛顿迭代法求方程: %s = 0 的近似根\n',f_name);

del_x = 0.0000001; % 用于求函数导数值的极小量

n_reality = 0;

x_reality = x_start;

x_start = x_reality + 1000; % 保证迭代能开始

%%

while 1

if(abs(x_reality - x_start) <= tolerance) % 如果满足精度要求,输出结果,跳出while循环

fprintf('在精度不超过%.14f的条件下,方程:%s = 0 的根为 %.14f\n迭代次数为:%d\n',...

tolerance,f_name,x_reality,n_reality);

break;

elseif(n_reality > n_limit) % 如果迭代次数超过限制,输出提示语,结束循环

disp('迭代次数超界');

break;

else

x_start = x_reality; % 把x_reality的值赋给x_start,用于求x_start点的到数值以及迭代

if(feval(f_name,x_start + del_x) - feval(f_name,x_start))==0

disp('导数为0')

break;

else

y_deriv = (feval(f_name,x_start + del_x) - feval(f_name,x_start)) / del_x;

% x_start点的导数值

x_reality = x_start - feval(f_name,x_start) / y_deriv;

% 牛顿迭代

n_reality = n_reality + 1; % 迭代次数加1

fprintf('n_reality=%d, x_start=%14.14f,y_start=%14.14f\n',n_reality,x_start,feval(f_name,x_start));

end

end

end

disp('牛顿迭代发结束');

end

matlab牛顿迭代法 方程的根,牛顿迭代法求方程解 程序如下相关推荐

  1. R语言应用uniroot函数求解方程的根(一元解):仿真数据(方程式可视化、并添加y=0的水平横线)、uniroot函数求解方程的根(并添加方程根对应的垂直竖线)

    R语言应用uniroot函数求解方程的根(一元解):仿真数据(方程式可视化.并添加y=0的水平横线).uniroot函数求解方程的根(并添加方程根对应的垂直竖线) 目录

  2. 二分法求方程的根_快速求解方程的根——二分法与牛顿迭代法

    今天是周四高等数学专题的第7篇文章. 之前的文章和大家聊了许多数学上的理论,今天和大家聊点有用的东西. 我们都知道,工业上的很多问题经过抽象和建模之后,本质还是数学问题.而说到数学问题就离不开方程,在 ...

  3. c语言函数求方程ax2 bx c,关于求方程ax2+bx+c=0根的问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #include #include"resource.h" BOOL CALLB ...

  4. 100个python算法超详细讲解:牛顿迭代法求方程根

    1.问题描述 编写用牛顿迭代法求方程根的函数.方程为ax 3 +bx 2 +cx+d=0,系数a. b.c.d由主函数输入,求x在1附近的一个实根.求出根后,由主函数输出. 2.问题分析 牛顿迭代法是 ...

  5. 用牛顿迭代法求方程的根

    用牛顿迭代法求方程的根(C语言) 题目要求:牛顿迭代法是一种重要的基本的求方程根的方法.现有方程为axˆ3+bxˆ2+cx+d=0,系数a,b,c,d的值一次为1,2,3,4,由主函数输入.求x在1附 ...

  6. matlab求方程实根,matlab怎么求方程的根

    MATLAB解方程_IT/计算机_专业资料.一般的代数方程函数solve用于求解一般代数方程的根,假定S为符 号表达式,命令solve (S)求解表达式等于0的根,也 可以再输入一个...... MA ...

  7. 用弦截法求解方程的根

    /* 用弦截法求解方程的根 算法思想 三元方程的函数增减单调特性 定义X1,X2两个坐标 使得F(X1) 与F(X2) 的值相反 这样X1,X2之间必有一跟 由下面的弦截法公式求焦点坐标 当F(X)与 ...

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

    function [x_reality,n_reality] = Newt( f_name,x_start,tolerance,n_limit) %% %牛顿迭代法(切线法)求解方程f_name = ...

  9. 用牛顿迭代法求方程的根matlab,牛顿迭代法求方程解 程序如下

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function [x_reality,n_reality] = Newt( f_name,x_start,tolerance,n_limit) %% % ...

最新文章

  1. PCL特征点与配准(1)
  2. java fork join原理_Java并发Fork-Join框架原理解析
  3. 第一章——数据结构之绪论
  4. java导出excel设置行高列宽_使用POI生成Excel文件,可以自动调整excel列宽
  5. Python中__init__和__new__的区别详解
  6. linux 内核/proc
  7. 检查radio/checkbox是否至少选择一项
  8. 零基础安卓手游辅助开发入门视频教程
  9. 1.7 COMS边沿触发器
  10. python 实现文字识别提取
  11. TC流量控制HTB示例
  12. 使用SpringMVC框架实现员工管理系统
  13. 电商平台关联法则模型及推荐系统实现(R语言)
  14. 网络——数字数据编码
  15. 为什么重写equals方法,还必须要重写hashcode方法
  16. Python在高等数学和线性代数中的应用
  17. littlevgl教程 Linux,树莓派littlevGL系列教程:容器控件(lv_cont)
  18. Java8新特性----Lambda表达式详细探讨
  19. 用 VR 玩《魔兽世界》是一种怎样的体验?
  20. 替代Xshell的良心国产SSH工具软件

热门文章

  1. pytorch中visdom安装
  2. 人生哲理---人的一生
  3. 如何优雅地使用win10的Linux子系统
  4. 极光开发者周刊【No.0514】
  5. java获取webcontent_JAVA Web项目获取src和WebContent目录下的配置文件
  6. 使用策略模式的设计方式来实现两个数的操作获得相应的结果。提供四种具体的实施策略,加、减、乘、除操作
  7. 聚数·智赢未来丨云和恩墨2020夏季产品发布会要点回顾
  8. 手机html5 tap事件,HTML5触摸事件演化tap事件介绍
  9. 家用汽油发电机注意事项
  10. VScode配置makefile编译