Класс: Функциональная аппроксимация.
Пакет: Функциональная аппроксимация
Доступ к решению найден во время процесса приближения
other_solution = solutionfromID(solution,id)
возвращает решение, сопоставленное с other_solution
= solutionfromID(solution
,id
)FunctionApproximation.LUTSolution
объект, solution
, с ID, заданным id
.
solution
— Объект SolutionFunctionApproximation.LUTSolution
объектОбъект решения, содержащий решение, вы хотите исследовать в виде FunctionApproximation.LUTSolution
объект.
id
— ID решенияID решения, которое вы хотите исследовать в виде скалярного целого числа.
Типы данных: double
other_solution
— FunctionApproximation.LUTSolution
заданный id
FunctionApproximation.LUTSolution
объектFunctionApproximation.LUTSolution
объект сопоставлен с заданным ID.
В этом примере показано, как использовать solutionfromID
метод FunctionApproximation.LUTSolution
объект исследовать другие решения для приближения.
Создайте FunctionApproximation.Problem
объект, задающий математическую функцию, чтобы аппроксимировать. Затем используйте solve
метод, чтобы получить FunctionApproximation.LUTSolution
объект.
problem = FunctionApproximation.Problem('sin')
problem = 1x1 FunctionApproximation.Problem with properties: FunctionToApproximate: @(x)sin(x) NumberOfInputs: 1 InputTypes: "numerictype(0,16,13)" InputLowerBounds: 0 InputUpperBounds: 6.2832 OutputType: "numerictype(1,16,14)" Options: [1x1 FunctionApproximation.Options]
solution = solve(problem)
| ID | Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification | Error(Max,Current) | | 0 | 64 | 0 | 2 | 16 | 16 | EvenSpacing | 7.812500e-03, 1.000000e+00 | | 1 | 784 | 1 | 47 | 16 | 16 | EvenSpacing | 7.812500e-03, 5.388912e-03 | | 2 | 768 | 1 | 46 | 16 | 16 | EvenSpacing | 7.812500e-03, 4.534419e-03 | | 3 | 608 | 1 | 36 | 16 | 16 | EvenSpacing | 7.812500e-03, 4.089765e-03 | | 4 | 592 | 1 | 35 | 16 | 16 | EvenSpacing | 7.812500e-03, 4.272461e-03 | | 5 | 416 | 1 | 24 | 16 | 16 | EvenSpacing | 7.812500e-03, 6.192382e-03 | | 6 | 400 | 1 | 23 | 16 | 16 | EvenSpacing | 7.812500e-03, 6.939196e-03 | | 7 | 64 | 0 | 2 | 16 | 16 | EvenPow2Spacing | 7.812500e-03, 1.315166e+00 | | 8 | 576 | 0 | 18 | 16 | 16 | ExplicitValues | 7.812500e-03, 7.827414e-03 | | 9 | 640 | 1 | 20 | 16 | 16 | ExplicitValues | 7.812500e-03, 7.784160e-03 | | 10 | 576 | 0 | 18 | 16 | 16 | ExplicitValues | 7.812500e-03, 7.866281e-03 | | 11 | 576 | 0 | 18 | 16 | 16 | ExplicitValues | 7.812500e-03, 7.849443e-03 | | 12 | 640 | 1 | 20 | 16 | 16 | ExplicitValues | 7.812500e-03, 7.244422e-03 | Best Solution | ID | Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification | Error(Max,Current) | | 6 | 400 | 1 | 23 | 16 | 16 | EvenSpacing | 7.812500e-03, 6.939196e-03 |
solution = 1x1 FunctionApproximation.LUTSolution with properties: ID: 6 Feasible: "true"
Отобразите все возможные решения, найденные во время процесса приближения.
displayfeasiblesolutions(solution)
| ID | Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification | Error(Max,Current) | | 1 | 784 | 1 | 47 | 16 | 16 | EvenSpacing | 7.812500e-03, 5.388912e-03 | | 2 | 768 | 1 | 46 | 16 | 16 | EvenSpacing | 7.812500e-03, 4.534419e-03 | | 3 | 608 | 1 | 36 | 16 | 16 | EvenSpacing | 7.812500e-03, 4.089765e-03 | | 4 | 592 | 1 | 35 | 16 | 16 | EvenSpacing | 7.812500e-03, 4.272461e-03 | | 5 | 416 | 1 | 24 | 16 | 16 | EvenSpacing | 7.812500e-03, 6.192382e-03 | | 6 | 400 | 1 | 23 | 16 | 16 | EvenSpacing | 7.812500e-03, 6.939196e-03 | | 9 | 640 | 1 | 20 | 16 | 16 | ExplicitValues | 7.812500e-03, 7.784160e-03 | | 12 | 640 | 1 | 20 | 16 | 16 | ExplicitValues | 7.812500e-03, 7.244422e-03 | Best Solution | ID | Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification | Error(Max,Current) | | 6 | 400 | 1 | 23 | 16 | 16 | EvenSpacing | 7.812500e-03, 6.939196e-03 |
Решение с ID 5 не перечислено как возможное решение в таблице. Исследуйте это решение видеть, почему это не выполнимо.
solution5 = solutionfromID(solution, 5)
solution5 = 1x1 FunctionApproximation.LUTSolution with properties: ID: 5 Feasible: "true"
Сравните числовое поведение решения с ID 5.
compare(solution5)
ans = struct with fields:
Breakpoints: [51473x1 double]
Original: [51473x1 double]
Approximate: [51473x1 double]
Вы видите из графика, что решение не соответствует необходимым допускам.
FunctionApproximation.LUTMemoryUsageCalculator
| FunctionApproximation.LUTSolution
| FunctionApproximation.Options
| FunctionApproximation.Problem
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.