2.2.5.8. UniformByParts law
The UniformByParts law is defined between a minimum and a median and between the median and a maximum, as
\[f(x) = \frac{0.5}{(x_{\rm med}-x_{\rm min})} \; {\rm 1\kern-0.28emI}_{[x_{\rm min},x_{\rm med}]}(x)
\qquad{\rm and} \qquad f(x) =\frac{0.5}{(x_{\rm max}-x_{\rm med})} \;
{\rm 1\kern-0.28emI}_{[x_{\rm med},x_{\rm max}]}(x)\]
Uranie code to simulate a UniformByParts random variable is:
TDataServer *tds = new TDataServer("tdssampler", "Sampler Uranie demo");
tds->addAttribute( new TUniformByPartsDistribution("ubp", 0.0, 1.0, 0.5) );
TSampling *fsamp = new TSampling(tds, "lhs", 300);
fsamp->generateSample(); // Create a representative sample
tds->Draw("ubp");
Figure 2.14 shows the PDF, CDF and inverse CDF generated for different sets of parameters.
Figure 2.14 Example of PDF, CDF and inverse CDF for UniformByParts distributions.