matlab mupad 函数找不到,MATLAB调用MuPAD中的meijerG函数,无法得到想要的结果
function [ pd ] =CAS_nak_m2(SNR,N,m,NN)%N为衰落程度系数,mnakagami-m的衰落系数,SNR为信噪比,pf=0.01;SNR_integer=10^(SNR/10);%信噪比十进制形式SNR_integer=1/SNR_integer*m^N;u=1;lamda=2*gammaincinv(1-pf,u);%判决门限根据虚警概率确定,见文中公式(2)p
function [ pd ] =CAS_nak_m2(SNR,N,m,NN)
%N为衰落程度系数,mnakagami-m的衰落系数,SNR为信噪比,
pf=0.01;
SNR_integer=10^(SNR/10);%信噪比十进制形式
SNR_integer=1/SNR_integer*m^N;
u=1;
lamda=2*gammaincinv(1-pf,u);%判决门限根据虚警概率确定,见文中公式(2)
pp=(factorial(m-1))^N;
pp=1/pp;
s=zeros(1,length(NN)+1);
for n=0:NN; %为了计算方便,我们可以假设的
w=zeros(1,length(n+u-1)+1);
for k=0:n+u-1
w(k+1)=exp(-lamda/2)/(factorial(k))*(lamda/2)^k;
end
alpha=1-n;
ss=['[[',num2str(alpha),'],[]]'];
rr=['[[',num2str(m),',',num2str(m),'],[]]'];
s(n+1)=sum(w)*1/(factorial(n))*arrayfun(@(SNR_integer) double(feval(symengine,'meijerG',ss, rr,num2str(SNR_integer))), SNR_integer);
end
pd=pp*sum(s);
end
主程序;
clc
clear all
close all
m=2;
N=2;
NN=30;
SNR=[5:0.5:20];
pm=zeros(1,length(SNR));
for i=1:length(SNR)
pm(i)=1-CAS_nak_m2(SNR(i),N,m,NN);
end
figure;
semilogy(SNR,pm);
2016-10-5 16:38 上传


m=2,N=2,U=1,λ程序中给出计算方法

2016-10-5 16:43 上传


程序应该得到的结果

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)