Hallo,
Eine mögliche Low-Tech-Lösung wäre, Ihre Referenzkurve in einer separaten Spalte in Ihrer Datentabelle zu berechnen und sie dann mit den restlichen Daten zu zeichnen.
Am besten,
TS
Hallo,
Klicken Sie mit der rechten Maustaste auf das Diagramm, wählen Sie im Kontextmenü „Anpassen“ und klicken Sie auf das Symbol „+“. Von hier aus können Sie ein Skript mit der Funktion Y-Funktion ( ) hinzufügen, die zwei Argumente akzeptiert: einen Ausdruck (die Funktion) und die Domänenvariable (hier x).
Klicken Sie auf OK und Sie sind fertig.

Dies ist auch einfach per Skripting mit der Funktion Y-Funktion ( ) möglich. Hier ist y = 2x^2 + 3x -5 entsprechend den Koeffizienten [2, 3, -5] aufgetragen. Ich habe hier die Horner-Regel verwendet, da sie die Dinge in der nächsten Abbildung einfacher macht.
dt = astable(J(40,2,randominteger(-20,20)));
gb = dt << Graph Builder( Variables( X( :Col2 ), Y( :Col1 ) ), Elements( Points( X, Y, Legend( 3 ) ) ) );
report(gb)[framebox(1)] << add graphics script ( Y Function( (2 * x + 3) * x - 5, x ) );
Ein Problem besteht darin, dass die Koeffizienten möglicherweise zur Laufzeit bestimmt werden, möglicherweise keine ganzen Zahlen sind und der Grad des Polynoms möglicherweise unbekannt ist. In diesem Fall funktioniert so etwas wie das Folgende:
dt = astable(J(40,2,randominteger(-20,20)));
gb = dt << Graph Builder(
Variables( X( :Col2 ), Y( :Col1 ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
);
// get random uniform coefficient matrix
coef = J(5, 1, randomuniform());
// build an expression using Horner's rule:
for each ( {v, i }, coef,// i = 1; v = coef[i];
if (i > 1,
fctExp = insert ( insert ( expr ( multiply ( ) ), nameExpr ( fctExp ) ), expr ( x ) );
,
fctExp = expr ( 0 );
);
fctExp = insert ( insert ( expr( add ( ) ), nameexpr( fctExp ) ), v );
);
// substitute into a graph script expressison and evaluate
graphAdd = expr (
report(gb)[framebox(1)] << add graphics script ( Y Function( _EXPRESSION_ , x ) )
);
eval ( substitute ( nameexpr(graphAdd), expr( _EXPRESSION_ ), nameexpr ( fctExp ) ) );
//show the expression in the log
show ( fctExp )

Ihr ursprünglicher Vorschlag, ein Skript über die Anpassungsfunktion hinzuzufügen, hat funktioniert. Danke schön!
Hallo.
Ich zeichne Daten mit Fit Y by X.
Ich möchte eine vorbekannte quadratische Linie als Referenzlinie zeichnen (anstatt eine an die angezeigten Daten anzupassen). Ich kann mir vorstellen, wie dies für eine lineare Anpassung mithilfe von „Spezial anpassen“ und „Linear“ erfolgen würde und dann den Achsenabschnitt und die Steigung auf beliebige Werte beschränken würde. Wenn Sie jedoch „Quadratisch“ (oder höhere Ordnungen) aus dem Dropdown-Feld auswählen, erhalten Sie keine Möglichkeit, die zusätzlichen Koeffizienten einzugeben, die eingeschränkt werden sollen.
Kann ich es stattdessen per Skript machen und wenn ja, welches Format wäre das?
Vielen Dank