12#include "libmesh/utility.h"
29 _a(getParam<Real>(
"location")),
30 _b(getParam<Real>(
"scale")),
31 _c(getParam<Real>(
"shape"))
36Weibull::pdf(
const Real &
x,
const Real & location,
const Real & scale,
const Real & shape)
42 const Real
y = (
x - location) /
scale;
43 return shape /
scale * std::pow(
y, shape - 1.0) * std::exp(-std::pow(
y, shape));
48Weibull::cdf(
const Real &
x,
const Real & location,
const Real & scale,
const Real & shape)
54 const Real
y = (
x - location) /
scale;
55 return 1.0 - std::exp(-std::pow(
y, shape));
62 return location +
scale * std::pow(-std::log(1 -
p), 1.0 / shape);
const std::vector< double > y
const std::vector< double > x
registerMooseObject("StochasticToolsApp", Weibull)
static InputParameters validParams()
A class used to generate a three-parameter Weibull distribution.
const Real & _a
The location parameter (a or low)
Weibull(const InputParameters ¶meters)
virtual Real pdf(const Real &x) const override
const Real & _c
The shape parameter (c or k)
virtual Real cdf(const Real &x) const override
static InputParameters validParams()
const Real & _b
The scale parameter (b or lambda)
virtual Real quantile(const Real &p) const override