MATLAB二分法求解近似根
二分法基本思想:
用对分区间的方法,通过判别函数f(x)在每个对分区间中点的符号,逐步将隔根区间缩小,最终求得一个具有相当精确程度的近似根。
二分法具体步骤:
令:
(1)若,则
为方程的根,跳出循环;
(2)若,令
;
(3)若,令
;
(4)为新的隔根区间,重复上述过程。
输入左右端点a,b以及精度eps,输出近似根x0及二分次数i。
function [x0,i] = dichotomy(a,b,eps)
a0 = a;
b0 = b;
x0 = (a0+b0)/2;for i = 1:1000if abs((b-a)/(2^(i))) > epsif f(a0)*f(x0) < 0b0 = x0;x0 = (a0+b0)/2;elseif f(a0)*f(x0) > 0a0 = x0;x0 = (a0+b0)/2;elseif f(a0)*f(x0) == 0breakendelsebreakend
end[x0,i]
算例如下:
function y = f(x)
y = x^2-15;
% 函数仅为算例
输入命令dichotomy(-100,100,0.1),得到 -3.7109 9.0000,即精度为0.1的近似根为-3.7109,二分次数为9。进一步提高精度:
dichotomy(-4,-3,10^(-10))
得到-3.8730 32.0000,即此精度下近似根为-3.8730,二分次数为32。
误差估计:
注意二分法步骤中,第一次对分后取了对分后区间中点作为近似根,那么相当于把误差控制在整个区间的四分之一。
对分次数 | 对分后得到近似根 | 误差限 |
1 |
|
|
2 |
|
|
n |
|
|
二分法优缺点:
优点:计算简单,方法可靠,容易估计误差;
缺点:收敛较慢,不能求偶重根,也不能求复根。
MATLAB二分法求解近似根相关推荐
- 二分法求解方程的根java_C语言二分法求解方程根的两种方法
本文实例为大家分享了C语言二分法求解方程根的具体代码,供大家参考,具体内容如下 对于二分法求根,其实和弦截法思想很像,甚至更简单. 原理:先看如下的图 A,B两个点为跟的一个边界,通过一直缩小跟的边界 ...
- 基于MATLAB二分法求解一元二次方程的根
二分法是一种常用的数值解法,在 MATLAB 中也可以使用二分法求解一元二次方程的根. 首先,需要确定一段区间,在该区间内一定存在二次方程的解,然后取该区间的中点作为新的枚举值.根据该值代入二次方程进 ...
- 计算方法 - 二分法求近似根
[问题描述]用二分法求方程e^x+10x-2=0在区间[0, 1]上的近似根 [输出形式]要求误差不超过0.5e^-3 [样例输入] [样例输出]0.25 1.784025 [样例说明]0.25:x的 ...
- 二分法求近似根c语言程序,求一C++风格程序,用二分法求f(x)=0的根
满意答案 vwamuoor8000 推荐于 2018.04.24 #include #include typedef double (*F)(double); /* @brief 二分法求解函数 * ...
- MATLAB 数值求解方程根
文章目录 1. 问题 2. 解答 3. 参考资料 本文介绍如何利用MATLAB求解给定区间内方程的数值解 1. 问题 针对如下函数,求[0,1]区间内的数值解(该方程无解析解) f(x)=−(−8x7 ...
- 二分法求方程根matlab,matlab用二分法求方程 的正根,要求误差小于0.0005
matlab编程题:用二分法求方程x^3-3*x-1=0的根 先建立二分法的fun.m文件,代码如下:functionfun(a,b,e)%f是自定义的函数%a为隔根区间左端点,b为隔根区间右端点,e ...
- matlab求方程在X附近的根,matlab 实验03 求代数方程的近似根(解)
实验三 求代数方程的近似根(解) 求代数方程的根是最常见的数学问题之一(这里称为代数方程,主要是想和后面的微分方程区别开.为简明起见,在本实验的以下叙述中,把代数方程简称为方程),当是一次多项式时,称 ...
- matlab方程近似求根,第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令.doc...
第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令 第七讲 MATLAB中求方程的近似根(解) 教学目的:学习matlab中求根命令,了解代数方程求根求解的四种方法,即图解法. ...
- 【算法设计zxd】第3章 求解方程的近似算法 非线性——二分法(穿根),牛顿法(切线),线性代数
目录 非线性方程: 非线性方程的收敛性和收敛速度: 建立迭代方程 [例3-5]求9x^2-sin x-1=0,在(0,1)之间的解,要求| 9x^2-sin x-1|<0.00001. 二分 ...
最新文章
- relay.build调用关系
- g++编译c++11特性 的.cc文件
- CEO不当了,CTO也不做了!我要回去写代码,这才是我所热爱的!
- 香蕉派安装64位linux,在香蕉派里安装配置archlinux到树莓派
- PKI/CA (4)根CA信任模型“证书构建”
- 推荐搜索炼丹笔记:SIM 用户行为序列点击率预估模型
- js中的对象、原型链机制、构造函数
- Linux下安装spf13-vim
- Java基础(三)——反射、代理
- Java程序的编码规范
- 汇编语言是一种什么程序设计语言?
- ABB机器人指令列表分类详解
- 【浏览器兼容性问题解决方案】
- 几何公差基础知识之平行度
- Badboy 安装 使用 常见问题 badboy当前页面脚本发生错误
- 微信小程序手机号绑定功能(登录后绑定)
- 基于高斯两步移动搜寻法(2SFCA)的城市绿地可达性分析
- AMI CORE8 OEM BIOS开发入门
- 2022 学术英语写作(东南大学) 最新Unit 1章节测试答案
- 公司发的电脑无法登录OneNote账户