数値積分を使用して定積分の評価を近似する簡単なプログラムを作成しました。しかし、タイトルのエラーが発生する理由がわかりません。1 年半 Python に触れていないので、私が見逃している非常に明白な何かである可能性がありますが、それでも助けていただければ幸いです :) コードは次のとおりです。
import math
def f(x):
f=math.sqrt(1+(6*x+4)^2)
return f
lbound=int(input("Input lower bound for the integral"))
ubound=int(input("Input upper bound for the integral"))
n=int(input("Input number of intervals"))
dx=((ubound-lbound)/n)
integral=0
for i in range(1,n):
integral=integral+dx*f(i*dx)
print (integral)
コードを実行しようとしたときに IDLE が返す完全なエラー レポートは次のとおりです。
Traceback (most recent call last):
File "C:\Users\******\Desktop\integrals.py", line 13, in <module>
integral=integral+dx*f(n*dx)
File "C:\Users\******\Desktop\integrals.py", line 3, in f
f=math.sqrt(1+(6*x+4)^2)
TypeError: unsupported operand type(s) for ^: 'float' and 'int'
ベストアンサー1
Python の指数演算子は であり**
、 ではありません^
。^
はビット単位の XOR です。
f=math.sqrt(1+(6*x+4)**2)