二分法的matlab算法实现

本篇是在课程学习中自己编程实现的二分法计算非线性方程或者超越方程近似根的算法,写一下,后边便于复习和期末课程设计引用。

% 二分法求根的matlab算法
function [x0,n]=dichotomy(a,b,err,f_x)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%输入参数a为根的区间左端点                         %
%输入参数b为根的区间右端点                         %
%输入参数err为误差精度                             %
% 输入参数f_x为待求根函数                          %
%输出参数x0为满足精度要求的根                      %
% 输出参数n为迭代的次数                            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n=ceil((log((b-a)./err)./log(2)-1));%求迭代次数
while(sign(f_x(a))==0)%如果a的函数值为0停止迭代输出x0为a的值,迭代次数为0x0=a;n=0;return;
end
while(sign(f_x(b))==0)%如果b的函数值为0停止迭代输出x0为b的值,迭代次数为0x0=b;n=0;return;
end
while(sign(f_x(a))~=sign(f_x(b)))%a、b符号不同进行区间二分x0=a/2+b/2;                     %区间中点if(sign(f_x(a))~=sign(f_x(x0)))%判断区间中点函数值与区间端点符号b=x0;                      %将中点赋值给符号相同的端点if(b-a<=err||abs(f_x(x0))<=err)%判断是否满足精度要求x0=a/2+b/2;                     return;else                          %不满足精度循环调用二分法dichotomy(a,b,err,f_x);endelsea=x0;                          %将中点赋值给符号相同的端点if(b-a<=err||abs(f_x(x0))<=err)%判断是否满足精度要求x0=a/2+b/2;return;else                            %不满足精度循环调用二分法dichotomy(a,b,err,f_x);endend
end

引用实列:求解函数f(x)=x^3-x-1在区间[1,1.5]上的一个零点,误差不超过0.005
f=@(x)x^3-x-1
[x0,n]=dichotomy(1,1.5,0.005,f)
结果

转载请注明出处!

【源码】二分法的matlab实现相关推荐

  1. 基于matlab的语音信号,科学网—[转载]【信息技术】【2014.06】【含源码】基于MATLAB的语音信号处理与分析 - 刘春静的博文...

    本文为瑞典耶夫勒大学(作者:Nan Wu)的学士论文,共48页. 语音传递是人类最重要.最有效.最常用的信息交流方式.语言是人类特有的特征,而人声是常用的工具,也是相互传递信息的重要途径.语音具有较大 ...

  2. 【源码】基于MATLAB仿真的移动机器人导航

    MATLAB sample codes for mobile robot navigation. === I'm sorry this project is no longer active. === ...

  3. matlab ikine 源码,RTB-9.10 matlab robotics toolbox 工具箱软件 可进行机器人运动学与动力学建模 275万源代码下载- www.pudn.com...

    文件名称: RTB-9.10下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 20442 KB 上传时间: 2016-11-27 下载次数: 16 提 供 者 ...

  4. 雷达的正交波形设计matlab源码,雷达系统设计MATLAB仿真

    第 一 部 分第1章雷达基础导论1.1雷达分类1.2距离1.3距离分辨率1.4多普勒频率1.5雷达方程1.6搜索(警戒)1.7脉冲积累1.8雷达损失1.9"我的雷达"设计案例研究- ...

  5. fama matlab源码_用matlab程序做Fama-MacBeth回归的代码

    求[100,200]之间第二个能被15整除的整数.(用Matlab程序做) x=100:200;>>n=find(rem(x,15)==0);>>X=x(n(2))很简单的两句 ...

  6. Labview源码(不借助Matlab)编写的计算显色指数(CRI)色质指数(CQS)

  7. Matlab实现PSO算法(附上6个完整仿真源码)

    PSO(Particle Swarm Optimization)是一种优化算法,它模拟了鸟群或鱼群等动物的集体行为,通过群体智能的方式来解决优化问题.PSO算法最初由Kennedy和Eberhart在 ...

  8. matlab aac读,aacmatlab 该源码是在 平台上实现的,是音频编码的一种重要 AAC, 的压缩 238万源代码下载- www.pudn.com...

    文件名称: aacmatlab下载 收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 51 KB 上传时间: 2014-03-11 下载次数: 2 详细说明:该源码是 ...

  9. Matlab实现鱼群算法(附上完整仿真源码)

    鱼群算法(Fish School Search, FSS)是一种基于鱼群行为的启发式优化算法,模拟了鱼群在寻找食物和逃避危险时的集体行为.它是一种全局优化算法,适用于解决多种优化问题.在本文中,我们将 ...

  10. Matlab实现蓄电池充放电模型(附上完整仿真源码)

    蓄电池是一种常见的能量存储设备,被广泛应用于各种领域,如电动车.太阳能发电系统等.为了更好地理解和优化蓄电池的充放电过程,建立一个准确的数学模型是非常重要的.在本文中,我们将介绍使用Matlab建立蓄 ...

最新文章

  1. pygame里面物体闪烁运动_教师资格【试讲示范】高中物理试讲答辩——《自由落体运动》试讲稿答辩...
  2. Kataspace:用HTML5和WebGL创建基于浏览器的虚拟世界
  3. Python 技术篇-含中文编码的代码运行方法,(unicode error) ‘utf-8‘ codec can‘t decode问题原因及解决方法
  4. 2020-11-19(栈帧)
  5. Boost:宏BOOST_TEST_EQ的测试
  6. Kali Linux 无线渗透测试入门指南 第六章 攻击客户端
  7. 附录 D:保护 Active Directory 中的内置 Administrator 帐户的安全
  8. nc的java插件_如何配置协同平台NC系统插件 原来是这样的
  9. 新形势下国家医疗保障局信息化建设注意点(二)标准先行
  10. Spring Security 与 OAuth2(资源服务器)
  11. 【显示器知识 帮新手扫盲+自我总结】
  12. 网站服务器ip解析,服务器 域名 解析ip
  13. rust相框加载图片代码_用代码为相片加相框的方法
  14. 计算机最快接口速度,实测:USB3.1究竟比USB3.0接口快多少?
  15. 设平衡二叉排序树(AVL树) 的节点个数为n,则其平均检索长度为log2n
  16. c语言表达式的算法,表达式求值--数据结构C语言算法实现
  17. php判断股票涨停,情绪周期的简单判断与选股(图解)
  18. Matlab浮点变定点
  19. 激活休眠软件资产 提升企业软实力
  20. 调用接口时报:Required String parameter '' is not present

热门文章

  1. 【重大发布】原生微信上架优麒麟软件商店
  2. 区间dp--P1220关路灯
  3. 非容器化Jenkins连接Kubernetes
  4. 6-16 猫和老鼠有多重分数 30
  5. 三、GP安装笔记-greenplum安装
  6. 计算机应用基础(专)【11】
  7. HTML_网页设计参考手册 中文WORD版
  8. Unity Anchors锚点布局不出现的原因
  9. virtualbox安装虚拟机后,虚拟机不显示ip问题
  10. k8s使用(kubernetes)