⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 findrhoc.m

📁 Matlab实现:erlang 公式
💻 M
字号:
%% rho=findrhoc(n,p)%% Finds an intensity rho such that C(n,rho)=p.  %% Note: Must have 0<p<1.  Returns NaN if p is not in this range.%function rho=findrhoc(n,p)%% Sanity check- make sure that n is a positive integer.%  if ((floor(n) ~= n) || (n < 1))    warning('n is not a positive integer');    rho=NaN;    return;  end;%% Sanity check- make sure that p is a probability with 0<p<1.%  if ((p<0.0) || (p>1.0))     warning('Invalid p value!');     rho=NaN;     return;  end;%% We know that at rho=0, p=0, and at rho=+Inf, p=1.   We start by finding% an interval [0,a] containing the root.%a=1.0;testp=erlangc(n,a);while (testp < p),  a=a*2.0;  testp=erlangc(n,a);end;%% Now, the root is somewhere between 0 and a.  Use bisection to find it.% %left=0.0;right=a;mid=(left+right)/2;midp=erlangc(n,mid);while ((right-left) > 0.0001*max([1 left])),  if (midp < p),    left=mid;    mid=(left+right)/2;    midp=erlangc(n,mid);       else    right=mid;    mid=(left+right)/2;    midp=erlangc(n,mid);       end;end;%% Return the left end point of the current interval, which has prob < p.%rho=left;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -