声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1928|回复: 2

[编程技巧] matlab积分显示有奇点?

[复制链接]
发表于 2008-10-17 11:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
代码:clear all
syms s1 s2 zz lamda alpha c a w;%variance and parameter
C=10^-14;
Z=50:10:300;
k=2*pi/lamda;
rho=(0.545*c^2*k^2*zz)^(-3/5);
f1=k^2/(zz^2)*s1*s2;
f2=exp(j*k/(2*zz)*(s1^2-s2^2))*exp(-1/rho^2*(s1^2+s2^2))*besseli(0,2*s1*s2/rho^2);
%上面f1,f2为被积函数中与源无关部分,下面为sgb
sgb=besselj(0,alpha*s1)*besselj(0,alpha*s2)*exp(-s1^8/w^8)*exp(-s2^8/w^8);
f=f1*f2*sgb;%integrand

f=subs(f,{zz,lamda,alpha,c,w},{Z,1550*10^-9,600,C,0.05});%这是一个矢量;
disp(f);
intValue=ones(size(Z));
for i=1:length(Z)
disp(i);
ff=inline(f(i));
intValue(i)=quad2dg(ff,0,1,0,1,10^-20);
end;
plot(Z',abs(intValue))


积分过程中显示Integral did not converge--singularity likely,可是如何找到奇点呢?
(积分命令quad2dg和dblquad等效)
谢谢!没有发现类似的帖子,请大侠指点!好几天了!:'(

[ 本帖最后由 soberprogress 于 2008-10-17 11:15 编辑 ]

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2008-10-17 14:45 | 显示全部楼层

回复 楼主 soberprogress 的帖子

画方程曲线
 楼主| 发表于 2008-10-17 17:27 | 显示全部楼层

回复 沙发 sigma665 的帖子

我画了f(1)(s1,s2)像个菱形沿对角线对折的样子,看不出有极大值。但是积分为何积分提示有奇点呢?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 02:57 , Processed in 0.062916 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表