逐步搜索法的原理:

从区间[a,b]的左端点a出发,按选定的步长h一步步向右搜索,若:

 ​​​​​​​

则区间[a+jh,a+(j+1)h]内必有根。搜索过程也可以从b开始,这时应取步长h<0。

本文编程思路是构建一个searchInterval函数,输入左端点a,右端点b,步长h。输出隔根区间。

文件searchInterval.m:

function [interval] = searchInterval(a,b,h)
interval = [];
for j = 0:floor((b-a)/h)x = a+j*h;if f(x)*f(x+h) < 0a0 = x;b0 = x+h;interval(end+1) = [a0];interval(end+1) = [b0];end
end

文件f.m:

function y = f(x)
y = x^2-5*x+1;
% 函数仅为算例

比如输入命令searchInterval(-100,100,0.0001),可得到输出结果为:

0.2087    0.2088    4.7912    4.7913

意即在[-100,100]之间,在步长0.0001下有两个隔根区间,一个是[0.2087,0.2088],一个是[4.7912,4.7913]。

显然,可以在先大范围、低精度(a,b之间距离大,步长h小)缩小隔根区间范围,再在缩小后的范围内利用更小的步长h得到高精度隔根区间。实际上,此法也可以求函数的近似零点。

MATLAB利用逐步搜索法求隔根区间相关推荐

  1. c语言逐步搜索法求有根区间,[C语言第五章.ppt

    [C语言第五章 算法举例 基本思想是,根据提出的问题,列举所有可能的情况,并 用问题中给定的条件检验哪些是需要的,哪些是不需要的. 教学进程 列举与试探 列举法常用于解决"是否存在" ...

  2. matlab利用作图法求圆周率

    MATLAB本身,pi返回值最接近基本常数π的浮点数.要注意,MATLAB中定义的pi与基本常数π之间的微小差异会导致计算结果出现微小的误差. 例如,表达式sin(pi)(期望返回0)实际上在MATL ...

  3. matlab利用函数 编程求,MATLAB 函数编写方法与应用

    试探结构: MATLAB 从 5.2 版本开始提供了一种新的试探式语句结构,其一般的形式为: try 语句段1 catch 语句段2 end 本语句结构首先试探性地执行语句段 1,如果在此段语句执行过 ...

  4. matlab求系统根轨迹代码_要想正确画出根轨迹,先搞清楚这8大法则再说!

    话说宝刀君这几年给学弟学妹们辅导自控时,学弟学妹们面对根轨迹,经常是一脸懵逼. 常常是拿到题后,零极点都标出来了,法则也写出来了,但就是根轨迹画不出来. 有时好不容易画出来了,返回去和法则一对照,忍不 ...

  5. matlab求系统根轨迹和系统增益,控制系统的根轨迹分析

    一.根轨迹分析方法的概念 所谓根轨迹是指,当开环系统某一参数从零变到无穷大时,闭环系统特征方程的根在s平面上的轨迹.一般来说,这一参数选作开环系统的增益K,而在无零极点对消时,闭环系统特征方程的根就是 ...

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

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

  7. MATLAB教程_11方程式求根_台大郭彦甫课程笔记

    MATLAB教程_11方程式求根_台大郭彦甫课程笔记 一.符号寻根法(解析法) 1.使用sym()或syms()创建符号变量 2.符号根查找:solve() 3.解多重方程 4.求解用符号表示的方程 ...

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

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

  9. MATLAB绘制开环单位阶跃响应,利用matlab由开环传递函数求闭环传递函数并求其单位冲击和阶跃响应...

    利用matlab由开环传递函数求闭环传递函数并求其单位冲击和阶跃响应 利用matlab 由开环传递函数求闭环传递函数并求其单位冲击和阶跃响应 例:设有一个系统的开环传递函数如下函数,并绘制输出阶跃响应 ...

最新文章

  1. Visual Studio 2010 第一时间体验旗舰版
  2. 东南亚支付——柬埔寨行
  3. Sql Server之旅——第二站 理解讨厌的表扫描
  4. (JAVA)超大整数运算
  5. 【java】java wait 原理 synchronized ReentrantLock 唤醒顺序
  6. 推荐系统的变与不变:冷启动、召回排序、长期生态与目标拆解
  7. python最适合做什么-python学完之后比较适合哪些职业工作呢?
  8. 《前沿视点》——2013年最值得关注的网页设计流行趋势
  9. win7(64位)php5.5-Apache2.4-环境安装
  10. rv1126+imx307/335/415公板使用总结
  11. 零基础C语言入门007——ascⅡ字符表、字符常量
  12. YOLO系列梳理(九)初尝新鲜出炉的YOLOv6
  13. C++有序map和无序unordered_map性能测试对比
  14. Sublime——让SublimeText换行的时候不拆散一个单词或者代码
  15. R 语言消除pdf图片的空白
  16. 基于ssm 流浪猫狗救助系统
  17. 树莓派GPIO远程控制继电器
  18. Android系统控件获取自定义属性
  19. 代码随想录算法训练营第一天 704 二分查找、27 移除元素
  20. hive安装mysql_Hive安装MySql

热门文章

  1. fork 和 exec 对子进程继承父进程处理信号处理函数的影响
  2. js判断手机号码归属地并是否有效
  3. 天猫延迟发货的定义是什么?延迟发货商家如何赔付?
  4. sql镶嵌查询_SQL数据查询之——嵌套查询
  5. IT英语入门-张晓峰-专题视频课程
  6. 六大行一份试卷分别要考哪些内容?
  7. Kali Linux侦听蓝牙设备
  8. 华为云何去何从:《听从你心,无问西东》
  9. 用python语言实现喇叭发声原理_一文看懂音频原理
  10. shell python运维脚本_【Python运维】最简单的Python运维脚本