Matlab用二分法求方程3*ln(x)-x=0在区间[4,5]上面的一个根
1个回答
展开全部
function p = biSection(f,a,b)
% 函数功能:用二分法求解
% 函数输入:f 为待求解函数
% a b,为待求解区间的两个端点值
% 函数输出:近似解p
% 举例说明:
% f = @(x)(3*log(x)-x);a = 4;b = 5;
% biSection(f,a,b)
if f(a)*f(b)>0
disp('请重新选择区间!');
else
p= (a + b)/2;
fp = f(p);
err = abs(fp);
while err > 1e-6 % 设定误差范围
if f(a)*fp<0
b = p;
else
a = p;
end
p= (a + b)/2;
fp = f(p);
err = abs(fp);
end
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询