初学者です。
上記の課題について、それぞれの式について数値計算を行う関数を作成し、それを表示するところまで作成できました。
しかし、問題点が二つあります。
1.一つ目と二つ目の計算は合っているようですが、三つ目の計算結果が合いません。
2.for文で0から10まで、0.1ずつループさせようとするとエラーが表示されます。(1ずつでは上手くいきます)
エラー内容:'float' object cannot be interpreted as an integer
恐らく型の問題なのでしょうが、調べてもよく分かりませんでした。
以上の2点についてどなたか教えていただけないでしょうか。
import math import numpy as np from scipy import integrate def y1(x): #y1を計算して結果を返す関数 y1 = 0.0306*x**3 - 0.4554*x**2 + 1.9752*x - 2.128 return y1 def y2(x): #y2を計算して結果を返す関数 y2 = 3*math.sin(math.radians(10*x))*math.exp(-x/2) return y2 y = lambda t : np.exp(-t**2) #3問目の被積分関数を定義 def y3(x): #y3を計算して結果を返す関数 a = 6*math.sqrt(math.pi) y3 = int(a) * integrate.quad(y,x,np.inf) return y3 for x in range(0, 10, 1): print(y1(x)) #お試し
回答2件
あなたの回答
tips
プレビュー