1、创建python文件,testmath.py;
专注于为中小企业提供成都做网站、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业康乐免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
2、编写python代码,计算根号2;
import math
print(math.sqrt(2))
3、右击,选择‘在终端中运行Python文件’;
4、查看执行结果为1.4142135623730951;
1:二分法
求根号5
a:折半: 5/2=2.5
b:平方校验: 2.5*2.5=6.255,并且得到当前上限2.5
c:再次向下折半:2.5/2=1.25
d:平方校验:1.25*1.25=1.56255,得到当前下限1.25
e:再次折半:2.5-(2.5-1.25)/2=1.875
f:平方校验:1.875*1.875=3.5156255,得到当前下限1.875
每次得到当前值和5进行比较,并且记下下下限和上限,依次迭代,逐渐逼近平方根:
代码如下:
import math
from math import sqrt
def sqrt_binary(num):
x=sqrt(num)
y=num/2.0
low=0.0
up=num*1.0
count=1
while abs(y-x)0.00000001:
print count,y
count+=1
if (y*ynum):
up=y
y=low+(y-low)/2
else:
low=y
y=up-(up-y)/2
return y
print(sqrt_binary(5))
print(sqrt(5))
2:牛顿迭代
仔细思考一下就能发现,我们需要解决的问题可以简单化理解。
从函数意义上理解:我们是要求函数f(x) = x²,使f(x) = num的近似解,即x² - num = 0的近似解。
从几何意义上理解:我们是要求抛物线g(x) = x² - num与x轴交点(g(x) = 0)最接近的点。
我们假设g(x0)=0,即x0是正解,那么我们要做的就是让近似解x不断逼近x0,这是函数导数的定义:
从几何图形上看,因为导数是切线,通过不断迭代,导数与x轴的交点会不断逼近x0。
你可以使用numpy模块中的sqrt函数来对ndarray中的每个元素求平方根。下面是一个示例代码:
import numpy as np
# 创建一个ndarray数组
arr = np.array([1, 4, 9, 16, 25])
# 对每个元素求平方根
result = np.sqrt(arr)
# 输出结果
print(result)
这个程序使用numpy模块创建了一个包含5个元素的ndarray数组,并使用sqrt函数对每个元素求平方根。最后,将结果输出到控制台。
如果你想对一个多维的ndarray数组中的每个元素求平方根,可以使用同样的方法。只需确保在调用sqrt函数时,指定要对哪个维度进行操作即可。例如:
import numpy as np
# 创建一个2维ndarray数组
arr = np.array([[1, 4], [9, 16], [25, 36]])
# 对每个元素求平方根
result = np.sqrt(arr)
# 输出结果
print(result)
这个程序创建了一个2维ndarray数组,并使用sqrt函数对每个元素求平方根。注意,当sqrt函数应用于多维数组时,默认沿着最后一个维度进行操作。因此,上述示例程序将在每个子数组中的每个元素上应用sqrt函数。如果你想对其他维度进行操作,可以使用axis参数来指定。
import math
# 定义一元二次方程的系数
a = 2
b = 5
c = 3
# 计算方程的根
delta = b**2 - 4*a*c
if delta 0:
print("方程无实数根")
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("方程的根为:", x1, x2)