lwf2002251 发表于 2008-5-21 10:13

三项之和的积分,不等于三项积分之和

我编一个程序来求解数值积分,出现了这样一个问题:三项之和的积分,不等于三项积分之和,我百思不得其解。
程序如下:
clear;
s=pi/4;
a=0.1;
% parameter
fprintf('s=%4.3f;\n',s);
fprintf('a=%4.3f;\n',a);
disp(['    ']);
p1=@(x)sin(s)^2*exp(-(x-a).^2);
p2=@(x)cos(s)^2*exp(-(x+a).^2);
p3=@(x)(-1)*2*sin(s)*cos(s)*exp(-(x.^2+a^2));
pz=@(x)(sin(s)^2*exp(-(x-a).^2)+cos(s)^2*exp(-(x+a).^2)-2*sin(s)*cos(s)*exp(-(x.^2+a^2)));
S1=quadl(p1,-20000,20000);
S2=quadl(p2,-20000,20000);
S3=quadl(p3,-20000,20000);
Sz=quadl(pz,-20000,20000);
Sh=S1+S2+S3;
fprintf('S1=%4.6f;\n',S1);
fprintf('S2=%4.6f;\n',S2);
fprintf('S3=%4.6f;\n',S3);
fprintf('Sz=%4.6f;\n',Sz);
fprintf('Sh=%4.6f;\n',Sh);
页: [1]
查看完整版本: 三项之和的积分,不等于三项积分之和