連立方程式(線形、非線形)を解く方法
[OS]ALL
[リリース] ALL
[キーワード] MODEL, SOLVE
[質問]
SASで連立方程式を解く方法を教えてください。
[回答]
SAS/ETSのMODELプロシジャを用いると、連立方程式(線形、非線形)の「実数解」を求めることができます。 sqrt(x)-y=0 3+2/x-y=0 を解くものです。 サンプルプログラム data test; input a b @@; cards; 3 2 ; run; /*MODELプロシジャ*/ proc model data=test; /*方程式は、以下のようにeq.### = の形で記述する。*/ eq.sqrt = sqrt(x) - y; eq.hyperbola = a + b / x - y; /*SOLVEステートメントで解くべき変数を指定。 また、アウトプットウィンドウへ解を出力するためSOLVEPRINTオプションも 指定する。*/ solve x y / solveprint; run; quit; 上記プログラムの出力結果 Solution Values x y 10.21329 3.19582 MODELプロシジャを利用した際には、解が2つ(2組)以上存在する場合にも1つ(1組)の解しか得られません。MODELプロシジャの詳細については、SAS/ETSのドキュメントをご参照ください。 なお、代数方程式の解法については下記のFAQをご参照ください。 |