Tentative d'éviter la transpositionJ'ai un script fonctionnel, mais il utilise la transposition pour obtenir le résultat souhaité. Existe-t-il une méthode plus élégante ? J'ai trois colonnes : la première contient un coefficient quadratique (a), la deuxième un coefficient linéaire (b) et la troisième une constante (c). En multipliant ces valeurs par une variable d'entrée x, j'obtiens un arc. Est-il possible de tracer cet arc sans transposer les données ? Actuellement, je crée des colonnes avec des variations incrémentales de x dans un tableau transposé, mais les données étant très numériques, une meilleure approche est sans doute envisageable.
ax² + bx + c = 0
Automatisation et scriptageRe: Tentative d'éviter la transpositionJetez un œil à la fonction Y
Re: Tentative d'éviter la transpositionJim
Merci pour cette précision, je n'arrive pas à trouver d'exemple compréhensible. Je me doutais bien qu'il existait une meilleure solution. D'ailleurs, la limite supérieure de X est également stockée dans une colonne.
Re: Tentative d'éviter la transpositionExtrayez les valeurs de votre tableau en vous référant à l'exemple fourni dans l'index de script. Évaluez ces valeurs à l'aide de la fonction Y, par exemple avec Eval(EvalExpr()).
Names Default To Here(1);
New Window("Example",
Graph Box(
Pen Color("red");
Y Function(20 + 40 * Sin(a / 30), a);
)
);
Vous pouvez également créer une colonne de formule et utiliser Profiler.
Re: Tentative d'éviter la transpositionJ'ai essayé ceci, mais je dois élever x à la puissance 2 et c'est là que ça semble poser problème.
Names Default To Here(1);
dt = Current Data Table();
nw = New Window("window", vlb = V List Box());
For Each Row(dt,
Eval(EvalExpr(
vlb << Append(Graph Box(Y Function(Expr(dt[Row(), "HL_HR1_R"]) + Expr(dt[Row(), "HL_HR2_R"]) * x + Expr(dt[Row(), "HL_HR3_R"]) * Power (x, 2) ,x)));
))
);
Re: Tentative d'éviter la transpositionComment cela ne fonctionne-t-il pas ? Y a-t-il un message d'erreur ? Votre code fonctionne correctement lorsque je l'exécute sur un tableau factice de quatre lignes. Je devrais peut-être ajuster légèrement les axes.

Re: Tentative d'éviter la transpositionL'erreur était de ma faute, tu as raison, ça complote. Il me reste deux défis.
1 Je voudrais que tous les graphiques soient regroupés sur un seul graphique.
2 Je souhaite limiter la valeur de x pour chaque graphique à une valeur stockée dans une autre colonne de données. Généralement, cette valeur est supérieure à 100.
Re: Tentative d'éviter la transpositionQuelque chose comme ça devrait fonctionner. J'ai ajouté une colonne appelée « Limite X » et j'y ai entré quelques nombres.
Names Default To Here( 1 );
dt = Current Data Table();
nw = New Window( "window", gb = Graph Box( X Scale( 0, 120 ), Y Scale( 0, 35000 ) ) );
For Each Row(
dt,
Eval(
Eval Expr(
gb[FrameBox( 1 )] << Add Graphics Script(
Y Function(
Expr( dt[Row(), "HL_HR1_R"] ) + Expr( dt[Row(), "HL_HR2_R"] ) * x + Expr( dt[Row(), "HL_HR3_R"] ) * Power( x, 2 ),
x,
Max( Expr( dt[Row(), "X Limit"] ) )
)
)
)
)
);

Re: Tentative d'éviter la transpositionCette approche fonctionne, mais elle est beaucoup plus lente que la méthode de transposition que j'utilisais initialement. Malheureusement, la quantité de données à traiter peut être importante.