Main Content

replaceWithApproximate

クラス: FunctionApproximation.LUTSolution
パッケージ: FunctionApproximation

生成されたルックアップ テーブル近似によるブロックの置換

構文

replaceWithApproximate(solution)

説明

replaceWithApproximate(solution) は、FunctionApproximation.LUTSolution オブジェクトの approximate メソッドを使用して生成されたルックアップ テーブル近似で simulink ブロックを置き換えます。

入力引数

すべて展開する

ソース ブロックの置換に使用する解。FunctionApproximation.LUTSolution オブジェクトとして指定します。

すべて展開する

この例では、ルックアップ テーブル近似を使用してブロックを近似し、元のブロックを近似で置き換え、ブロックを基の状態に戻す方法を説明します。

近似するブロックを含むモデルを開きます。この例では tan ブロックをルックアップ テーブル近似で置き換えます。

open_system('ex_luto_approx')

近似する対象を指定する FunctionApproximation.Problem オブジェクトを作成します。

problem = FunctionApproximation.Problem('ex_luto_approx/Trigonometric Function')
problem = 

  1x1 FunctionApproximation.Problem with properties:

    FunctionToApproximate: 'ex_luto_approx/Trigonometric Function'
           NumberOfInputs: 1
               InputTypes: "numerictype('double')"
         InputLowerBounds: -1.5083
         InputUpperBounds: 1.5083
               OutputType: "numerictype('double')"
                  Options: [1x1 FunctionApproximation.Options]

他のオプションについてはすべて既定値を使用します。ブロックを近似するには solve メソッドを使用します。

