matlab编写非线性方程组求根的二分法程序
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/09 05:31:55
matlab编写非线性方程组求根的二分法程序
![matlab编写非线性方程组求根的二分法程序](/uploads/image/z/79429-13-9.jpg?t=matlab%E7%BC%96%E5%86%99%E9%9D%9E%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%BB%84%E6%B1%82%E6%A0%B9%E7%9A%84%E4%BA%8C%E5%88%86%E6%B3%95%E7%A8%8B%E5%BA%8F)
请楼主参考下面的代码.
>> f=inline('exp(-x)-sin(pi*x/2)'); %随便给个函数.自己输入吧.
a=0;b=1; %输入区间.也是按照题目要求输入.
err=(b-a)/2; k=0;
eps=1/2^10; %提高精确度 ^.^
y0=f(a);
while err>eps
a0=a;b0=b;
x1=(a0+b0)/2;
if f(x1)==0
x1
elseif f(x1)>0
a1=x1;b1=b0;
else
a1=a0;b1=x1;
end
err=(b1-a1)/2;
k=k+1;
a=a1;b=b1;
end
k
x=(a+b)/2
^.^
>> f=inline('exp(-x)-sin(pi*x/2)'); %随便给个函数.自己输入吧.
a=0;b=1; %输入区间.也是按照题目要求输入.
err=(b-a)/2; k=0;
eps=1/2^10; %提高精确度 ^.^
y0=f(a);
while err>eps
a0=a;b0=b;
x1=(a0+b0)/2;
if f(x1)==0
x1
elseif f(x1)>0
a1=x1;b1=b0;
else
a1=a0;b1=x1;
end
err=(b1-a1)/2;
k=k+1;
a=a1;b=b1;
end
k
x=(a+b)/2
^.^