solutionfromID

Класс: Функциональная аппроксимация.
Пакет: Функциональная аппроксимация

Доступ к решению найден во время процесса приближения

Синтаксис

other_solution = solutionfromID(solution,id)

Описание

other_solution = solutionfromID(solution,id) возвращает решение, сопоставленное с FunctionApproximation.LUTSolution объект, solution, с ID, заданным id.

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

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

Объект решения, содержащий решение, вы хотите исследовать в виде FunctionApproximation.LUTSolution объект.

ID решения, которое вы хотите исследовать в виде скалярного целого числа.

Типы данных: double

Выходные аргументы

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

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]

Вы видите из графика, что решение не соответствует необходимым допускам.

Введенный в R2018a

Для просмотра документации необходимо авторизоваться на сайте