Sto prendendo un certo intervallo di punti dati attorno alla parte dritta della mia curva e sto tentando di estrarre un'intercetta x da essa usando un adattamento lineare. Posso visualizzare un'equazione per la linea ma non riesco a fare molto con essa.
Come minimo, voglio prendere quell'equazione, risolvere per x quando y = 0 e quindi visualizzare quel numero sotto il grafico.
Qual è il modo migliore per estrarre queste informazioni?
In uno scenario ideale, potrei visualizzare l'intero intervallo di dati, ma adattare solo l'intervallo di punti dati che ho attualmente visualizzato.
Grazie per il tuo aiuto.
Come dovrebbe apparire idealmente:

Il mio grafico con il filtro dati:

Il codice:
Graph Builder(
Size( 618, 525 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :V1 ), Y( :I1 ), Page( :Sweep Name ), Overlay( :Test Count ) ),
Elements(
Line Of Fit( X, Y, Legend( 18 ), Confidence of Fit( 0 ) ),
Points( X, Y, Legend( 19 ) )
),
Local Data Filter(
Add Filter(
columns( :I1, :Test Count ),
Where( :I1 >= 0.003 & :I1 <= 0.008 ),
Where( :Test Count == "1" ),
Display( :Test Count, N Items( 15 ), Find( Set Text( "" ) ) )
)
),
SendToReport(
Dispatch(
{},
"I1",
ScaleBox( 2 ),
{Min( 0 ), Max( 0.008 ), Inc( 0.001 ), Minor Ticks( 1 )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "On Voltage" )} )
)
);
Poiché si utilizza un filtro e quindi si adatta una linea a quel piccolo sottoinsieme, utilizzare Adatta modello per adattare la linea. In questo modo hai l'opzione Previsione inversa dal menu a comparsa rosso in Stime> Previsione inversa. Metti la tua Y come 0 e JMP troverà la tua X e fornirà persino un intervallo di confidenza del 95% per la X.
Esecuzione della grande idea di @Dan_Obermiller questo potrebbe apparire come segue:
Names Default To Here( 1 );
// generate data
dt = New Table( "Characteristic curve",
add rows( 21 ),
New Column( "V", set values( Matrix( -10 :: 10 ) / 10 ) ),
New Column( "I", set each value( If( Exp( :V ) < 1.5, 0, Exp( :V ) - 1.5 ) ) )
);
dt << show window( 0 );
// create a dashboard to display all windows
nw = New Window( "Dashboard Inverse Prediction",
H List Box( vlb_left = V List Box(), vlb_right = V List Box() ),
<<ON close="">= 0.2 ) ) )
)
);
// get report and make into data table
tb_lst = Report( fm_obj ) << xpath( "//TableBox" );
result_dt = tb_lst[N Items( tb_lst )] << make data table;
result_dt << show window( 0 );
// and fill into dashboard
vlb_left << append( outline box("Inverse Prediction", dg1 = result_dt << new data box()) );
dg1 << close side panels( 1 );
dg1 << set height( 30 );
// place GraphBuilder into dashboard
vlb_left << append(// visualize
dt << Graph Builder(
show control panel( 0 ),
Variables( X( :V ), Y( :I ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
)
);
vlb_left << append( dg2 = dt << new data box() );
dg2 << close side panels( 1 );
</ON>