質問編集履歴
2
プログラムの更新
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,17 +18,16 @@
|
|
18
18
|
def f2(x):
|
19
19
|
return (math.cos(x))
|
20
20
|
|
21
|
-
N =
|
21
|
+
N = 10000 # 分割数
|
22
22
|
|
23
23
|
a_list = [-2,0]
|
24
24
|
b_list = [3,math.pi/2]
|
25
25
|
cnt = 0
|
26
|
-
for i in range(1,N,
|
26
|
+
for i in range(1,N,1):
|
27
|
-
h = (b_list[0]-a_list[0])/i
|
27
|
+
h = (b_list[0]-a_list[0])/i # きざみ幅
|
28
28
|
h2 = h/2
|
29
|
-
v = (h/3) *
|
29
|
+
v = (h/3) * (f1(h*i) + 4*f1(h*(i+1)) + f1(h*(i+2)))
|
30
|
-
w = (
|
30
|
+
w = (h2/3) * (f1(h2*i) + 4*f1(h2*(i+1)) + f1(h2*(i+2)))
|
31
|
-
print(v,w)
|
32
31
|
if abs(v-w) <= 10**(-10):
|
33
32
|
print("(1)\n")
|
34
33
|
print("分割数 N = "+str(n)+"\n")
|
@@ -37,8 +36,8 @@
|
|
37
36
|
for i in range(1,N,10):
|
38
37
|
h = (b_list[1]-a_list[1])/i
|
39
38
|
h2 = h/2
|
40
|
-
v = (h/3) *
|
39
|
+
v = (h/3) * ((f2(h*i) + 4*f2(h*(i+1)) + f2(h*(i+2))))
|
41
|
-
w = (
|
40
|
+
w = (h2/3) * ((f2(h2*i) + 4*f2(h2*(i+1)) + f2(h2*(i+2))))
|
42
41
|
if abs(v-w) <= 10**(-10):
|
43
42
|
print("(2)\n")
|
44
43
|
print("分割数 N = "+str(n)+"\n")
|
1
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
###前提・実現したいこと
|
2
2
|
python3.6で1/3シンプソンの公式を利用したプログラムを実装中です。
|
3
|
-
その際、きざみ幅がhの場合の近似値vと、きざみ幅をその半分にした場合の近似値wとを計算し、|v^w| <= 10^(-
|
3
|
+
その際、きざみ幅がhの場合の近似値vと、きざみ幅をその半分にした場合の近似値wとを計算し、|v^w| <= 10^(-10)となった場合にプログラムを終了し、その際の計算結果を出力するというものです。
|
4
4
|
|
5
5
|
###発生している問題・エラーメッセージ
|
6
6
|
|
7
7
|
```
|
8
|
-
|v^w| <= 10^(-
|
8
|
+
|v^w| <= 10^(-10)となった時の分割数と近似値を出力してbreakするように実装したつもりなのですが、
|
9
9
|
実行時に何も表示されなくて困っています。
|
10
10
|
```
|
11
11
|
|