| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 333 人关注过本帖
标题:求助:dblquad带入数据出错
收藏  订阅  推荐  打印
rain_fall
Rank: 1
等级:新手上路
帖子:4
积分:142
注册:2008-4-2
求助:dblquad带入数据出错

我在书上看到dblquad的用法如下
q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method,p1,p2,…)   %将可选参数p1,p2,..等传递给函数fun(x,y,p1,p2,…)。若tol=[],method=[],则使用缺省精度和算法quad

我需要求A B 分别取0-100时的积分值,当A=0  B=0时
A=0;B=0;t=dblquad(inline('(x.^2+y.^2<=1).*exp(i*(-0.346181.*(A.*x+B.*y)-0.1730905.*(x.^2+y.^2)))'),-1,1,-1,1,0.001,@quad,A,B);
result=((abs(t)).^2)/(pi.^2)
得到的结果是result =

   1.62113893827740

如果我把A=0  B=0  直接带入的话也就是下面的式子
t=dblquad(inline('(x.^2+y.^2<=1).*exp(i*(-0.1730905.*(x.^2+y.^2))+0)'),-1,1,-1,1,0.001,@quad);
result=((abs(t)).^2)/(pi.^2)
得到的结果是result =

   0.98525945483360
怎么结果不一致呢,第二个就是我要的结果,请问哪位高手知道是怎么回事吗?第一个式子哪里不对了呢?已经苦恼了一个星期了,拜托各位高手了
2008-7-18 21:16
共有 332 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.148747 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved