書いたコード
0から0.51まで0.01刻みで逆三角関数f(x)を計算するコードを書きました。
Python
1def f(x): 2 x = np.arange(0, 0.51, 0.01) 3 return np.arcsin(x) 4f(x)
このコードを実行した結果
array([0. , 0.01000017, 0.02000133, 0.0300045 , 0.04001067,
0.05002086, 0.06003606, 0.07005729, 0.08008558, 0.09012195,
0.10016742, 0.11022305, 0.12028988, 0.13036898, 0.14046141,
0.15056827, 0.16069065, 0.17082967, 0.18098645, 0.19116215,
0.20135792, 0.21157496, 0.22181447, 0.23207768, 0.24236585,
0.25268026, 0.2630222 , 0.27339303, 0.28379411, 0.29422684,
0.30469265, 0.31519303, 0.32572949, 0.33630358, 0.3469169 ,
0.3575711 , 0.36826789, 0.37900902, 0.3897963 , 0.40063159,
0.41151685, 0.42245406, 0.43344532, 0.44449278, 0.45559867,
0.46676534, 0.4779952 , 0.48929078, 0.50065471, 0.51208975,
0.52359878])
やりたい事
上記のコードをxの範囲を変えずに、If文やWhile文を用いてf(x) = 0.2まで実行するコードを書きたい。
書いたコード
Python
1def f(x): 2 x = np.arange(0, 0.51, 0.01) 3 return np.arcsin(x) 4 5LIMIT = 0.2 6 7while f(x) < LIMIT: 8 print(f(x))
「ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()」というエラーが出てきます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。