Tentativo di evitare la trasposizioneHo uno script che funziona, ma applica una trasposizione per ottenere il risultato desiderato. Mi chiedevo se ci fosse un modo meno macchinoso per raggiungere lo stesso obiettivo. Ho tre colonne: una contiene un coefficiente quadratico (a), la seconda un coefficiente lineare (b) e la terza una costante (c). Moltiplicando per una variabile di input x, ottengo un arco. Esiste un modo per formare quell'arco senza trasporre i dati? Attualmente, creo colonne con variazioni incrementali di x in una tabella trasposta, ma i dati sono molto digitali e potrebbe esserci un approccio migliore.
ax² + bx + c = 0
Automazione e scriptingOggetto: Tentativo di evitare la trasposizioneDai un'occhiata alla funzione Y
Oggetto: Tentativo di evitare la trasposizioneJim
Grazie per questo, non riesco a trovare un esempio comprensibile. Sospettavo ci fosse un modo migliore per farlo. Tra l'altro, anche il limite superiore di X è memorizzato in una colonna.
Oggetto: Tentativo di evitare la trasposizioneRecupera i valori dalla tua tabella e applicali all'esempio presente nell'Indice di scripting. Valuta i valori utilizzando la funzione Y, ad esempio con Eval(EvalExpr()).
Names Default To Here(1);
New Window("Example",
Graph Box(
Pen Color("red");
Y Function(20 + 40 * Sin(a / 30), a);
)
);
Facoltativamente è possibile creare una colonna formula e utilizzare Profiler
Oggetto: Tentativo di evitare la trasposizioneHo provato, ma devo elevare x alla potenza di 2 e sembra che sia proprio lì che fallisce.
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)));
))
);
Oggetto: Tentativo di evitare la trasposizioneIn che senso fallisce? Viene visualizzato un messaggio di errore? Il tuo codice funziona quando lo eseguo su una tabella di prova con quattro righe. Forse dovrei solo regolare un po' gli assi.

Oggetto: Tentativo di evitare la trasposizioneL'errore è stato mio, hai ragione, la trama funziona. Mi restano 2 sfide.
1. Vorrei visualizzare tutti i grafici su un unico diagramma.
2. Vorrei limitare x per ogni grafico a un valore memorizzato in un'altra colonna di dati. Generalmente, tale valore è >100.
Oggetto: Tentativo di evitare la trasposizioneQualcosa del genere dovrebbe funzionare. Ho aggiunto una colonna chiamata "Limite X" e ci ho inserito un paio di numeri.
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"] ) )
)
)
)
)
);

Oggetto: Tentativo di evitare la trasposizioneQuesto approccio funziona, tuttavia è molto più lento del metodo di trasposizione che utilizzavo inizialmente. Purtroppo, posso avere una grande quantità di dati da elaborare.