u_estimateint.~pas
来自「以多个信息系统为例」· ~PAS 代码 · 共 54 行
~PAS
54 行
unit u_EstimateInt;
{可靠性参数估计接口}
interface
type
TSample=record
Time:Double;
Failed:Boolean;
end;
TTimeList=Array of TSample;
TSampleR=record
Time:Double;
R:Double;
end;
TSampleRList=Array of TSampleR;
TPoint=record
X:Double;
Y:Double;
end;
TPointList=Array of TPoint;
{指数分布密度函数}
function ExpDistf(lambda,t:Double):Double;StdCall;
{指数分布累计函数}
function ExpDistFT(lambda,t:Double):Double;StdCall;
{指数分布点估计}
function ExpDistPointEsti(WorkTime:TTimeList):Double;StdCall;
{威布尔分布密度函数}
function WeibullDistf(beta,eta,gamma,t:Double):Double;StdCall;
{威布尔分布累计函数}
function WeibullDistFT(beta,eta,gamma,t:Double):Double;StdCall;
{威布尔分布累计函数反函数}
function WeibullDistFA(beta,eta,gamma,F:Double):Double;StdCall;
{截尾数据可靠度计算}
function TruncationR(var WorkTime:TTimeList;CalResult:TSampleRList):integer;StdCall;
{最小二乘法直线拟合y=a+bx}
function LeastSquaresFit(PointList:TPointList;var a,b:Double):Double;StdCall;
{二参数威布尔分布点估计-最小二乘估计}
function Weibull2PointEstiLeast(WorkTime:TTimeList;var beta, eta:Double):Boolean;StdCall;
implementation
function ExpDistf; external 'Estimate.dll' name 'ExpDistf';
function ExpDistFT; external 'Estimate.dll' name 'ExpDistFT';
function ExpDistPointEsti; external 'Estimate.dll' name 'ExpDistPointEsti';
function WeibullDistf; external 'Estimate.dll' name 'WeibullDistf';
function WeibullDistFT; external 'Estimate.dll' name 'WeibullDistFT';
function WeibullDistFA; external 'Estimate.dll' name 'WeibullDistFA';
function Weibull2PointEstiLeast; external 'Estimate.dll' name 'Weibull2PointEstiLeast';
function TruncationR; external 'Estimate.dll' name 'TruncationR';
function LeastSquaresFit; external 'Estimate.dll' name 'LeastSquaresFit';
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?