Класс: Функциональная аппроксимация.
Пакет: Функциональная аппроксимация
Замените блок на сгенерированное приближение интерполяционной таблицы
replaceWithApproximate(solution)
replaceWithApproximate(
заменяет блок Simulink на его приближение интерполяционной таблицы, сгенерированное использование solution
)approximate
метод FunctionApproximation.LUTSolution
объект.
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 | 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.057648e-02 | | 24 | 216 | 1 | 9 | 8 | 16 | ExplicitValues | 7.812500e-03, 7.187595e-03 | | 25 | 216 | 0 | 9 | 8 | 16 | ExplicitValues | 7.812500e-03, 1.057648e-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.187595e-03 | | 28 | 144 | 0 | 2 | 8 | 64 | EvenSpacing | 7.812500e-03, 1.195947e+01 | | 29 | 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) | | 24 | 216 | 1 | 9 | 8 | 16 | ExplicitValues | 7.812500e-03, 7.187595e-03 | solution = 1x1 FunctionApproximation.LUTSolution with properties: ID: 24 Feasible: "true"
Сгенерируйте подсистему Simulink™, содержащую приближение интерполяционной таблицы с помощью approximate
метод.
approximate(solution)
Замените исходный блок на приближение.
replaceWithApproximate(solution)
Можно вернуться система назад к ее исходному состоянию с помощью revertToOriginal
метод.
revertToOriginal(solution)
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.