求matlab编程用二分法和牛顿迭代法求根号a-查字典问答网
分类选择

来自孙宏琦的问题

  求matlab编程用二分法和牛顿迭代法求根号a

  求matlab编程用二分法和牛顿迭代法求根号a

1回答
2020-12-11 02:04
我要回答
请先登录
梁昌洪

  对于求平方根,变成方程模式为f(x)=x^2-a,即求此方程的实根;

  下面编写了两个function函数,可以直接调用.

  二分法:

  functionx=sqrt_bisect(a)

  f=@(x)x^2-a;

  ifa0

  xb=x;

  elseiff(xa)*f(x)>0

  xa=x;

  else

  break

  end

  end

  end

  x;

  牛顿迭代法:

  functionx=sqrt_newton(a)

  f=@(x)x^2-a;

  df=diff(sym('x^2-a'));

  ifa1e-6

  x0=x1;

  x1=x0-f(x0)/subs(df,x0);

  end

  end

  x=x1;

  调用格式为:

  sqrt_bisect(3)

  ans=

  1.7321

  或者

  sqrt_newton(2)

  ans=

  1.4142

2020-12-11 02:05:59

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •