我正在使用 matlab 中的数值积分子程序在 Matlab 中编写一个小脚本
我对变量的维度有一些问题:
我需要将 o 到 pi/2 的衰落的矩生成函数的乘积与给定的另一个函数相结合:
mgf= (2*(sin(phi)).^2)/(2*(sin(phi)).^2+ EbNolin.*b);
另一个功能是:
function = -b./(2*((sin(phi)).^2))
其中 b 是一个常数:
问题是 EbNolin 是一个向量,每个值都会变化为:
EbNodB = [0:0.51:40];
EbNolin = 10.^(EbNodB/10) ;
所以为了使积分我定义:
phi =0:0.02:pi/2;
为了获得相同长度的 EbNolin 和 phi,但是当我尝试集成时出现很多错误,我尝试过:
for i = 1:(79),
Pe = [Pe (a/pi).*quadgk(mgf(i)*function),phi,0,pi/2] %using quadgk
Pe = [Pe (a/pi).*integrate(mgf(i)*function),phi,0,pi/2] %using integrate
Pe = [Pe (a/pi).*int(mgf(i)*function),phi,0,pi/2] %using int
但是总有一些事情......我不知道我是否正在将积分整合到一个循环中,但我不知道如何以其他方式做到这一点。我的matlab版本是r2010
如果有人能给我一点帮助,我会很高兴,谢谢!