Skip to content
ドキュメントのセクション

目標値からの逆算

POSThttps://rftools.io/api/py/v1/calculate/solve

計算ツールの出力の 1 つを目標値にする入力値(50 Ω になる配線幅、目標の差動インピーダンスになる間隔など)を求め、その値でのフォワード計算の結果とともに返します。クライアントが手作業で探索すると何度も必要になるフォワード呼び出しを、計上対象の呼び出し 1 回で済ませられます。

リクエストボディ

SolveRequest
フィールド説明
slug必須string計算ツール。
inputs必須object of numberssolveFor 以外のすべての入力。solveFor に値を指定した場合、それは探索の開始点にすぎず、解が複数あるときの選択に使われます。
solveFor必須string計算ツールで宣言されている数値入力。
target.output必須string計算ツールが返す出力のキー。
target.value必須numberその出力が到達すべき値。
gridnumber正の製造グリッド。返される値は、範囲内で最も近いその倍数に丸められます。
range[number, number]solveFor に定められた範囲を絞り込みます。範囲が定められていない場合は必須です。

レスポンス

SolveResponse
フィールド説明
valuenumber求めた値。grid が指定されていればそれに丸められます。
unroundednumberグリッドに丸める前の厳密解。
reachedboolean目標値に到達したかどうか。false の場合も、推測ではなく、見つかった最も近い値が入ります。
evaluationsinteger探索で使ったフォワード評価の回数。
warningsstring[]逆算自身の所見:範囲内のもう 1 つの解、または目標値に到達しなかったこと。
resultobjectsolveFor を value にした入力に対して /calculate が返すものと同一:values、warnings、errors、provenance。
slug, solveFor, target, gridechoリクエストのフィールドを指定どおりに返します。grid が指定されなかった場合は null です。

費用と複数解

費用

計上対象の呼び出し 1 回で、下記のすべてのチェックの後に /calculate と同様に課金され、その後サービス側で失敗した場合は戻されます。探索で到達できない目標値も成功として扱われ、reached: false と見つかった最も近い値が返り、課金されます。呼び出し元が求めたものを、サービスは提供したからです。

解が複数ある場合

範囲内で出力が目標値と 2 回以上交わる場合、呼び出しは開始値(呼び出し元が solveFor に指定した値、なければ計算ツールの既定値)に最も近い交点を返し、もう一方の交点を示す警告を追加します。

拒否

解けないリクエストは課金の前に拒否され、param に問題のあるフィールドが示されます:

逆算の拒否
ステータス発生する場合
404計算ツールのスラッグが存在しません。
400solveFor が計算ツールで宣言された数値入力ではありません(param: solveFor、allowed 付き)。
400target.output が計算ツールの出力ではありません(param: target.output、allowed 付き)。
400grid が指定されていて、有限の正の数でないか、範囲内に倍数がありません。
400指定された値(入力、target.value、範囲の境界)のいずれかが有限ではありません。
400solveFor に範囲が定められておらず、ボディに range もありません。または、指定した範囲が定められた範囲の外にあるか、空です。
400固定した入力が、計算ツールが自身の実行時間に課している上限を超えています(/calculate と同じ)。