主要内容

compare

FunctionApproximation.LUTSolution 的数值结果与原始函数或查找表进行比较

语法

data = compare(solution)

说明

data = compare(solution) 绘制包含在 FunctionApproximation.LUTSolution 对象 solution 中的数据与原始查找表、函数或 Math Function 模块之间的差。

输入参数

全部展开

要与原始行为进行比较的解,指定为 FunctionApproximation.LUTSolution 对象。

输出参量

全部展开

结构体,其中包含对原始函数或查找表与解中包含的逼近进行比较的数据。

示例

全部展开

创建一个定义您要逼近的函数的 FunctionApproximation.Problem 对象。

problem = FunctionApproximation.Problem('tanh')
problem = 
  1×1 FunctionApproximation.Problem with properties:

    FunctionToApproximate: @(x)tanh(x)
           NumberOfInputs: 1
               InputTypes: "numerictype(1,16,12)"
         InputLowerBounds: -8
         InputUpperBounds: 8
               OutputType: "numerictype(1,16,15)"
                  Options: [1×1 FunctionApproximation.Options]

对所有其他选项使用默认值。使用 solve 方法逼近 tanh 函数。

solution = solve(problem)
Searching for fixed-point solutions.

|  ID |  Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification |             Error(Max,Current) | 
|   0 |             64 |        0 |          2 |              16 |           16 |             EvenSpacing |     7.812500e-03, 7.229091e-01 |
|   1 |           1248 |        1 |         76 |              16 |           16 |             EvenSpacing |     7.812500e-03, 4.368265e-03 |
|   2 |           1232 |        1 |         75 |              16 |           16 |             EvenSpacing |     7.812500e-03, 4.439035e-03 |
|   3 |            944 |        1 |         57 |              16 |           16 |             EvenSpacing |     7.812500e-03, 7.780470e-03 |
|   4 |            928 |        1 |         56 |              16 |           16 |             EvenSpacing |     7.812500e-03, 5.383741e-03 |
|   5 |            656 |        0 |         39 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.678519e-02 |
|   6 |            640 |        0 |         38 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.660649e-02 |
|   7 |            784 |        1 |         47 |              16 |           16 |             EvenSpacing |     7.812500e-03, 7.743777e-03 |
|   8 |            704 |        1 |         42 |              16 |           16 |             EvenSpacing |     7.812500e-03, 7.805676e-03 |
|   9 |            672 |        1 |         40 |              16 |           16 |             EvenSpacing |     7.812500e-03, 7.809550e-03 |
|  10 |            368 |        0 |         21 |              16 |           16 |             EvenSpacing |     7.812500e-03, 4.855583e-02 |
|  11 |            512 |        0 |         30 |              16 |           16 |             EvenSpacing |     7.812500e-03, 2.773526e-02 |
|  12 |            592 |        0 |         35 |              16 |           16 |             EvenSpacing |     7.812500e-03, 2.088471e-02 |
|  13 |            624 |        0 |         37 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.870074e-02 |
|  14 |            384 |        1 |         12 |              16 |           16 |          ExplicitValues |     7.812500e-03, 7.812317e-03 |
|  15 |            384 |        0 |         12 |              16 |           16 |          ExplicitValues |     7.812500e-03, 1.196141e-02 |
|  16 |            384 |        1 |         12 |              16 |           16 |          ExplicitValues |     7.812500e-03, 7.812317e-03 |

Best Solution
|  ID |  Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification |             Error(Max,Current) |
|  14 |            384 |        1 |         12 |              16 |           16 |          ExplicitValues |     7.812500e-03, 7.812317e-03 |
solution = 
  1×1 FunctionApproximation.LUTSolution with properties:

          ID: 14
    Feasible: "true"

对原始函数与函数逼近进行比较。

data = compare(solution)

Figure contains 2 axes objects. Axes object 1 with title Comparison of Original Function and Approximation, xlabel Input, ylabel Function Value contains 2 objects of type line. These objects represent Original, Approximation. Axes object 2 with title Feasibility of Solution: Feasible AbsTol = 0.0078125 RelTol = 0.0078125, xlabel Input, ylabel Error contains 3 objects of type area, line. These objects represent Feasible Region : Absolute Error <= Max Error Allowed, Max Error Allowed : max(abs(Original) * RelTol, AbsTol), Absolute Error : abs(Original - Approximation).

data = struct with fields:
    Breakpoints: [65536×1 double]
       Original: [65536×1 double]
    Approximate: [65536×1 double]

版本历史记录

在 R2018a 中推出