Skip to content
Abschnitte der Dokumentation

Nach einem Zielwert auflösen

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

Findet den Wert einer Eingabe eines Rechners, der eine seiner Ausgaben auf einen Zielwert bringt (die Leiterbahnbreite für 50 Ω, den Abstand für eine Ziel-Differenzimpedanz), und gibt ihn mit dem Vorwärtsergebnis genau bei diesem Wert zurück. Ein gezählter Aufruf ersetzt die Vorwärtsaufrufe, die ein Client sonst für die Suche von Hand aufwenden würde.

Request-Body

SolveRequest
FeldBeschreibung
slugerforderlichstringDer Rechner.
inputserforderlichobject of numbersJede Eingabe außer solveFor. Ein für solveFor angegebener Wert ist nur der Startpunkt der Suche, mit dem zwischen mehreren Lösungen entschieden wird.
solveForerforderlichstringEine deklarierte numerische Eingabe des Rechners.
target.outputerforderlichstringEin Ausgabeschlüssel, den der Rechner zurückgibt.
target.valueerforderlichnumberDer Wert, den diese Ausgabe erreichen soll.
gridnumberEin positives Fertigungsraster; der zurückgegebene Wert wird auf das nächste Vielfache innerhalb des Bereichs gerundet.
range[number, number]Engt die angegebenen Grenzen von solveFor ein; erforderlich, wenn es keine angibt.

Antwort

SolveResponse
FeldBeschreibung
valuenumberDer gefundene Wert, auf grid gerundet, wenn eines angegeben war.
unroundednumberDie exakte Lösung, vor dem Runden auf das Raster.
reachedbooleanOb der Zielwert erreicht wurde; false trägt trotzdem den nächstgelegenen gefundenen Wert, keine Schätzung.
evaluationsintegerWie viele Vorwärtsberechnungen die Suche gebraucht hat.
warningsstring[]Die eigenen Befunde der Lösung: eine weitere Lösung im Bereich oder ein nicht erreichter Zielwert.
resultobjectGenau das, was /calculate für die Eingaben mit solveFor auf value gesetzt zurückgibt: values, warnings, errors und provenance.
slug, solveFor, target, gridechoDie Felder der Anfrage, wie angegeben; grid ist null, wenn keines angegeben war.

Kosten und Mehrdeutigkeit

Kosten

Ein gezählter Aufruf, abgerechnet wie bei /calculate nach allen unten genannten Prüfungen und gutgeschrieben, wenn der Dienst danach scheitert. Ein Zielwert, den die Suche nicht erreichen kann, ist trotzdem ein Erfolg und wird trotzdem abgerechnet, mit reached: false und dem nächstgelegenen gefundenen Wert: Der Aufrufer hat etwas angefragt, das der Dienst geliefert hat.

Mehr als eine Lösung

Kreuzt die Ausgabe den Zielwert innerhalb des Bereichs mehr als einmal, liefert der Aufruf den Schnittpunkt, der dem Startwert am nächsten liegt (dem Wert des Aufrufers für solveFor, sonst dem Standardwert des Rechners), und fügt eine Warnung hinzu, die den anderen nennt.

Ablehnungen

Eine Anfrage, die sich nicht lösen lässt, wird abgelehnt, bevor etwas abgerechnet wird, und param nennt das fehlerhafte Feld:

Ablehnungen von Solve
StatusWann
404Den Rechner-Slug gibt es nicht.
400solveFor ist keine der deklarierten numerischen Eingaben des Rechners (param: solveFor, mit allowed).
400target.output ist keine der Ausgaben des Rechners (param: target.output, mit allowed).
400grid ist angegeben und keine endliche, positive Zahl oder hat kein Vielfaches im Bereich.
400Ein angegebener Wert (eine Eingabe, target.value oder eine Bereichsgrenze) ist nicht endlich.
400solveFor hat keine angegebene Grenze und der Body gibt keinen range an, oder der angegebene Bereich liegt außerhalb der angegebenen Grenzen oder ist leer.
400Eine feste Eingabe überschreitet ein Limit, das der Rechner für seine eigene Laufzeit durchsetzt, wie bei /calculate.