您的位置:首页 > 编程语言 > MATLAB

话务量计算编程实现(MATLAB)

2014-04-02 09:16 253 查看
</pre><pre code_snippet_id="269865" snippet_file_name="blog_20140402_1_5289452" class="plain" name="code">Matlab


移动通信实验:

呼损率的物理意义是损失话务量与呼叫话务量之比的百分数。呼损率也称为系统的服务等级(GOS,Grade of Service)。

呼损率与话务量是一对矛盾,即服务等级和信道利用率是矛盾的。

电话工程里的Erlang公式:呼损率B,(话务量A单位均为Erl)



编程实现已知呼损率B 和 移动电话通信服务系统的信道数n,求话务量A.

程序为:

clc;clear;
%话务量计算程序:
n = input('Please Input the number of channels:\n'); %输入信道数n
b = input('Please Input the GOS:\n'); %输入呼损率b
k = 1;
num =1;
syms A;

%公式中的分母表达
for i= 1:n
k = k*i; %计算i的阶乘:i!,个人认为不比Matlab中的阶乘函数麻烦,所以没选择阶乘函数
num = num + (A^i)/k;
end
%公式中的分子表达
den = (A^n)/k;

%呼损率公式
B = den/num;
%解方程求呼损率Aa
Aa = solve(B -b); %方程的解可能有多个值

m =length(Aa)

for j=1:m
if subs(Aa(j))>0 && imag(subs(Aa(j)))==0 %判断Aa的值是否大于0,且不为虚数
Aa(j)
end
end


(参考结果:输入n:5; b:0.01;输出结果Ans:1.3607)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息