Класс: Функция Аппроксимация. Растворение
Пакет: Функциональная аппроксимация
Вернуть блок, который был заменен аппроксимацией, в исходное состояние
revertToOriginal(solution)
revertToOriginal( возвращает блок, который был заменен аппроксимацией таблицы подстановки, в исходное состояние.solution)
Примечание
Восстановить исходное состояние блока можно только в пределах одной сессии MATLAB ®.
solution - Решение, аппроксимирующее блок, который требуется вернуть в исходное состояние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.016505e-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.192364e-04 |
| 8 | 752 | 1 | 45 | 16 | 16 | EvenSpacing | 7.812500e-03, 1.220687e-04 |
| 9 | 592 | 1 | 35 | 16 | 16 | EvenSpacing | 7.812500e-03, 2.388241e-04 |
| 10 | 576 | 1 | 34 | 16 | 16 | EvenSpacing | 7.812500e-03, 6.201875e-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.018354e-04 |
| 15 | 512 | 0 | 30 | 16 | 16 | EvenSpacing | 7.812500e-03, 1.037605e-01 |
| 16 | 288 | 0 | 16 | 16 | 16 | EvenSpacing | 7.812500e-03, 2.391904e+00 |
| 17 | 464 | 0 | 27 | 16 | 16 | EvenSpacing | 7.812500e-03, 4.491186e-01 |
| 18 | 80 | 0 | 2 | 8 | 32 | EvenSpacing | 7.812500e-03, 1.146600e+01 |
| 19 | 48 | 0 | 2 | 8 | 16 | EvenPow2Spacing | 7.812500e-03, 1.146582e+01 |
| 20 | 64 | 0 | 2 | 16 | 16 | EvenPow2Spacing | 7.812500e-03, 1.145654e+01 |
| 21 | 80 | 0 | 2 | 8 | 32 | EvenPow2Spacing | 7.812500e-03, 1.146600e+01 |
| 22 | 96 | 0 | 2 | 16 | 32 | EvenPow2Spacing | 7.812500e-03, 1.145661e+01 |
| 23 | 128 | 0 | 2 | 32 | 32 | EvenPow2Spacing | 7.812500e-03, 1.145660e+01 |
| 24 | 96 | 0 | 2 | 32 | 16 | EvenPow2Spacing | 7.812500e-03, 1.145654e+01 |
| 25 | 216 | 1 | 9 | 8 | 16 | ExplicitValues | 7.812500e-03, 9.900552e-04 |
| 26 | 192 | 0 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.142949e-02 |
| 27 | 192 | 0 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.142949e-02 |
| 28 | 192 | 0 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.142949e-02 |
| 29 | 192 | 0 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.142949e-02 |
| 30 | 192 | 1 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.383244e-03 |
| 31 | 144 | 0 | 2 | 8 | 64 | EvenSpacing | 7.812500e-03, 1.195947e+01 |
| 32 | 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) |
| 30 | 192 | 1 | 8 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.383244e-03 |
solution =
1x1 FunctionApproximation.LUTSolution with properties:
ID: 30
Feasible: "true"
Создайте подсистему Simulink™, содержащую аппроксимацию таблицы поиска, используя approximate способ.
approximate(solution)

Замените исходный блок аппроксимацией.
replaceWithApproximate(solution)
Можно вернуть систему в исходное состояние с помощью revertToOriginal способ.
revertToOriginal(solution)
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.