非线性方程的二分法求根算法

非线性方程的二分法求根算法

function [x,n]=bisection(f,a,b,d)
%二分法求方程的根,可以是代数方程,也可以是超越方程
% f 是所要求解的函数
%a,b 是求解区间
%d 是求解精度
%输出x 是方程的近似根,n 是迭代步数
f=inline('……');
fa=f(a);fb=f(b);
n=1;	%迭代次数计数器初始化
if fa*fb>0		%先判断是否为隔根区间
	disp('所给区间内没有实数解!');
end
while 1		%进入大循环
	c=(a+b)/2;
	fc=f(c);
	if abs(fc)<d | fc==0
		x=c;
		break;		%直到精度满足条件后,将此时区间终点值赋给x,跳出大循环;否则,继续迭代
	else if fa*fc<0
		b=c;
		fb=fc;
	else
		a=c;
		fa=fc;
	end
	n=n+1;
end

end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值