马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
初学matlab想编歌公式,运行老是出错,请人帮忙·!目的是编这个:对u.^k.*gamma(-k,u)求和(k=0到L-1),本来是想用gamma(a,b)=gamma(a)*(1-gammainc(b,a)) 这个函数的,不过这里a=-k小于0不能用,只有编积分公式了 gamma(-k,u)=对exp(-t)./*t.^(-k-1)从u到无穷积分,我用了1e+10来近似无穷,u是i一个6×41的矩阵
function ff=integral(t,k)
ff=exp(-t).*t.^(-k-1);
L=[1,2,4,8,16,32];
BER_T=1e-3;
SNR_dB=0:40;
SNR=10.^(SNR_dB./10);
gamma_ba=SNR;
for i=1:6
gammac_ba(i,:)=gamma_ba./L(i);
end
u=-(log(5*BER_T))./(1.6.*gammac_ba);
Y=zeros(6,41);
ff=zeros(6,41);
for m=1:6
for n=1:41
for k=0:L(m)-1
ff(m,n)=quad(@integral,u(m,n),1e+10,1e-10);
Y(m,n)=Y(m,n)+u(m,n).^k.*ff(m,n);
end
Y(m,n)=Y(m,n).*exp(u(m,n))./(log(2));
end
end
运行时老是提示quad那一行出错,知道的兄弟朋友说说,急死了`
[ 本帖最后由 eight 于 2007-7-9 21:38 编辑 ] |