主要内容

approximate

FunctionApproximation.LUTSolution 生成 Lookup Table 模块或作为 MATLAB 函数的查找表

说明

approximate(solution) 根据 FunctionApproximation.Options 对象的 ApproximateSolutionType 属性,生成包含由 Lookup Table 模块组成的子系统的 Simulink® 模型,或作为 MATLAB® 函数的查找表。生成的查找表的数据和断点由 FunctionApproximation.LUTSolution 对象 solution 指定。生成的 Lookup Table 模块由 Data Type Conversion 模块包围。

示例

approximate(solution,'Name',fileName) 生成作为 MATLAB 函数的查找表,生成的 .m 脚本的名称由 fileName 指定。此选项仅在 FunctionApproximation.OptionsApproximateSolutionType 属性设置为 MATLAB 时可用。

approximate(solution,'Name',fileName,'Path',filePath) 生成作为 MATLAB 函数的查找表,生成的 .m 脚本的文件路径由 filePath 指定。此选项仅在 FunctionApproximation.OptionsApproximateSolutionType 属性设置为 MATLAB 时可用。

输入参数

全部展开

从其生成查找表的解,指定为 FunctionApproximation.LUTSolution 对象。

生成的 MATLAB 函数的文件名,指定为字符数组。如果未指定自定义文件名,将使用时间戳生成唯一文件名。例如,approximateFunction_20210617T111033122.m

示例: approximate(solution,'Name','myLUT')

数据类型: char

生成的 MATLAB 函数的文件路径,指定为字符数组。如果未指定自定义文件路径名称,将使用当前工作目录。

示例: approximate(solution,'Name','myLUT','Path','C:\Users\myPath')

数据类型: char

示例

全部展开

创建一个定义您要逼近的函数的 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"

生成包含逼近 tanh 函数的 Lookup Table 模块的 Simulink® 子系统。

approximate(solution)

版本历史记录

在 R2018a 中推出