“常用公式”在线计算,“设计手册”在线查询
[img=,][/img]积分式如图,代码如下( table变量是离散的抽样点坐标,输入u和v相同,U是按定义计算的结果,V是用conv计算的结果,其他的变量和上式对应)function [U,V] = calc( lambda,L,u,v,N,table )U=u;temp=u;k=2*pi/lambda;for x=1:N    for t=1:N        temp(t)=exp(-1i*k*((table(x)-table(t))^2)/(2*L))*u(t);    end    U(x)=trapz(table,temp);endh=exp(-1i*k*(table.^2)/(2*L));V=conv(v,h,'same');U=sqrt(1i/(lambda*L)*exp(-1i*L*k))*U;V=sqrt(1i/(lambda*L)*exp(-1i*L*k))*V;U=U/max(abs(U));V=V/max(abs(V));cla;hold on;plot(table,abs(U));plot(table,abs(V),'r');end得出的结果发现按定义式得到的结果U和conv函数得到的结果V有很大的不同请问这是为什么,有什么方法能使得结果更接近吗?因为这个函数要被迭代调用很多次,用conv得到的结果在迭代多次后和按定义计算的结果相比就面目全非了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 支持支持 反对反对

共 0 个关于本帖的回复 最后回复于 2013-5-28 13:16

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们

360网站安全检测平台