level 6
一笑飘
楼主
计算公式:

当SNR为1时,mathematica计算的结果为:108.52196838104936
同样的参数,用maple或者matlab计算的结果为:12.83559958
maple计算的结果应该是正确的,不知为啥mathematica计算的结果与maple的结果不一致(即两个程序中p2的结果不一致)。
mathematica程序:
ClearAll["Global`"]
alpha = 6.39;
beta = 3.69;
a1 = (1 - alpha)/2;
a2 = (2 - alpha)/2;
a3 = (1 - beta)/2;
a4 = (2 - beta)/2;
a5 = 1;
b1 = 0;
b2 = 1.0/2;
z = 2*(SNR0/(alpha*beta))^2;
p1 = 2^(alpha + beta - 3)/(Pi*Sqrt[Pi]*Gamma[alpha]*Gamma[beta]);
p2 = MeijerG[{{a1, a2, a3, a4}, {a5}}, {{b1, b2}, { }}, z];
pb = p1*p2;
SNR0 = 10^(SNR/10);
min = 0;
max = 25;
step = 1;
table1 = Table [{SNR, z, p2, pb}, {SNR, min, max, step}];
TableForm[table1, TableHeadings -> {None, {"SNR", "z", "p2", "pb"}}];
LogPlot[pb, {SNR, min, max}, PlotRange -> {{min, max}, {10^-6, 1}},
Frame -> True]
Export["F:/360data/Win8Desktop/Data.txt", table1, "Table"]
maple程序:
alpha1 := 6.39;
beta1 := 3.69;
a1 := (1-alpha1)*(1/2);
a2 := (2-alpha1)*(1/2);
a3 := (1-beta1)*(1/2);
a4 := (2-beta1)*(1/2);
a5 := 1;
b1 := 0;
b2 := 1.0*(1/2);
SNR := 0;
SNR0 := 10^((1/10)*SNR);
z := 2*(SNR0/(alpha1*beta1))^2;
p1 := 2^(alpha1+beta1-3)/(3.1415926*sqrt(3.1415926)*GAMMA(alpha1)*GAMMA(beta1)); p2 := MeijerG([[a1, a2, a3, a4], [a5]], [[b1, b2], []], z)
望高手解答,谢谢!
2015年08月05日 03点08分
1

当SNR为1时,mathematica计算的结果为:108.52196838104936同样的参数,用maple或者matlab计算的结果为:12.83559958
maple计算的结果应该是正确的,不知为啥mathematica计算的结果与maple的结果不一致(即两个程序中p2的结果不一致)。
mathematica程序:
ClearAll["Global`"]
alpha = 6.39;
beta = 3.69;
a1 = (1 - alpha)/2;
a2 = (2 - alpha)/2;
a3 = (1 - beta)/2;
a4 = (2 - beta)/2;
a5 = 1;
b1 = 0;
b2 = 1.0/2;
z = 2*(SNR0/(alpha*beta))^2;
p1 = 2^(alpha + beta - 3)/(Pi*Sqrt[Pi]*Gamma[alpha]*Gamma[beta]);
p2 = MeijerG[{{a1, a2, a3, a4}, {a5}}, {{b1, b2}, { }}, z];
pb = p1*p2;
SNR0 = 10^(SNR/10);
min = 0;
max = 25;
step = 1;
table1 = Table [{SNR, z, p2, pb}, {SNR, min, max, step}];
TableForm[table1, TableHeadings -> {None, {"SNR", "z", "p2", "pb"}}];
LogPlot[pb, {SNR, min, max}, PlotRange -> {{min, max}, {10^-6, 1}},
Frame -> True]
Export["F:/360data/Win8Desktop/Data.txt", table1, "Table"]
maple程序:
alpha1 := 6.39;
beta1 := 3.69;
a1 := (1-alpha1)*(1/2);
a2 := (2-alpha1)*(1/2);
a3 := (1-beta1)*(1/2);
a4 := (2-beta1)*(1/2);
a5 := 1;
b1 := 0;
b2 := 1.0*(1/2);
SNR := 0;
SNR0 := 10^((1/10)*SNR);
z := 2*(SNR0/(alpha1*beta1))^2;
p1 := 2^(alpha1+beta1-3)/(3.1415926*sqrt(3.1415926)*GAMMA(alpha1)*GAMMA(beta1)); p2 := MeijerG([[a1, a2, a3, a4], [a5]], [[b1, b2], []], z)
望高手解答,谢谢!






