replaceWithApproximate

Класс: FunctionApproximation. LUTSolution
Пакет: FunctionApproximation

Замените блок на сгенерированное приближение интерполяционной таблицы

Синтаксис

replaceWithApproximate(solution)

Описание

replaceWithApproximate(solution) заменяет блок Simulink на его приближение интерполяционной таблицы, сгенерированное использование approximate метод FunctionApproximation.LUTSolution объект.

Входные параметры

развернуть все

Решение заменить исходный блок, заданный как FunctionApproximation.LUTSolution объект.

Примеры

развернуть все

В этом примере показано, как аппроксимировать блок с помощью приближения интерполяционной таблицы, замените исходный блок на приближение, и затем вернитесь блок назад к его исходному состоянию.

Откройте модель, содержащую блок, чтобы аппроксимировать. В этом примере замените коричневый блок на приближение интерполяционной таблицы.

open_system('ex_luto_approx')

Создайте FunctionApproximation.Problem объект, задающий, что вы хотите аппроксимировать.

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]

Используйте значения по умолчанию во всех других опциях. Чтобы аппроксимировать блок используют solve метод.

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, 1.146582e+01 |
|   1 |            800 |        0 |         49 |               8 |           16 |             EvenSpacing |     7.812500e-03, 4.497030e-01 |
|   2 |           1584 |        1 |         98 |               8 |           16 |             EvenSpacing |     7.812500e-03, 1.016648e-05 |
|   3 |            640 |        0 |         39 |               8 |           16 |             EvenSpacing |     7.812500e-03, 3.533199e+00 |
|   4 |            416 |        0 |         25 |               8 |           16 |             EvenSpacing |     7.812500e-03, 4.497030e-01 |
|   5 |           1056 |        0 |         65 |               8 |           16 |             EvenSpacing |     7.812500e-03, 4.497030e-01 |
|   6 |             64 |        0 |          2 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.145654e+01 |
|   7 |            768 |        1 |         46 |              16 |           16 |             EvenSpacing |     7.812500e-03, 2.192430e-04 |
|   8 |            752 |        1 |         45 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.220665e-04 |
|   9 |            592 |        1 |         35 |              16 |           16 |             EvenSpacing |     7.812500e-03, 2.388257e-04 |
|  10 |            576 |        1 |         34 |              16 |           16 |             EvenSpacing |     7.812500e-03, 6.202116e-05 |
|  11 |            416 |        0 |         24 |              16 |           16 |             EvenSpacing |     7.812500e-03, 8.559014e-01 |
|  12 |            400 |        0 |         23 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.008229e+00 |
|  13 |            496 |        0 |         29 |              16 |           16 |             EvenSpacing |     7.812500e-03, 2.136958e-01 |
|  14 |            528 |        1 |         31 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.018420e-04 |
|  15 |            512 |        0 |         30 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.037605e-01 |
|  16 |             80 |        0 |          2 |               8 |           32 |             EvenSpacing |     7.812500e-03, 1.146600e+01 |
|  17 |             48 |        0 |          2 |               8 |           16 |         EvenPow2Spacing |     7.812500e-03, 1.146582e+01 |
|  18 |             64 |        0 |          2 |              16 |           16 |         EvenPow2Spacing |     7.812500e-03, 1.145654e+01 |
|  19 |             80 |        0 |          2 |               8 |           32 |         EvenPow2Spacing |     7.812500e-03, 1.146600e+01 |
|  20 |             96 |        0 |          2 |              16 |           32 |         EvenPow2Spacing |     7.812500e-03, 1.145661e+01 |
|  21 |            128 |        0 |          2 |              32 |           32 |         EvenPow2Spacing |     7.812500e-03, 1.145660e+01 |
|  22 |             96 |        0 |          2 |              32 |           16 |         EvenPow2Spacing |     7.812500e-03, 1.145654e+01 |
|  23 |            216 |        0 |          9 |               8 |           16 |          ExplicitValues |     7.812500e-03, 1.057657e-02 |
|  24 |            216 |        1 |          9 |               8 |           16 |          ExplicitValues |     7.812500e-03, 7.187706e-03 |
|  25 |            216 |        0 |          9 |               8 |           16 |          ExplicitValues |     7.812500e-03, 1.057657e-02 |
|  26 |            216 |        0 |          9 |               8 |           16 |          ExplicitValues |     7.812500e-03, 1.036807e-02 |
|  27 |            216 |        1 |          9 |               8 |           16 |          ExplicitValues |     7.812500e-03, 7.187706e-03 |

Best Solution
|  ID |  Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification |             Error(Max,Current) |
|  24 |            216 |        1 |          9 |               8 |           16 |          ExplicitValues |     7.812500e-03, 7.187706e-03 |


solution = 

  1x1 FunctionApproximation.LUTSolution with properties:

          ID: 24
    Feasible: "true"

Сгенерируйте подсистему Simulink™, содержащую приближение интерполяционной таблицы с помощью approximate метод.

approximate(solution)

Замените исходный блок на приближение.

replaceWithApproximate(solution)

Можно вернуться система назад к ее исходному состоянию с помощью revertToOriginal метод.

revertToOriginal(solution)

Введенный в R2018b