Change Syntax from
VDB( Number cost ; Number salvage ; Number life ; Number start-period ; Number end-period [ ; Number depreciation-factor = 2 [ ; Logical switch = FALSE() ] ] )
to
VDB( Number cost ; Number salvage ; Number lifeTime ; Number startPeriod ; Number endPeriod [ ; Number declinationFactor = 2 [ ; Logical noSwitch = FALSE() ] ] )
for readability and to avoid misinterpretation of minus sign in start-period, end-period and declination-factor. Also, noSwitch instead of switch better names the logic used.
Add
Constraints: salvage < cost, lifeTime > 0, 0 ≤ startPeriod ≤ lifeTime, startPeriod ≤ endPeriod ≤ lifeTime, declinationFactor ≥ 0
and remove those from Semantics.
Change Semantics to use the correct parameter names.
Add math formula for integer periods and lifeTime?
Mention interpolation for non-integer periods and lifeTime.
Add to See also: SLN
DDB:
Add to Semantics:
If period is an Integer number, the relation between DDB and VDB is
DDB( cost ; salvage ; lifeTime ; period ; declinationFactor )
equals
VDB( cost ; salvage ; lifeTime ; period - 1 ; period ; declinationFactor ; TRUE() )
Add to See also: VDB