园林绿化行业前景:Matlab中,如何用二分法求解高次方程,程序模式如何?谢谢

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 14:09:16
求救:我不会用matlab编程用数值法求解方程组,哪位大侠愿出手相救。万分感谢,请联系。

Bisection(二分法)
INPUT endpoints a,b;tolerance TL;maximum number of iterations N0;
OUTPUT approximate solution p or message of failure.
STEP 1: SET i=1;
FA=f(a);
STEP 2: While i<=N0 do STEP3-6.
STEP 3: SET p=a+(b-a)/2;
FP=f(p);
STEP 4: IF FP==0or (b-a)<TOL then
OUTPUT(p);
STOP;
STEP 5: SET i=i+1;
STEP 6: IF FA*FP>0 then set a=p;
FA=FP;
else set b=p;
STEP 7: OUTPUT('Method failed after N0 iterations,N0=',N0);
STOP

先确定出根的大致区间(a,b),然后使用下面程序:(MATLAB实现)
while b-a>n
c=(a+b)/2;
if f(c)>=0
b=c;
else
a=c;
end
end
x=(a+b)/2
注:n 为你想得到的计算精度,f(x)为方程多项式