小白在线求助,真的不会做了
python3.7.4
用maclaulin公式计算arcsin(x)
:x+x^3/(2*3)+1*3*x^5/(2*4*5)+...+(2n)!*x^(2n+1) / [2^(2n)*(n!)^2*(2n+1)]。
用户输入x,利用该式,计算反正弦函数的值。当最后一项小于delta时停止计算,输出结果。其中,^表示乘幂,x^y是x的y次方,n!表示n的阶乘。输入:delta x
输出:arcsin(x)
下面是我自己写的一点点,请大神指点下哪里有错误或者提供更好的方法,万分感谢!
print('本程序计算arcsin(x)的值.')
x=float(input('请输入x:'))
delta=float(input('请输入delta:'))
n=0
s=0
p1=1 #n!
p2=1 #(2n)!
A=[]
while(s>=delta):
while n==0:
s=x
A.append(s)
n=n+1
for k in range(1,n+1):
p1=p1*k
for t in range(1,2*n+1):
p2=p2*t
s=p2*x**(2*n+1)/(4**n*p1**2*(2*n+1))
A.append(s)
n=n+1
print(A)
sums=0
for i in range(0,n-1):
sums=sums+A[i]
print('arcsinx的近似值为',sums)