Класс: Функциональная аппроксимация.
Пакет: Функциональная аппроксимация
Доступ к решению найден во время процесса приближения
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 заданный idFunctionApproximation.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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.