distributed values.
Example 1
The following example generates 100 random Gamma distributed values and then uses GammaFit routine to extract used a and b parameters: Uses StatRandom, Statistics, MtxExpr;
procedure Example;
var vec1: Vector;
resA, resB : TSample;
CIA,CIB: TTwoElmReal;
begin
// first, generate 1000 randomly gamma distributed
// numbers with parameters a=0.5 and b =1.2
vec1.Size(1000);
RandomGamma(0.5,1.2,vec1);
// Now extract the a,b and their 95% confidence intervals.
// Use at max 400 iterations and tolerance 0.0001
GammaFit(vec1,resA,resB,CIA,CIB,400,1e-4);
end;
#include "StatRandom.hpp"
#include "MtxVecCpp.h"
#include "Statistics.hpp"
void __fastcall Example();
{
Vector vec1;
// first, generate 1000 randomly gamma distributed
// numbers with parameters a=0.5 and b =1.2
vec1->Size(1000,false);
RandomGamma(0.5,1.2,vec1);
// Now extract the a,b and their 95% confidence intervals.
// Use at max 400 iterations and tolerance 0.0001
double resA, ResB;
double CIA[2];
double CIB[2];
GammaFit(vec1,resA,resB,CIA,CIB,400,1e-4,0.05);
}
using Dew.Math;
using Dew.Stats;
using Dew.Stats.Units;
namespace Dew.Examples;
{
private void Example()
{
Vector vec1 = new Vector(0);
// first, generate 1000 randomly gamma distributed
// numbers with parameters a=0.5 and b =1.2
vec1.Size(1000,false);
StatRandom.RandomGamma(0.5,1.2,vec1);
// Now extract the a,b and their 95% confidence intervals.
// Use at max 400 iterations and tolerance 0.0001
double resA, ResB;
double[2] CIA;
double[2] CIB;
GammaFit(vec1,out resA,out resB,out CIA,out CIB,400,1e-4,0.05);
}
}
Declaration
Procedure GammaFit(X: TVec; out A, B: TSample; MaxIter: Integer = 500; Tolerance: TSample = 1e-8);