CALCULADORA CALCULADORA E RLANG B.
La interfaz de esta calculadora está construida con base en las tablas de ErlangB; para ello se organizó cada valor dentro de un vector, de manera que un grado probabilístico de pérdidas representa una posición descendente, para
dentro
del arreglo unidimensional; organizado en orden
probabilidades probabil idades de perdida menores y ascendente para el número de
canales referidos a una probabilidad de éxito mayor. Canales robabilid ad Probabilidad
1
1
2
3
4
5
6
7
8
9
0,969
0,937
0,906
0,875
0,843
0,812
0,781
0,751
Los valores de probabilidad se obtuvieron siguiendo la distribución gamma Erlang B, definida como:
ï Encontrar el valor adecuado para un porcentaje de pérdidas, supuso limitaciones en torno a la exactitud del valor de canales calculados, sin embargo, aplicar redondeo a tres (3) dígitos significativos evidencio resultados acertados, en comparación con otras calculadoras. El código empleado, se desarrolló mediante el software de desarrollo MATLAB: %---------..::: CALCULADORA ERLANG B :::.. --------A = 30.8; % Trafico ofrecido pb = 0.02; % Probabilidad de bloqueo N = 500; % Numero de radio canales w = [0:1:N]; % Dividendo_Vector de N posiciones a = [0:1:N]; % Divisor_Vector de N posiciones z = [0:1:N]; % Resultado de la funcion ERLANG_B x = 0; u = 1; fac = 0; %---------..::: PARTE UNO: DIVISOR DIVISOR :::.. --------%-Cargar datos individualmente en el vector a(x) a(x) for k=0:1:N x = x+1; u = u+1; fac = factorial (k); a(x)= (A^k)/fac; w(x)= (A^k)/fac; %--Cargar datos del dividendo end
%---------.::: Realizar la sumatoria en el vector a(x+1)=a(x)+a(x+1) y = 0; u = 1; x = 1; for k=0:1:N-1 y = k+1; u = u+1; a(u)= a(y)+ a(u); end %---------..::: PARTE DOS: PROBABILIDAD ERLANG_B:::.. --------for k=0:1:N x = k+1; z(x)= round (1000*(w(x)/a(x)))/1000; significativos end
%---Redondeo a 3 digitos
%---------..::: PARTE TRES: COMPARAR PROBABILIDAD :::.. --------x = 0; for k=0:1:N x = k+1; if z(x) <= pb fprintf( 'No Ctos:%12.0f \n',x-1); %---Imprimir No Ctos. Entorno MATLAB break; %---Finaizar el ciclo. end end
La interface incluye, además, el volumen de perdidas, expresado como el porcentaje de error en Erlang del tráfico ofrecido. El código empleado, se desarrolló mediante el software de desarrollo MATLAB: A = str2double(get(handles.edit1, 'string' )); % Trafico ofrecido pb = str2double(get (handles.edit5, 'string' )); % Probabilidad de bloqueo pb = pb/100; pp = A*pb; % Probabilidad de perdida pp= round (10*pp)/10; %---Redondeo a 1 digitos significativos set(handles.edit6, 'string' ,num2str(pp)); % Mostrar dato (pp) en edit6 trcurs = A -pp; set(handles.edit3, 'string' ,num2str(trcurs)); % Mostrar dato (trcurs) en edit3