本文共 730 字,大约阅读时间需要 2 分钟。
1二分法求根:
unction x = binary(st,en) %g = inline('x^3+1'); g = inline('x^3 + 2*x^2+10*x-20'); a = st; b = en; EPS = 0.0001 i = 0; while abs(b-a) > EPS i = i+1; m = (a+b)/2; disp(m) if(g(m) == 0) x = m; break; elseif (g(m)*g(a) < 0) b = m; else a = m; end end str = sprintf("total itration: %d",i); disp(str); x = (a+b)/2;
2、牛顿迭代法求根
function x = iteration(x0) %g = inline('x^3 + 2*x^2+10*x-20'); xc = x0; xn = 20/(xc^2+2*xc+10); i = 1; disp(xn); while(abs(xn-xc) > 0.0001) i = i+1; disp(xn); xc = xn; xn = 20/(xc^2+2*xc+10); end str = sprintf("total itration: %d",i); disp(str); x = xn;
转载地址:http://urimi.baihongyu.com/