solutionfromID
クラス: FunctionApproximation.LUTSolution
パッケージ: FunctionApproximation
近似プロセスで見つかった解へのアクセス
構文
other_solution = solutionfromID(solution,id)
説明
は、other_solution
= solutionfromID(solution
,id
)FunctionApproximation.LUTSolution
オブジェクト solution
に関連付けられている解を id
で指定された ID とともに返します。
入力引数
solution
— Solution オブジェクト
FunctionApproximation.LUTSolution
オブジェクト
調べる解が含まれている Solution オブジェクト。FunctionApproximation.LUTSolution
オブジェクトとして指定します。
id
— 解の ID
スカラー整数
調べる解の ID。スカラー整数として指定します。
データ型: double
出力引数
other_solution
— id
で指定された FunctionApproximation.LUTSolution
FunctionApproximation.LUTSolution
オブジェクト
指定した ID に関連付けられている FunctionApproximation.LUTSolution
オブジェクト。
例
関数の近似の実行不可能な解の確認
この例では、FunctionApproximation.LUTSolution
オブジェクトの solutionfromID
メソッドを使用して他の近似の解を確認する方法を示します。
近似する数学関数を定義する 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)
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, 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.201693e-03 | | 6 | 400 | 1 | 23 | 16 | 16 | EvenSpacing | 7.812500e-03, 6.836819e-03 | | 7 | 224 | 0 | 12 | 16 | 16 | EvenSpacing | 7.812500e-03, 4.013411e-02 | | 8 | 304 | 0 | 17 | 16 | 16 | EvenSpacing | 7.812500e-03, 1.887217e-02 | | 9 | 352 | 1 | 20 | 16 | 16 | EvenSpacing | 7.812500e-03, 7.807773e-03 | | 10 | 320 | 0 | 18 | 16 | 16 | EvenSpacing | 7.812500e-03, 1.695679e-02 | | 11 | 336 | 1 | 19 | 16 | 16 | EvenSpacing | 7.812500e-03, 7.810061e-03 | | 12 | 64 | 0 | 2 | 16 | 16 | EvenPow2Spacing | 7.812500e-03, 1.315166e+00 | | 13 | 576 | 1 | 18 | 16 | 16 | ExplicitValues | 7.812500e-03, 7.803448e-03 | | 14 | 512 | 0 | 16 | 16 | 16 | ExplicitValues | 7.812500e-03, 1.190175e-02 | | 15 | 576 | 1 | 18 | 16 | 16 | ExplicitValues | 7.812500e-03, 7.803448e-03 | Best Solution | ID | Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification | Error(Max,Current) | | 11 | 336 | 1 | 19 | 16 | 16 | EvenSpacing | 7.812500e-03, 7.810061e-03 |
solution = 1x1 FunctionApproximation.LUTSolution with properties: ID: 11 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.201693e-03 | | 6 | 400 | 1 | 23 | 16 | 16 | EvenSpacing | 7.812500e-03, 6.836819e-03 | | 9 | 352 | 1 | 20 | 16 | 16 | EvenSpacing | 7.812500e-03, 7.807773e-03 | | 11 | 336 | 1 | 19 | 16 | 16 | EvenSpacing | 7.812500e-03, 7.810061e-03 | | 13 | 576 | 1 | 18 | 16 | 16 | ExplicitValues | 7.812500e-03, 7.803448e-03 | | 15 | 576 | 1 | 18 | 16 | 16 | ExplicitValues | 7.812500e-03, 7.803448e-03 | Best Solution | ID | Memory (bits) | Feasible | Table Size | Breakpoints WLs | TableData WL | BreakpointSpecification | Error(Max,Current) | | 11 | 336 | 1 | 19 | 16 | 16 | EvenSpacing | 7.812500e-03, 7.810061e-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 で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)