嵌套积分的数值积分

时间:2018-09-17 17:47:49

标签: matlab integration numeric

我想使用MATLAB计算从t = 1到2500的每个时间步长上两个函数B(t)和A(t)之间的比率G(t)。

函数A(t)由

给出

enter image description here

和具有嵌套积分的函数B(t),需要数值积分

enter image description here

j,m,b,d,e,g,h是常量。

我为此问题编写了以下Matlab代码:

Functionscript.m

b=0.0001;
m=0.2331;
j=-0.2323;
d=0.1719;
e=-4.5000;
g=0.1719;
h=0.2355;
T=2500;
[G]=QM(b,m,j,d,e,g,h,T);

======================================

function [G]=QM(b,m,j,d,e,g,h,T)
G=zeros(T);
A=@(t) j-m*coth((m/2)*(t-T)+acoth((j-b)/m));
I=@(t,s) exp(integral(@(u) -A(u)-h,t,s));
SI=@(t,s) I(t,s)*(A(s)*e-g);
B=@(t) I(t,T)*d-integral(@(s) SI(t,s),t,T,'ArrayValued',1);
G(1)=B(1)/A(1);
for i=1:T
G(i)=B(i)/A(i);
end

当我运行这段代码时,我得到的值不会随时间变化很大,我认为这可能是因为嵌套积分的数值积分无法正常工作。有人可以检查吗?谢谢。

0 个答案:

没有答案