方程式の係数が必要ですこんにちは、
2 つの変数間の近似方程式の係数を生成する必要があります。 しかし、JMP は独立変数を変更して方程式を生成しますが、これは私が望むものではありません。 その際に JMP を回避するために何かできることはありますか?
たとえば、以下の表の場合、JMP は次の方程式を生成します。「Y = 1124.1 - 38.7*X + 9.8*(X-23)^2 + 0.7*(X-23)^3 - 0.1*(X-23)^」 4」。
私が欲しいのは、A*X^4 + B*X^3 + C*X^2 + D*X + E だけです。 この形式で取得するにはどうすればよいですか?
| バツ | Y |
| 12 | 111 |
| 13 | 213 |
| 16 | 654 |
| 23 | 222 |
| 33 | 877 |
| 41 | 94 |
@txnelson
Re: 方程式に係数が必要です@raj138 、
データテーブルを参照して列名を指定するには、複数の方法があります。JMP メニュー > ヘルプ >スクリプトインデックスおよび JMP メニュー > ヘルプ > 書籍 >スクリプトガイドは優れた参考資料です。
現在開いているデータ テーブルを参照する一般的な方法は次のとおりです。
dt = Current Data Table();
データテーブルを開く場合の構文は次のとおりです。
dt = Open( "directory/file.jmp" );
JMP は、データベースや Excel などの他のファイル タイプからデータを取得することもできます。 以下は、Y に体重、X に身長を指定したサンプル データセット Big Class.jm を使用する例です。 スクリプトを使用すると、より高次の多項式を指定できることに注意してください。
Names Default to Here(1);
dt = Open("$Sample_Data/Big Class.jmp");
biv = dt <<BIVARIATE></BIVARIATE>Re: 方程式に係数が必要ですこんにちは@gzmorgan0
解決策をありがとうございます。 場合によっては、次数 6 の多項式を使用して近似する必要がある場合があります。その場合、解決策 1 は機能しません。 5度までしかフィットしないというオプションもあります。
スクリプトを使用した解決策 2 が気に入っていますが、数百行のデータを取得する場合があるため、コード内の値に言及するのではなく、テーブルからデータを呼び出すようにスクリプトを変更するのを手伝っていただけますか。
-ラージ
Re: 方程式に係数が必要です@Mark_Bailey 、
ハイマーク。 読者への簡単な追加メモですが、[Save Predicted for Fit Y by X、Centered Polynomial、Quartic] では、中央に配置されたモデルが保存されます。 ただし、これはモデルの適合によって保存された累乗式とネストされた乗算式です。 簡略化するは、べき乗の公式を拡張および簡素化するものではありません。投稿で述べたように、簡略化するネストされた乗算式から非中心式を作成します。
Fit Y by X saved power formulaFit Y by X saved power formulaY を X で当てはめる保存電力の公式
Fit Model saved nested multiplication formulaFit Model saved nested multiplication formulaフィットモデルに保存されたネストされた乗算式
Re: 方程式に係数が必要です追加のソリューション:
モデルのフィットを使用する場合は、起動ダイアログの左上隅にある赤い三角形をクリックし、選択を解除します。中心多項式。
近似された中心モデルを列式として保存する場合は、式エディターで式を開き、式の上にある赤い三角形をクリックして、簡略化する。
Re: 方程式に係数が必要です@raj138 、
JMP UI を使用し、JMP Fit Y by X を使用している場合は、次を選択します。フィットスペシャル以下のダイアログ ウィンドウが表示されます。
- チェックを外します中心多項式
- 4 次多項式の場合は Quartic を選択します


スクリプトを使用している場合、これを取得する方法は多数あります。ここではその一例を示します。
Names Default to Here(1);
dt = New Table( "Coef Example",
Add Rows( 6 ),
New Column( "X",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [12, 13, 16, 23, 33, 41] )
),
New Column( "Y",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [111, 213, 654, 222, 877, 94] )
)
);
biv = dt <<BIVARIATE></BIVARIATE>