|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
用matlab求一个函数的积分:
被积函数如下: exp((i*k/(2*d)).*((x1(n)-x).^2+y.^2))
其中,x、y是自变量,i 是虚数符号,k、d和x1(n)都是程序中已经定义的常数和矩阵,积分变量x的积分限是-0.0001到0.0001,y的积分限是负无穷到正无穷。
请问这个用matlab怎么实现?我分别用了quadl和dblquad两个函数,
l(n)=quadl(@(x) arrayfun(@(xx) quadl(@(y) exp((i*k/(2*d))*((x1(n)-xx)^2+y.^2)),-inf,inf),x),-0.0001,0.0001)
或
l(n)=dblquad(@(x,y)exp((i*k/(2*d)).*((x1(n)-x).^2+y.^2)),-0.0001,0.0001, -inf,inf)
程序可以运行,但是运行结果都不对,都是NAN,但理论上不应该是NAN的……
烦请高人指点迷津,是哪个地方出错了呢? |
|