ビジネス・インテリジェンス[BI] のリーディング・カンパニー | SAS Japan SAS Japan
「THE POWER TO KNOW(知る力)」を提供するビジネス・インテリジェンス[BI]のリーディング・カンパニー | SAS Japan  トレーニング マニュアル ユーザー事例 パートナー ユーザー会 求人情報 資料請求・ダウンロード
Home News Products & Solutions Events & Seminer Customer Support Company www.sas.com
 

連立方程式(線形、非線形)を解く方法

[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をご参照ください。

The Power to Know
   Contact Us     Terms of Use & Legal Information     Privacy Statement     個人情報の取り扱いについて   Copyright © 2008 SAS Institute Inc. All Rights Reserved