用python实现二分法求平方根,Python用二分法求平方根的案例

我就废话不多说了,大家还是直接看代码吧~

def sq2(x,e):

e = e #误差范围

low= 0

high = max(x,1.0) #处理大于0小于1的数

guess = (low + high) / 2.0

ctr = 1

while abs(guess**2 - x) > e and ctr<= 1000:

if guess**2 < x:

low = guess

else:

high = guess

guess = (low + high) / 2.0

ctr += 1

print(guess)

补充:数值计算方法:二分法求解方程的根(伪代码 python c/c++)

数值计算方法:

二分法求解方程的根

伪代码

fun (input x)

return x^2+x-6

newton (input a, input b, input e)

//a是区间下界,b是区间上界,e是精确度

x

if abs(b - 1) < e:

return x

else:

if fun(a) * fun(b) < 0:

return newton(a, x, e)

else:

return newton(x, b, e)

c/c++:

#include

#include

using namespace std;

double fun (double x);

double newton (double a, double b,double e);

int main()

{

cout << newton(-5,0,0.5e-5);

return 0;

}

double fun(double x)

{

return pow(x,2)+x-6;

}

double newton (double a, double b, double e)

{

double x;

x = (a + b)/2;

cout << x << endl;

if ( abs(b-a) < e)

return x;

else

if (fun(a)*fun(x) < 0)

return newton(a,x,e);

else

return newton(x,b,e);

}

python:

def fun(x):

return x ** 2 + x - 6

def newton(a,b,e):

x = (a + b)/2.0

if abs(b-a) < e:

return x

else:

if fun(a) * fun(x) < 0:

return newton(a, x, e)

else:

return newton(x, b, e)

print newton(-5, 0, 5e-5)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值