【源码】二分法的matlab实现「建议收藏」

二分法的matlab算法实现本篇是在课程学习中自己编程实现的二分法计算非线性方程或者超越方程近似根的算法,写一下,后边便于复习和期末课程设计引用。%二分法求根的matlab算法function[x0,n]=dichotomy(a,b,err,f_x)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%输入参数a为根的区间左端点%%输入参数b为根的区间右端点

大家好,又见面了,我是你们的朋友全栈君。

二分法的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的值,迭代次数为0
x0=a;
n=0;
return;
end
while(sign(f_x(b))==0)%如果b的函数值为0停止迭代输出x0为b的值,迭代次数为0
x0=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);
end
else
a=x0;                          %将中点赋值给符号相同的端点
if(b-a<=err||abs(f_x(x0))<=err)%判断是否满足精度要求
x0=a/2+b/2;
return;
else                            %不满足精度循环调用二分法
dichotomy(a,b,err,f_x);
end
end
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)
结果在这里插入图片描述

转载请注明出处!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/128074.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 基于MATLAB的卷积神经网络车牌识别系统

    基于MATLAB的卷积神经网络车牌识别系统车牌识别是基于车牌照片的车牌信息的识别工作,车牌识别技术对我们的实际生活至关重要,例如交通违规行为的增加,拦截非法车辆,在速度上能够进行快速识别能够很好地解决这些问题。获得的照片的质量是影响车牌识别准确性的最重要因素之一。卷积神经网络在图像识别领域具有良好的适应性,目前在计算机视觉任务中应用广泛,并在手写数字识别、人脸识别、车牌识别等图像领域的应用中取得了很好的效果。本文基于MATLAB卷积神…

  • jedis连接redis集群中的一台无法操作?_jedis连接redis哨兵

    jedis连接redis集群中的一台无法操作?_jedis连接redis哨兵jedis连接redis集群

  • 2021年 github被墙最新hosts-每日更新[通俗易懂]

    2021年 github被墙最新hosts-每日更新[通俗易懂]2021年github被墙最新hosts-每日更新解决方法参考链接:http://blog.yoqi.me/lyq/16489.html

  • 显卡机器linux 6卡挖矿,显卡挖矿是什么意思?购买显卡矿机应该注意什么?

    显卡机器linux 6卡挖矿,显卡挖矿是什么意思?购买显卡矿机应该注意什么?提到挖矿,很多人都比较感兴趣,众所周知,挖矿是除了直接交易数字货币之外,获取数字货币的唯一途径,而挖矿会根据不同的数字货币定义成不同的挖矿形式,比如说最近比较火的流动性挖矿,就是投资者抵押或锁定加密货币以换取报酬的做法,还有就是本文要说的显卡挖矿,下面小编就给大家通俗的讲解一下显卡挖矿是什么意思。显卡挖矿是什么意思?显卡挖矿其实就是用显卡去挖比特币,让显卡高负荷工作挖,淘汰了的就成了矿卡,矿卡一般…

  • 红帽linux配置yum源文件_linux查看yum源信息

    红帽linux配置yum源文件_linux查看yum源信息Yum(yellowdogupdatermodified):解决安装过程中的依赖性关系。库中记录软件包的依赖性关系,根据需要安装的软件包,自动安装依赖的其它软件包软件仓库来源:本地ISO镜像;RHEL系统需要购买订阅;CentOS系统;Epel配置文件位置:/etc/yum.repos.d/[AppStream]name=AppstreamfromlocalDVDbaseurl=file:///run/media/root/RHEL-8-0-0-BaseOS-x86_6.

  • 精美网站赏析_怎么收藏网址到收藏夹

    精美网站赏析_怎么收藏网址到收藏夹英文网站1链接地址享笑网个人博客交流网站蓝色网站商城黑色网站后台管理系统橙色企业信息管理系统韩国情侣酒店网站模板bootstrap制作的企业后台模板个人空间网站黑色主题网页

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号