回答編集履歴

1

質疑応答にあわせた回答の修正

2020/11/11 14:43

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 元の関数、変換後の関数(K項まで展開)、差分ノルム計算、を区別して、質問者様のコード前半を、以下のように実装すると、修正忘れが無くなると思います。関数の中身は、本来比較したいものに修正ください。
5
+ 元の関数、変換後の関数(K項まで展開)、差分ノルム計算、を区別して、質問者様のコード前半を、以下のように実装すると、修正忘れが無くなると思います。関数の中身は、本来比較したいものに修正ください。なお、こういったnumpy配列を入力とする関数を作る際には、np.vectorizeを使うと便利です。
6
6
 
7
7
 
8
8
 
@@ -12,7 +12,19 @@
12
12
 
13
13
  def func_f(t):
14
14
 
15
+ def func_f_element(t):
16
+
17
+ if -np.pi <= t < 0:
18
+
15
- return t # func_f(t) = t
19
+ return 1 # func_f(t) = t
20
+
21
+ if 0 <= t < np.pi:
22
+
23
+ return 0
24
+
25
+ f = np.vectorize(func_f_element)
26
+
27
+ return f(t)
16
28
 
17
29
 
18
30
 
@@ -34,8 +46,6 @@
34
46
 
35
47
 
36
48
 
37
- # 差分ノルム計算
38
-
39
49
  def diff(K):
40
50
 
41
51
  dt = 0.01