# Arithmetic-methods: Arithmetic Operations on Fuzzy Numbers In FuzzyNumbers: Tools to Deal with Fuzzy Numbers

## Description

Applies arithmetic operations using the extension principle and interval-based calculations.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60``` ```## S4 method for signature 'numeric,FuzzyNumber' e1 + e2 # e2 + e1 ## S4 method for signature 'TrapezoidalFuzzyNumber,TrapezoidalFuzzyNumber' e1 + e2 ## S4 method for signature ## 'PiecewiseLinearFuzzyNumber,PiecewiseLinearFuzzyNumber' e1 + e2 ## S4 method for signature 'PiecewiseLinearFuzzyNumber,numeric' e1 + e2 ## S4 method for signature 'PiecewiseLinearFuzzyNumber,FuzzyNumber' e1 + e2 # calls as.PiecewiseLinearFuzzyNumber() ## S4 method for signature 'numeric,FuzzyNumber' e1 - e2 # e2*(-1) + e1 ## S4 method for signature 'TrapezoidalFuzzyNumber,TrapezoidalFuzzyNumber' e1 - e2 ## S4 method for signature ## 'PiecewiseLinearFuzzyNumber,PiecewiseLinearFuzzyNumber' e1 - e2 ## S4 method for signature 'PiecewiseLinearFuzzyNumber,numeric' e1 - e2 ## S4 method for signature 'PiecewiseLinearFuzzyNumber,FuzzyNumber' e1 - e2 # calls as.PiecewiseLinearFuzzyNumber() ## S4 method for signature 'FuzzyNumber,ANY' e1 - e2 # -e1 ## S4 method for signature 'numeric,FuzzyNumber' e1 * e2 # e2 * e1 ## S4 method for signature 'TrapezoidalFuzzyNumber,numeric' e1 * e2 ## S4 method for signature ## 'PiecewiseLinearFuzzyNumber,PiecewiseLinearFuzzyNumber' e1 * e2 ## S4 method for signature 'PiecewiseLinearFuzzyNumber,FuzzyNumber' e1 * e2 # calls as.PiecewiseLinearFuzzyNumber() ## S4 method for signature 'PiecewiseLinearFuzzyNumber,numeric' e1 * e2 ## S4 method for signature 'PiecewiseLinearFuzzyNumber,numeric' e1 / e2 ## S4 method for signature ## 'PiecewiseLinearFuzzyNumber,PiecewiseLinearFuzzyNumber' e1 / e2 ## S4 method for signature 'PiecewiseLinearFuzzyNumber,FuzzyNumber' e1 / e2 # calls as.PiecewiseLinearFuzzyNumber() ```

## Arguments

 `e1` a fuzzy number or single numeric value `e2` a fuzzy number or single numeric value

## Details

Implemented operators: `+`, `-`, `*`, `/` for piecewise linear fuzzy numbers. Also some versions may be applied on numeric values and trapezoidal fuzzy numbers.

Note that according to the theory the class of PLFNs is not closed under the operations * and /. However, if you operate on a large number of knots, the results should be satisfactory.

Thanks to Jan Caha for suggestions on PLFN operations.

## Value

Returns a fuzzy number of the class PiecewiseLinearFuzzyNumber or TrapezoidalFuzzyNumber.

Other FuzzyNumber-method: `Extract`, `FuzzyNumber-class`, `FuzzyNumber`, `alphaInterval()`, `alphacut()`, `ambiguity()`, `as.FuzzyNumber()`, `as.PiecewiseLinearFuzzyNumber()`, `as.PowerFuzzyNumber()`, `as.TrapezoidalFuzzyNumber()`, `as.character()`, `core()`, `distance()`, `evaluate()`, `expectedInterval()`, `expectedValue()`, `integrateAlpha()`, `piecewiseLinearApproximation()`, `plot()`, `show()`, `supp()`, `trapezoidalApproximation()`, `value()`, `weightedExpectedValue()`, `width()`
Other PiecewiseLinearFuzzyNumber-method: `Extract`, `PiecewiseLinearFuzzyNumber-class`, `PiecewiseLinearFuzzyNumber`, `^,PiecewiseLinearFuzzyNumber,numeric-method`, `alphaInterval()`, `arctan2()`, `as.PiecewiseLinearFuzzyNumber()`, `as.PowerFuzzyNumber()`, `as.TrapezoidalFuzzyNumber()`, `as.character()`, `expectedInterval()`, `fapply()`, `maximum()`, `minimum()`, `necessityExceedance()`, `necessityStrictExceedance()`, `necessityStrictUndervaluation()`, `necessityUndervaluation()`, `plot()`, `possibilityExceedance()`, `possibilityStrictExceedance()`, `possibilityStrictUndervaluation()`, `possibilityUndervaluation()`
Other TrapezoidalFuzzyNumber-method: `TrapezoidalFuzzyNumber-class`, `TrapezoidalFuzzyNumber`, `TriangularFuzzyNumber()`, `alphaInterval()`, `as.PiecewiseLinearFuzzyNumber()`, `as.PowerFuzzyNumber()`, `as.TrapezoidalFuzzyNumber()`, `expectedInterval()`, `plot()`
Other extension_principle: `^,PiecewiseLinearFuzzyNumber,numeric-method`, `fapply()`