📄 erlang.m
字号:
% function [N,B,A] = Erlang
% 2006-11-13
% 爱尔兰呼损表
clear;
clc;
N = 1 : 10;
% B = 0.0001 : 0.0001: 0.0020;
B = [0.01 0.05 0.1 0.5 1.0 2 5 10 15 20 30 40];
B = B./100;
A = zeros( length(N) , length(B) );
for i = 1 : length(N)
sym x;
str ='';
for k = 0 : N(i)-1
str = strcat( str, '(x^',num2str(k),')/',num2str(factorial(k)),'+' );
end
str = strcat( str, '(x^',num2str(N(i)),')/',num2str(factorial(N(i))) );
str = strcat( num2str(factorial(N(i))) ,'*(', str ,')');
for j = 1 : length(B)
eqution = strcat( 'x^', num2str(N(i)) ,'/(', str,')-',num2str(B(j)) );
S = solve (eqution);
% 取大于零的实数
for m = 1:length(S)
if isreal(S(m))
result = str2double( char(S(m)) );
if result > 0
A(i,j) = result;
end
end
end
end
clear x;
end
% 显示程序
% 显示B
MAX = 10;
str = repmat( '_' , 1 , 5 + MAX * length(B) );
disp(str)
str = '|N/B|';
for i =1 :length(B)
str_B = num2str(B(i));
temp = repmat( ' ',1,MAX - length(str_B));
str = [str temp str_B];
end
disp(str)
str = repmat( '-' , 1 , 5 + MAX * length(B) );
disp(str)
% 显示A
for i = 1 : length( A(:,1) )
temp_N = num2str(i);
str = repmat( ' ',1,3 - length(temp_N));
str = ['|' str temp_N '|'];
for j = 1 : length( A(1,:) )
str_A = num2str( A(i,j) );
if length(str_A)>= 6
str_A = str_A( 1:6 );
end
temp = repmat( ' ',1,MAX - length(str_A));
str = [str temp str_A];
end
disp(str)
if mod(i,5)==0
disp(sprintf('\n'))
end
end
str = repmat( '-' , 1 , 5 + MAX * length(B) );
disp(str)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -