JanoschekPositive

Janoschek's (S-shaped) growth curve with positive slope

Diagram

Information

This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.

Many natural growth processes can be very closely described by s-shaped parametric functions (e.g., logistic curve). A. Janoschek [19] has proposed a growth curve that is determined by four parameters in 1957, which is very similar to the Weibull growth curve.

The function is given by the following equation:

y = l - (l-beta) * Exp(-k*u^delta)

Where l is the upper boundβ is the lower bound, and δ is a parameter that determines the rate of growth (e.g., steepness of the curve). Given the point of inflection (x_ref,y_ref) the parameter k can be obtained in closed form, which is made use of in this implementation.

The following animation shows a growth curve with the following parameters:

Parameter Value
upperBound

2

lowerBound

0.1

(x_ref, y_ref)

(1,1)

growthRate

1, ... ,10

Notes

  • The lowerBound must be smaller than the upperBound. Also y_ref needs to be in the range [lowerBound, upperBound], while x_ref has to be a positive number larger than zero.

  • By default (strict = true) the component will not generate events.

See also

JanoschekNegative

Parameters (10)

convertInput

Value: false

Type: Boolean

Description: = true, if the input value is a rate or time variable that needs to be converted

inputIsRate

Value: false

Type: Boolean

Description: = true, if the input is given in units of time, otherwise it is assumed to be a rate

convertOutput

Value: false

Type: Boolean

Description: = true, if the output value is a rate or time variable that needs to be converted

outputIsRate

Value: false

Type: Boolean

Description: = true, if the output is given in units of time, otherwise it is assumed to be a rate

lowerBound

Value: 0

Type: Real

Description: Lower asymptote for u <= 0 (lowerBound < upperBound)

upperBound

Value: 2

Type: Real

Description: Upper asymptote for u -> infinity

growthRate

Value: 2

Type: Real

Description: Determines the gradient of the curve

x_ref

Value: 1

Type: InputType

Description: x-value (i.e., u) for point of inflection(x_ref > 0)

y_ref

Value: 1

Type: Real

Description: y-value for point of inflection(lowerBound < y_ref < upperBound)

strict

Value: true

Type: Boolean

Description: = true, if strict limits with noEvent(..)

Connectors (4)

y

Type: RealOutput

Description: Output signal

u

Type: RealInput

Description: Input

u_c

Type: RealOutput

Description: Input after conversion

y_c

Type: RealOutput

Description: Output before conversion

Components (7)

modelSettings

Type: ModelSettings

Description: Setting important global variables within a model

rateConversionIn

Type: RateConversion

Description: Convert the input (rate) to another time base

noConversionIn

Type: PassThrough

Description: Use input as is

timeConversionIn

Type: TimeConversion

Description: Convert the input to another time base

noConversionOut

Type: PassThrough

Description: Use output as is

rateConversionOut

Type: RateConversion

Description: Convert the output (rate) to 1/s

timeConversionOut

Type: TimeConversion

Description: Convert the output to seconds

Used in Examples (1)

LookupFunctions

BusinessSimulation.Examples

Showcase of lookup-functions

Used in Components (1)

Lookup_JPositive

BusinessSimulation.CausalLoop

Positively sloping s-shaped lookup

Revisions

  • Modified in v2.0.0.

  • Changed type for x_ref to InputType in v2.2.