Main Content

solve

Método solve para una solución optimizada el problema de aproximación de funciones

Sintaxis

solution = solve(problem)

Descripción

solution = solve(problem) resuelve el problema de optimización definido por el objeto FunctionApproximation.Problem, problem, y devuelve el resultado optimizado, solution, como un objeto FunctionApproximation.LUTSolution.

Argumentos de entrada

expandir todo

Problema de optimización especificado como un objeto FunctionApproximation.Problem que define la función o el bloque Math Function o el bloque Lookup Table que se desea optimizar, y otros parámetros y restricciones que se van a utilizar durante el proceso de optimización.

Argumentos de salida

expandir todo

Solución de aproximación, devuelta como un objeto FunctionApproximation.LUTSolution.

Ejemplos

expandir todo

Cree un objeto FunctionApproximation.Problem, especificando una función matemática que se desea aproximar.

problem = FunctionApproximation.Problem('log')
problem = 

  FunctionApproximation.Problem with properties

    FunctionToApproximate: @(x)log(x)
           NumberOfInputs: 1
               InputTypes: "numerictype(1,16,10)"
         InputLowerBounds: 0.6250
         InputUpperBounds: 15.6250
               OutputType: "numerictype(1,16,13)"
                  Options: [1×1 FunctionApproximation.Options]

Use los valores predeterminados para las demás opciones.

Use el método solve para generar una aproximación de la función.

solution = solve(problem)
|    ID |   Memory (bits) |   ConstraintMet |      Table Size | Breakpoints WLs |    TableData WL |   BreakpointSpecification |             Error(Max,Current) | 
|     0 |              64 |               0 |               2 |              16 |              16 |           EvenPow2Spacing |     7.812500e-03, 1.178125e+00 |
|     1 |            1984 |               1 |             122 |              16 |              16 |           EvenPow2Spacing |     7.812500e-03, 4.192649e-03 |
|     2 |            1024 |               0 |              62 |              16 |              16 |           EvenPow2Spacing |     7.812500e-03, 1.416713e-02 |
|     3 |            1968 |               1 |             121 |              16 |              16 |           EvenPow2Spacing |     7.812500e-03, 4.192649e-03 |
|     4 |              64 |               0 |               2 |              16 |              16 |               EvenSpacing |     7.812500e-03, 1.138984e+00 |
|     5 |             416 |               1 |              13 |              16 |              16 |            ExplicitValues |     7.812500e-03, 7.310789e-03 |

Best Solution
|    ID |   Memory (bits) |   ConstraintMet |      Table Size | Breakpoints WLs |    TableData WL |   BreakpointSpecification |             Error(Max,Current) |
|     5 |             416 |               1 |              13 |              16 |              16 |            ExplicitValues |     7.812500e-03, 7.310789e-03 |


solution = 

  FunctionApproximation.LUTSolution with properties

          ID: 5
    Feasible: "true"

Luego puede usar el método approximate para generar un subsistema que contenga la aproximación de la tabla de búsqueda.

Historial de versiones

Introducido en R2018a