谁能帮我求一下积分 用matlab和fortran都可以

来源:百度知道 编辑:UC知道 时间:2024/06/04 10:04:45
u=(sin(2*pi*sqrt(t)))*exp((-1)*pi*44.1994^2/(4*88.3988^2*t));
我用matlab求程序是:
u=@(t)(sin(2*pi*sqrt(t)))*exp((-1)*pi*44.1994^2/(4*88.3988^2*t));
quad(u,0,3600);
可是总有错,quad命令对什么函数都能求积分吗,我到底哪错了
恳请大家帮帮忙~

u=@(t)(sin(2*pi*sqrt(t))).*exp((-1)*pi*44.1994^2./(4*88.3988^2*t));

加点运算

而且quad(u,0,3600);改为非0开始
quad(u,0.01,3600);
>> ans

ans =

-19.1477

不是quad的问题,是你函数输入的问题
因为不知道你函数到底是怎么样的,改写成下面这样就没有问题了

u=@(t)(sin(2.*pi.*sqrt(t))).*exp((-1).*pi.*44.1994.*44.1994./(4.*88.3988.*88.3988.*t));
quad(u,0,3600);

积分还可以用其他方法例如
u=@(t)(sin(2.*pi.*sqrt(t))).*exp((-1).*pi.*44.1994.*44.1994./(4.*88.3988.*88.3988.*t));
X=0:0.01:3600;
Y=u(X);
Z = trapz(X,Y)
结果
Z =

-19.1477

vpa(int(sin(2*pi*sqrt(t))*exp((-1)*pi*44.1994^2/(4*88.3988^2*t)),t,0,3600))