对分法的理论依据是:设f是区间[a,b]上得连续函数,满足f(a)f(b)<0,那么f在a和b之间有一个根r,使得f(r) = 0

算法分析:

1.首先确定r在(a,b)区间内

2.令c0 = (a0 + b0)/2

if f(c0)f(a0) < 0

b1 = c0; a1 = a0

else

a1 = c0; b1 = b0

3.以此类推

matlab代码实现:

%代码运行前先要建立一个内联函数,比如f=inline('x^3 + x - 1')

function xc=bisect(f,a,b,tol)if sign(f(a))*sign(f(b)) >=0

error('f(a)f(b)<0 not satisfied!')

end

fa=f(a);

fb=f(b);

k=0;while (b - a)/2 > tol %这里的tol是指求根时要求的精度

c= (a + b)/2;

fc=f(c);if fc ==0breakendif sign(fc)*sign(fa) <0

b=c;

fb=fc;elsea=c;

fa=fc;

end

end

xc= (a + b)/2

算法的精度:

设[a0,b0]为初始区间,

第一次对分后变为[a1,b1],长度变为(b0 - a0)/2

第一次对分后变为[a2,b2],长度变为(b0 - a0)/2^2

... ...

第n次对分后变为[an,bn],长度变为(b0 - a0)/2^n

我们取xc = (an + bn)/2 为根的近似,

则误差为:|xc - r| < (b0 - a0)/2^(n+1)

我们定义:如果误差小于0.5x10^(-p),那么解精确到P位小数

这样一来,我们就可以根据所要求的解的精确度来确定需要对分的次数n了。

例子:在区间[0,1]上求f(x)=cosx - x的根,精确到6位小数

根据误差公式:(1-0)/2^(n+1) < 0.5*10^(-6)

可以求得 n >= 19.9

也就是说至少要对分20次才能达到所要求的精度。

Java实现对分法解方程_解方程——对分法相关推荐

  1. java计算抛物线的标准方程_抛物线方程公式大全_抛物线的四种标准方程_抛物线公式_抛物线方程及图像_高中数学知识点总结网...

    宜城教育资源网www.ychedu.com抛物线方程公式大全_抛物线的四种标准方程_抛物线公式_抛物线方程及图像_高中数学知识点总结网抛物线方程定义编辑抛物线定义:平面内与一个定点F和一条直线l的距离 ...

  2. Python(分治算法)问题 E: 解方程_求方程f(x)=2^x+3^x-4^x=0在[1,2]内的根。

    问题 E: 解方程 题目描述 求方程f(x)=2^x+3^x-4^x=0在[1,2]内的根. 输入 输入m(0<=m<=8),控制输出精度 输出 三个实根(根与根之间留有空格)输出方程f( ...

  3. 解构里面再次解构_解构后的咖啡:焙炒,研磨和分层,以获得更浓的意式浓缩咖啡

    解构里面再次解构 Over a year ago, I developed a technique called staccato espresso where I used a sifter to ...

  4. 图解法求最优解的例题_初一上学期,方程的解互为相反数,两种方法求解参数的值...

    在一元一次方程问题中,有一类问题,那就是方程的解互为相反数.在处理这类问题时,一般有两种方法进行处理,不同的题目可以选择不同的方法.当然,两种方法都需要掌握. 例题1:已知关于x的方程6x-a=1+4 ...

  5. python编写程序解方程_用Python解方程

    我们先从简单的来 例题1: 这是北师大版小学六年级上册课本95页的一道解方程练习题: 大家可以先口算一下,这道题里面的x的值为200 接下来我们用python来实现,代码如下,每一句代码后面都写有解释 ...

  6. c语言求佩尔方程的解,佩尔方程

    佩尔方程(Pell Equation)为: 其中d不为完全平方数且d>1. 如果已知它的最小特解:x1,y1 那么存在迭代公式: 通过简单的证明: 由此得到矩阵递推式: 暴力法寻找最小特解: t ...

  7. 4.1 简单方程的解

    前面章节介绍了向量组和矩阵理论,利用这些理论可以解决线性方程 Amnx=bA_{mn}\mathbf{x}=\mathbf{b}Amn​x=b 解的存在性和唯一性问题.向量组理论如下:向量 b\mat ...

  8. scipy.optimize.fsolve:用Python求解方程的解

    例1: 求解方程组的一个解: x0*cos(x1) = 4, x1*x0 - x1 = 5. 需要注意两点: 1.定义方程组,方程组要写出f(x)=0的形式(=0不需要写出来),所以原方程右边4和5都 ...

  9. NOIP模拟测试7「方程的解·visit」

    visit 由于一些不可预知的错误导致我一直WA 错误最后说 思路 方案一 假设终点在出发点右上方(这样假设只是为了方便) 假设向左走了a步,向右下了b布,那么相应的我们要向右走m+a,向上n+b步 ...

最新文章

  1. Github 开源:使用控制器操作 WinForm/WPF 控件( Sheng.Winform.Controls.Controller)
  2. Redis - Spring Data Redis 操作 Jedis 、Lettuce 、 Redisson
  3. 面向对象编程 封装 继承 多态(三大特征)(第三篇)
  4. 基于Linux的Socket编程之TCP全双工Server-Client聊天程序
  5. WinForm设置窗体默认控件焦点
  6. 西门子Step7安装和入门初步
  7. 思科 Packet Tracer 实验七 DHCP基本配置
  8. 数据预测模型_如何根据已有数据得出预测模型?线性回归公式来帮你!
  9. 记录在Deepin Linux上使用Jupyter/Pycharm中关于findfont: Font family [‘sans-serif‘] not found的解决方案及相关问题
  10. ES监视器Watcher详解
  11. Hinton NIPS2017 手写识别实现 TensorFlow \ Pytorch \ Keras
  12. pythoninstaller打包 其他电脑无法运行_Pyininstaller一个软件包故障坑,Pyinstaller,打包,失败,的...
  13. LabVIEW编程LabVIEW开发 CRC16-CCITT- False校验 表例程与相关资料
  14. Sqlserver 中临时表和全局临时表
  15. 如果遇到提示错误 reactivity.esm-bundler.js?a1e9:337 Set operation on key “default“ failed: target is readonl
  16. (附源码)计算机毕业设计ssm毕业生就业管理系统
  17. 如何使用Xcode进行高保真原型设计?
  18. 轻型在线办公—eyeOS
  19. 如何批量生成IATA条码
  20. OCR表格识别—企业应用的技术新秀

热门文章

  1. 中润光学通过科创板注册:预计年营收4亿 拟募资4亿
  2. 窗帘和纱窗结合成为居家必备 - 江南爱窗帘十大品牌
  3. opencv仿射变换和透视变换门牌号实践总结
  4. 2022年安全员-A证免费试题及安全员-A证模拟考试
  5. 洛谷4277:萃香的请柬——题解
  6. Source Insight支持Lua语言
  7. 《刑法》关于拐卖妇女儿童犯罪的规定
  8. 面试时如何更好的回答问题和提出问题?
  9. 为什么使用了postfix,majordomo的approve命令会中断(转)
  10. 赴港IPO,小鹏汽车急需再输血