1
ここに私のコードです。これは、あるx値で別の関数の導関数を評価する関数です。分数次数導関数(a)でも有効な出力を返すようにしたい。乗算された微分関数の積分
from scipy.special import gamma
import scipy.integrate as integrate
import sympy as sp
import scipy as sc
import math
def f(z):
return z**2
def fracdiff(f,x,a):
if a==0:
return f(x)
else:
if math.ceil(a)-a==0:
q=sp.diff(f(z),z,a)
h=q.subs(z,x)
return h
else:
n=math.ceil(a)
g1=(1/(gamma(n-a)))
q1=sp.diff(f(z),z,n)
print(q1) # showing that q1 equals 2*z
h1= lambda z:(x-z)**(n-a-1)*2*z # for z^2 the derivative is 2*z
ans=sc.integrate.quad(h1,0,x)
r=ans[0]*g1
return r
ss=fracdiff(f,1,0.5)
私の問題は、私は(x-z)**(n-a-1)
とq1(the derivative of f(z))
の乗算であるh1
を統合したいということです。私がf(z)=z^2
を手放して2*z
をq1
に手動で入力しても問題ありませんが、q1
を使用しようとすると「式を浮動に変換できません」と表示されます。なぜどんなアイデア?
あなたのコードにインポートステートメントを含めることもできますか?私は 'sp'はSymPy、' sc'はSciPy、 'gamma()'関数はどこからインポートしたのでしょうか? –
申し訳ありませんがAmit、これは初めてstackoverflowを使用しています。私は事を明確にすることを望む。 –