solution = solve(problem)
|  ID |  Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification |             Error(Max,Current) | 
|   0 |             48 |        0 |          2 |               8 |           16 |             EvenSpacing |     7.812500e-03, 9.471100e+00 |
|   1 |            800 |        0 |         49 |               8 |           16 |             EvenSpacing |     7.812500e-03, 4.497029e-01 |
|   2 |           1584 |        1 |         98 |               8 |           16 |             EvenSpacing |     7.812500e-03, 1.016505e-05 |
|   3 |           1056 |        0 |         65 |               8 |           16 |             EvenSpacing |     7.812500e-03, 4.497029e-01 |
|   4 |            544 |        0 |         33 |               8 |           16 |             EvenSpacing |     7.812500e-03, 4.497029e-01 |
|   5 |            416 |        0 |         25 |               8 |           16 |             EvenSpacing |     7.812500e-03, 4.497029e-01 |
|   6 |            368 |        0 |         22 |               8 |           16 |             EvenSpacing |     7.812500e-03, 4.534664e+00 |
|   7 |             64 |        0 |          2 |              16 |           16 |             EvenSpacing |     7.812500e-03, 9.517788e+00 |
|   8 |            768 |        1 |         46 |              16 |           16 |             EvenSpacing |     7.812500e-03, 2.192364e-04 |
|   9 |            752 |        1 |         45 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.220687e-04 |
|  10 |            592 |        1 |         35 |              16 |           16 |             EvenSpacing |     7.812500e-03, 2.388241e-04 |
|  11 |            576 |        1 |         34 |              16 |           16 |             EvenSpacing |     7.812500e-03, 6.201875e-05 |
|  12 |            416 |        0 |         24 |              16 |           16 |             EvenSpacing |     7.812500e-03, 8.559014e-01 |
|  13 |            400 |        0 |         23 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.008229e+00 |
|  14 |            496 |        0 |         29 |              16 |           16 |             EvenSpacing |     7.812500e-03, 2.136958e-01 |
|  15 |            528 |        1 |         31 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.018354e-04 |
|  16 |            512 |        0 |         30 |              16 |           16 |             EvenSpacing |     7.812500e-03, 1.037605e-01 |
|  17 |            288 |        0 |         16 |              16 |           16 |             EvenSpacing |     7.812500e-03, 2.391904e+00 |
|  18 |            464 |        0 |         27 |              16 |           16 |             EvenSpacing |     7.812500e-03, 4.491186e-01 |
|  19 |             80 |        0 |          2 |               8 |           32 |             EvenSpacing |     7.812500e-03, 9.471052e+00 |
|  20 |             48 |        0 |          2 |               8 |           16 |         EvenPow2Spacing |     7.812500e-03, 1.146582e+01 |
|  21 |            416 |        0 |         25 |               8 |           16 |         EvenPow2Spacing |     7.812500e-03, 4.497029e-01 |
|  22 |            224 |        0 |         13 |               8 |           16 |         EvenPow2Spacing |     7.812500e-03, 2.887487e+00 |
|  23 |             64 |        0 |          2 |              16 |           16 |         EvenPow2Spacing |     7.812500e-03, 1.145654e+01 |
|  24 |            432 |        0 |         25 |              16 |           16 |         EvenPow2Spacing |     7.812500e-03, 6.957588e-01 |
|  25 |            240 |        0 |         13 |              16 |           16 |         EvenPow2Spacing |     7.812500e-03, 3.221296e+00 |
|  26 |             80 |        0 |          2 |               8 |           32 |         EvenPow2Spacing |     7.812500e-03, 1.146600e+01 |
|  27 |            432 |        0 |         13 |               8 |           32 |         EvenPow2Spacing |     7.812500e-03, 2.887556e+00 |
|  28 |             96 |        0 |          2 |              16 |           32 |         EvenPow2Spacing |     7.812500e-03, 1.145661e+01 |
|  29 |            448 |        0 |         13 |              16 |           32 |         EvenPow2Spacing |     7.812500e-03, 3.221186e+00 |
|  30 |            128 |        0 |          2 |              32 |           32 |         EvenPow2Spacing |     7.812500e-03, 1.145660e+01 |
|  31 |            480 |        0 |         13 |              32 |           32 |         EvenPow2Spacing |     7.812500e-03, 3.220685e+00 |
|  32 |             96 |        0 |          2 |              32 |           16 |         EvenPow2Spacing |     7.812500e-03, 1.145654e+01 |
|  33 |            464 |        0 |         25 |              32 |           16 |         EvenPow2Spacing |     7.812500e-03, 6.951333e-01 |
|  34 |            272 |        0 |         13 |              32 |           16 |         EvenPow2Spacing |     7.812500e-03, 3.220611e+00 |
|  35 |            216 |        1 |          9 |               8 |           16 |          ExplicitValues |     7.812500e-03, 9.900552e-04 |
|  36 |            192 |        0 |          8 |               8 |           16 |          ExplicitValues |     7.812500e-03, 1.142949e-02 |
|  37 |            192 |        0 |          8 |               8 |           16 |          ExplicitValues |     7.812500e-03, 1.142949e-02 |
|  38 |            192 |        0 |          8 |               8 |           16 |          ExplicitValues |     7.812500e-03, 1.142949e-02 |
|  39 |            192 |        0 |          8 |               8 |           16 |          ExplicitValues |     7.812500e-03, 1.142949e-02 |
|  40 |            192 |        1 |          8 |               8 |           16 |          ExplicitValues |     7.812500e-03, 1.383244e-03 |
|  41 |            144 |        0 |          2 |               8 |           64 |             EvenSpacing |     7.812500e-03, 1.118208e+01 |
|  42 |            144 |        0 |          2 |               8 |           64 |         EvenPow2Spacing |     7.812500e-03, 1.195947e+01 |

Best Solution
|  ID |  Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification |             Error(Max,Current) |
|  40 |            192 |        1 |          8 |               8 |           16 |          ExplicitValues |     7.812500e-03, 1.383244e-03 |


solution = 

  1x1 FunctionApproximation.LUTSolution with properties:

          ID: 40
    Feasible: "true"

approximate メソッドを使用したルックアップ テーブル近似を含む Simulink™ サブシステムを生成します。

approximate(solution)

元のブロックを近似で置き換えます。

replaceWithApproximate(solution)

revertToOriginal メソッドを使用してシステムを元の状態に戻すことができます。

revertToOriginal(solution)

バージョン履歴

R2018b で導入