以下の計算の結果をグラフにプロットしようとしています。xはNの値、yは計算されたエラーですが、グラフが表示されないのですが、その理由を誰かが知っていますか?
あなたの親切なサポートは非常に役に立ちます。
import numpy as np
import random
import matplotlib.pyplot as plt
#enter N to equal 100
N = int(input("Define a value for N: "))
Leibniz_Error = np.zeros(N)
Euler_Error = np.zeros(N)
#Leibniz
sum1 = 0
for k in range (N):
sum1= sum1 + 1.0/((4*k + 1)*(4*k + 3))
Leibniz_Error = np.pi - 8*sum1
sum1 = 8*sum1
Final_Leibniz_Error = abs(np.pi - sum1)
print("Euler=", Final_Leibniz_Error)
#Euler
sum2 = 0
for k in range (1,101):
sum2 = sum2 + 1/(k**2)
Euler_Error = np.pi - np.sqrt (6*sum2)
sum2 = 6*sum2
sum2 = np.sqrt(sum2)
Final_Euler_Error = abs(np.pi - sum2)
print("Euler=", Final_Euler_Error)
plt.plot (N, Final_Leibniz_Error)
plt.plot (N, Final_Euler_Error, 'r-')
print (N)
これは私がプロットするときに私が得るものです。
反復を通じてエラーをプロットする場合は、進行性エラーを保存する必要があります
import numpy as np
import random
import matplotlib.pyplot as plt
#enter N to equal 100
N = int(input("Define a value for N: "))
Leibniz_Error = np.zeros(N)
Euler_Error = np.zeros(N)
#Leibniz
sum1 = 0
leibniz_errors = []
for k in range (N):
sum1= sum1 + 1.0/((4*k + 1)*(4*k + 3))
Leibniz_Error = np.pi - 8*sum1
leibniz_errors.append(Leibniz_Error)
sum1 = 8*sum1
Final_Leibniz_Error = abs(np.pi - sum1)
print("Euler=", Final_Leibniz_Error)
#Euler
sum2 = 0
euler_errors = []
for k in range (1,101):
sum2 = sum2 + 1/(k**2)
Euler_Error = np.pi - np.sqrt (6*sum2)
euler_errors.append(Euler_Error)
sum2 = 6*sum2
sum2 = np.sqrt(sum2)
Final_Euler_Error = abs(np.pi - sum2)
print("Euler=", Final_Euler_Error)
plt.plot([i for i in range(N)], leibniz_errors)
plt.plot([i for i in range(100)], euler_errors, 'r-')
plt.show()
print (N, Final_Leibniz_Error)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加