# revertToOriginal

Class: FunctionApproximation.LUTSolution
Package: FunctionApproximation

Revert the block that was replaced by the approximation back to its original state

## Syntax

```revertToOriginal(solution) ```

## Description

`revertToOriginal(solution)` reverts the block that was replaced by a lookup table approximation back to its original state.

Note

You can only revert a block back to its original state within a single MATLAB® session.

## Input Arguments

expand all

The solution approximating the block you want to revert to its original state, specified as a `FunctionApproximation.LUTSolution` object.

## Examples

expand all

This example shows how to approximate a block using a lookup table approximation, replace the original block with the approximation, and then revert the block back to its original state.

Open the model containing the block to approximate. In this example, replace the tan block with a lookup table approximation.

```open_system('ex_luto_approx') ```

Create a `FunctionApproximation.Problem` object specifying what you want to approximate.

```problem = FunctionApproximation.Problem('ex_luto_approx/Trigonometric Function') ```
```problem = 1x1 FunctionApproximation.Problem with properties: FunctionToApproximate: 'ex_luto_approx/Trigonometric Function' NumberOfInputs: 1 InputTypes: "numerictype('double')" InputLowerBounds: -1.5083 InputUpperBounds: 1.5083 OutputType: "numerictype('double')" Options: [1x1 FunctionApproximation.Options] ```

Use default values for all other options. To approximate the block use the `solve` method.

```solution = solve(problem) ```
```| ID | Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification | Error(Max,Current) | | 0 | 48 | 0 | 2 | 8 | 16 | EvenSpacing | 7.812500e-03, 9.471100e+00 | | 1 | 800 | 0 | 49 | 8 | 16 | EvenSpacing | 7.812500e-03, 4.497029e-01 | | 2 | 1584 | 1 | 98 | 8 | 16 | EvenSpacing | 7.812500e-03, 1.016505e-05 | | 3 | 1056 | 0 | 65 | 8 | 16 | EvenSpacing | 7.812500e-03, 4.497029e-01 | | 4 | 544 | 0 | 33 | 8 | 16 | EvenSpacing | 7.812500e-03, 4.497029e-01 | | 5 | 416 | 0 | 25 | 8 | 16 | EvenSpacing | 7.812500e-03, 4.497029e-01 | | 6 | 368 | 0 | 22 | 8 | 16 | EvenSpacing | 7.812500e-03, 4.534664e+00 | | 7 | 64 | 0 | 2 | 16 | 16 | EvenSpacing | 7.812500e-03, 9.517788e+00 | | 8 | 768 | 1 | 46 | 16 | 16 | EvenSpacing | 7.812500e-03, 2.192364e-04 | | 9 | 752 | 1 | 45 | 16 | 16 | EvenSpacing | 7.812500e-03, 1.220687e-04 | | 10 | 592 | 1 | 35 | 16 | 16 | EvenSpacing | 7.812500e-03, 2.388241e-04 | | 11 | 576 | 1 | 34 | 16 | 16 | EvenSpacing | 7.812500e-03, 6.201875e-05 | | 12 | 416 | 0 | 24 | 16 | 16 | EvenSpacing | 7.812500e-03, 8.559014e-01 | | 13 | 400 | 0 | 23 | 16 | 16 | EvenSpacing | 7.812500e-03, 1.008229e+00 | | 14 | 496 | 0 | 29 | 16 | 16 | EvenSpacing | 7.812500e-03, 2.136958e-01 | | 15 | 528 | 1 | 31 | 16 | 16 | EvenSpacing | 7.812500e-03, 1.018354e-04 | | 16 | 512 | 0 | 30 | 16 | 16 | EvenSpacing | 7.812500e-03, 1.037605e-01 | | 17 | 288 | 0 | 16 | 16 | 16 | EvenSpacing | 7.812500e-03, 2.391904e+00 | | 18 | 464 | 0 | 27 | 16 | 16 | EvenSpacing | 7.812500e-03, 4.491186e-01 | | 19 | 80 | 0 | 2 | 8 | 32 | EvenSpacing | 7.812500e-03, 9.471052e+00 | | 20 | 48 | 0 | 2 | 8 | 16 | EvenPow2Spacing | 7.812500e-03, 1.146582e+01 | | 21 | 416 | 0 | 25 | 8 | 16 | EvenPow2Spacing | 7.812500e-03, 4.497029e-01 | | 22 | 224 | 0 | 13 | 8 | 16 | EvenPow2Spacing | 7.812500e-03, 2.887487e+00 | | 23 | 64 | 0 | 2 | 16 | 16 | EvenPow2Spacing | 7.812500e-03, 1.145654e+01 | | 24 | 432 | 0 | 25 | 16 | 16 | EvenPow2Spacing | 7.812500e-03, 6.957588e-01 | | 25 | 240 | 0 | 13 | 16 | 16 | EvenPow2Spacing | 7.812500e-03, 3.221296e+00 | | 26 | 80 | 0 | 2 | 8 | 32 | EvenPow2Spacing | 7.812500e-03, 1.146600e+01 | | 27 | 432 | 0 | 13 | 8 | 32 | EvenPow2Spacing | 7.812500e-03, 2.887556e+00 | | 28 | 96 | 0 | 2 | 16 | 32 | EvenPow2Spacing | 7.812500e-03, 1.145661e+01 | | 29 | 448 | 0 | 13 | 16 | 32 | EvenPow2Spacing | 7.812500e-03, 3.221186e+00 | | 30 | 128 | 0 | 2 | 32 | 32 | EvenPow2Spacing | 7.812500e-03, 1.145660e+01 | | 31 | 480 | 0 | 13 | 32 | 32 | EvenPow2Spacing | 7.812500e-03, 3.220685e+00 | | 32 | 96 | 0 | 2 | 32 | 16 | EvenPow2Spacing | 7.812500e-03, 1.145654e+01 | | 33 | 464 | 0 | 25 | 32 | 16 | EvenPow2Spacing | 7.812500e-03, 6.951333e-01 | | 34 | 272 | 0 | 13 | 32 | 16 | EvenPow2Spacing | 7.812500e-03, 3.220611e+00 | | 35 | 216 | 1 | 9 | 8 | 16 | ExplicitValues | 7.812500e-03, 9.900552e-04 | | 36 | 192 | 0 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.142949e-02 | | 37 | 192 | 0 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.142949e-02 | | 38 | 192 | 0 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.142949e-02 | | 39 | 192 | 0 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.142949e-02 | | 40 | 192 | 1 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.383244e-03 | | 41 | 144 | 0 | 2 | 8 | 64 | EvenSpacing | 7.812500e-03, 1.118208e+01 | | 42 | 144 | 0 | 2 | 8 | 64 | EvenPow2Spacing | 7.812500e-03, 1.195947e+01 | Best Solution | ID | Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification | Error(Max,Current) | | 40 | 192 | 1 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.383244e-03 | solution = 1x1 FunctionApproximation.LUTSolution with properties: ID: 40 Feasible: "true" ```

Generate a Simulink™ subsystem containing the lookup table approximation using the `approximate` method.

```approximate(solution) ```

Replace the original block with the approximation.

```replaceWithApproximate(solution) ```

You can revert the system back to its original state using the `revertToOriginal` method.

```revertToOriginal(solution) ```

## Version History

Introduced in R2018b