このバージョンのヘルプはこれ以降更新されません。最新のヘルプは https://www.jmp.com/support/help/ja/15.2   からご覧いただけます。


「プログラミング手法」章の「式の操作」(240ページ)の例では、JSLのSubstitute Into()関数を使って、2次式の係数にある値を与えた後、その指定された2次式の解を求める方法を示しています。その例では、2次式の係数をSubstitute Into()の引数として指定しています。
第 “列ダイアログの作成”の節では、モーダルウィンドウを介してユーザに係数を入力させる例を示しています。
myCoeffs = New Window( "2次式の根を見つける",
// ウィンドウを表示して、ユーザに係数を入力させる
	<<Modal,
	H List Box(
		a = Number Edit Box( 1 ),
		Text Box( "*x^2 + " ),
		b = Number Edit Box( 2 ),
		Text Box( "*x + " ),
		c = Number Edit Box( 1 ),
		Text Box( " = 0" )
	),
	Button Box( "OK",
		a = a << Get;
		b = b << Get;
		c = c << Get;
		Show( a, b, c );
	),
	Button Box( "キャンセル")
);
 
x = {Expr(
	(-b + Sqrt( b ^ 2 - 4 * a * c )) / (2 * a)
), Expr(
	(-b - Sqrt( b ^ 2 - 4 * a * c )) / (2 * a)
)};
/* 結果を算出する: 2次式は
	 x=(-b + - sqrt(b^2 - 4ac))/2a。係数を2次式に
	入れる */
xx = Eval Expr( x );
// 解のリストを保存する
 
results = Expr(
/* 実根が見つかったかどうかテストし、適切な表示をする
	yesの場合(たとえば、ウィンドウのデフォルトで)は、根とグラフを表示する */
	xmin = xx[1] - 5;
	xmax = xx[2] + 5;
	ymin = -20;
	ymax = 20;
	win = New Window( "2次関数の根",
		V List Box(
			Text Box( "方程式の実根" ),
			Text Box( "    " || Expr( po ) || " = 0" ),
			H List Box( Text Box( "are x=" ), Text Box( xxx ) ),
			Text Box( " " ), // 空白行を取得するため
			Graph Box(
				Frame Size( 200, 200 ),
				X Scale( xmin, xmax ),
				Y Scale( ymin, ymax ),
				Line Style( 2 ),
				H Line( 0 ),
				Line Style( 0 ),
				Y Function( polynomial, x ),
				Line Style( 3 ),
				Pen Color( 3 ),
				V Line( xx[1] ),
				V Line( xx[2] ),
				Marker Size( 2 ),
				Marker( 0, {xx[1], 0}, {xx[2], 0} )
			)
		)
	);
);
error = Expr(
/* noの場合(たとえば、a=3、b=4、c=5で)は、エラー
ウィンドウと理解を手助けするグラフを表示する */
	win = New Window( "エラー",
		V List Box(
			Text Box( " " ),
			Text Box( "  多項式 " || po || " には実根がない。" ),
			Text Box( " " ),
			Text Box( "原因を知るために、関数のグラフを表示" ),
			Graph Box(
				Frame Size( 200, 200 ),
				X Scale( -20, 20 ),
				Y Scale( -20, 20 ),
				Line Style( 2 ),
				H Line( 0 ),
				Line Style( 0 ),
				Y Function( polynomial, x )
			)
		)
	)
);
polynomial = Expr( a * x ^ 2 + b * x + c );
// どちらの場合も、スクリプトは準備のための文字列を必要とする
// 指定された係数で多項式を書き直す
po = Char( Eval Expr( polynomial ) );
// 多項式のこのインスタンスを文字列で保存:
 
xxx = Char( Eval Expr( x ) );
// 解のリストを文字列で保存
 
If( Is Missing( xx[1] ) | Is Missing( xx[2] ), // テスト準備完了
	error,
	results
);
図11.31 独自に作成したウィンドウ
[OK]をクリックすると、根またはエラーメッセージのどちらかを示す、結果のウィンドウが表示されます(カスタムプラットフォームのレポート)。もう一度スクリプトを実行し、フィールドに5、4、5とそれぞれ入力して[OK]をクリックします。JMPは実根がないというメッセージを表示します(カスタムプラットフォームのレポートの右側)。
図11.32 カスタムプラットフォームのレポート