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

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. 用牛顿迭代法求方程的根matlab,牛顿迭代法求方程根的MATLAB程序

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

  2. 不动点法和牛顿法求方程的根——matlab实例

    #小舞的个人笔记# 不动点法和牛顿法求方程的根--matlab实例 一.不动点法(用斯特芬森迭代法进行加速) 1.x^2-3*x+2-exp(x)=0 %f(x)=x^2-3*x+2-exp(x)=0 ...

  3. matlab求方程在X附近的根,matlab 实验03 求代数方程的近似根(解)

    实验三 求代数方程的近似根(解) 求代数方程的根是最常见的数学问题之一(这里称为代数方程,主要是想和后面的微分方程区别开.为简明起见,在本实验的以下叙述中,把代数方程简称为方程),当是一次多项式时,称 ...

  4. 用弦截法求方程的根matlab,matlab 语言 用弦截法任意实数方程求实根

    满意答案 dwgg2n0das8 2013.04.26 采纳率:45%    等级:12 已帮助:8202人 弦截法这个方法一般用作学习,实际用的很少.这里我提供一个较完整的弦截法求根的函数.func ...

  5. matlab复数方程的根,matlab解超越方程的复数根

    本帖最后由 zhaocb 于 2015-7-18 16:22 编辑 各位大神,我需要解一个超越方程,'0=(r^2+(50*m*(2*pi*k*C)^2))*tanh(r*0.04)+i*r*(50- ...

  6. matlab复数方程的根,matlab解一元三次方程,得到的都是复数根。

    对于你昨天的那个方程,是典型的非线性方程,我修改了程序,用fsolve函数来解,程序在下面.先新建一个m文件,再把以下全部程序直接复制进m文件中,运行即可,不要在主窗口中运行,用m文件来写程序,比直接 ...

  7. matlab求松弛迭代发,MATLAB实现迭代法最佳松弛因子的选取

    1 迭代法最佳松弛因子的选取 一.问题提出: 针对矩阵430341014A ⎡⎤⎢⎥=-⎢⎥⎢⎥-⎣⎦ ,b=[24;30;-24],用SOR 迭代求解.并选出最佳松弛因子. 理论分析 1.24ω= ...

  8. mysql怎么求方程的根_实验3-1 求一元二次方程的根

    这个题目的纯虚根问题搞的头大,其实没意思. #include #include int main(void) { double a, b, c; scanf("%lf%lf%lf" ...

  9. 二分法求解方程的根java_C语言二分法求解方程根的两种方法

    本文实例为大家分享了C语言二分法求解方程根的具体代码,供大家参考,具体内容如下 对于二分法求根,其实和弦截法思想很像,甚至更简单. 原理:先看如下的图 A,B两个点为跟的一个边界,通过一直缩小跟的边界 ...

最新文章

  1. 重磅!韩国学者发布最新《人工智能元宇宙》综述论文
  2. 2018/02/06
  3. 每日一皮:测试都ok啊,咋一上线就乱了呢...
  4. 超经典动态规划题:最大子序和
  5. Sql Server函数全解二数学函数
  6. 【转】分享oldjun老大***网站的经验
  7. java se 8 新特性_javase8-sample
  8. 7月26日见!华为Mate 20 X 5G正式官宣:国内首款5G双模手机
  9. springboot做网站_SpringBoot项目实战(3):整合Freemark模板
  10. 手机各种JS语法,随时更新
  11. Echarts 曲线数少于图例数解决方法
  12. RedHat系列linux源码包软件的安装与卸载
  13. HTML字符实体大全
  14. ADO.NET访问数据集的表、行和列
  15. SQL Server MYSQL 检查点的好处
  16. python字典用法总结
  17. 数据可视化平台理论与实践
  18. IPFS系列 - 体验 IPFS Docker
  19. 【毕业设计】电商产品评论数据分析可视化(情感分析) - python 大数据
  20. 计算机语言中nl,这个nl_NL语言环境中的日期时间模式是什么?

热门文章

  1. SpringBoot的Web开发入门案例3—异常处理
  2. 印制电路板(PCB)的设计流程(郭天祥视频教程)
  3. 2021年中国智慧停车行业发展环境(PEST)分析:智慧停车市场未来可期 [图]
  4. s3c2440 uda1341声卡驱动与madplay播放器移植
  5. 深圳市政府出台《若干意见》,大力推广电子签名、电子印章
  6. 8.1 Splay树
  7. iPhone视频播放器例子
  8. 安装厕所坑位计时器???快手回应:为了测试如厕次数与时间增加坑位数量...
  9. C# ClickOnce不支持请求执行级别"requireAdministrator"
  10. 2022-2028全球与中国紧急广播系统市场现状及未来发展趋势