Tôi không sử dụng python, nhưng nếu tôi hiểu đúng rồi bởi
bạn đang nghĩ đến một cái gì đó giống như
F = i n t e g r một t e ( y , x )
nơi F = [ F 1 , . . . , F n ] là một vectơ lấy mẫu tích phân trên lưới x .
F( R ) = ∫r0y( x ) dx
F = i n t e g r a t e ( y , x )
F =[ F1, . . . , Fn]x
Tuy nhiên bạn không phải mẫu của và y , mà là bạn có mẫu x = log ( x ) và y = log ( y ) .xyx^= nhật ký( x )y^= nhật ký( y)
Tất nhiên phương pháp đơn giản nhất sẽ là
nhưng điều này sẽ dễ bị lỗi, bởi vì y ( x ) không được mịn, thậm chí mặc dù y ( x ) là.
F = i n t e g r a t e (exp( y^) , điểm kinh nghiệm( x^) ) ,
y( x )y^( x^)
Bây giờ, quy tắc hình thang về cơ bản giả định đầu vào của bạn là tuyến tính. Vì vậy, các khái quát đơn giản sẽ cho bạn cho rằng y ( x ) là piecewise tuyến tính.y( x )y^( x^)
Trong trường hợp này, việc xác định , bạn có
Δ 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= ∫xk + 1xky( x ) dx = ∫x^k + 1x^key^( x^)ex^dx^= ∫x^k + 1x^ky~( x^) dx^
Sau đó, xác định , bạn có
y k + t ≈ y k + t Δ y k
và ~ y ( t ) ≈ một e b t , với một = e y k + x k và b = Δt = ( x^- x^k) / Δ x^k
y^k + t≈ y^k+ t Δ y^k
y~( T ) ≈ một eb ta = ey^k+ x^k.
b = Δ y^k+ Δ x^k
Vì vậy, không thể tách rời trở nên
Δ Fk≈ a Δ x^∫10eb tdt = một Δ x^eb- 1b
Trong Matlab, nó sẽ trông giống như
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]);
Hi vọng điêu nay co ich!
y( x )y^( x^)x^F(x^1) = 0