私は、Pythonを使用していないが、私が正しく理解すれば、その後による
次のようなものを考えている
Fを = I N T E G R A T E(Y、X)F = [ F 1、。。。、Fn]は、グリッドxにわたる積分をサンプリングするベクトルである。
F(r )= ∫r0y(x )dバツ
F = i n t e g r a t e( y、 x)
F =[ F1、。。。、Fん]バツ
しかし、あなたはのサンプルはありませんとyは、ではなく、あなたはのサンプル持つX = ログ(X )とY = ログ(yと)。バツyバツ^= ログ(x )y^= ログ(y)
もちろん、最も簡単な方法は次のようになり
しかしため、これは、エラーが発生しやすいであろうY (xは)も、滑らかでありませんしかしY(X)です。
F = i n t e g r a t e(exp(y^)、exp(x^))、
y(x )y^(x^)
今、台形規則は、本質的に、あなたの入力を前提とし区分的に線形です。あなたがそれを前提とするため、単純な一般化は次のようになりますので、Y(xは)区分的に線形です。y(x )y^(x^)
この場合には、定義、次のものが
Δ F K = ∫ X K + 1つのx のk Y (X )D 、X = ∫ X K + 1つの、X k個のE yは(X) E 、X、D X = ∫ X K +Δ Fk= Fk + 1− Fk
Δ Fk= ∫バツk + 1バツky(x )dx = ∫バツ^k + 1バツ^key^(x^)eバツ^dバツ^= ∫バツ^k + 1バツ^ky〜(x^)dバツ^
次いで、規定は、次のものが
Y、K + T ≈ Y K + T Δ Y K
及び〜Y(T )≈ のE bはTと、A = E Y K + X K及びB = Δt = (x^− x^k)/ Δ X^k
y^k + t≈ Y^k+ T Δ Y^k
y〜(T )≈ Eb ta = ey^k+ x^k。
B = Δ Y^k+ Δ X^k
一体となるように
Δ Fk≈ A Δ X^∫10eb tdT = Δ X^eb− 1b
Matlabではこれは次のようになります
dlogx=diff(logx); dlogy=diff(logy); k=1:length(logx)-1;
b=dlogx+dlogy; a=exp(logx+logy);
dF=a(k).*dlogx.*(exp(b)-1)./b;
F=cumsum([0,dF]);
お役に立てれば!
y(x )y^(x^)バツ^F(x^1)= 0