Wolfram Research製品ご購入サービスとリソース会社概要その他のWolframサイト
Mathematica Technical FAQs Services & Resources / Mathematica / カーネルとプログラミング
-----
 /
基本機能
*Mathematica
*Network Mathematica
*webMathematica
*gridMathematica
*Personal Grid Edition
*Wolfram Workbench
*Wolfram Education Group
*アプリケーションパッケージ
*Mathematica for Students
*Mathematica CalcCenter
*Publicon
*A New Kind of Science Explorer
*Mathematical Explorer
*Mathematica Teacher's Edition
*Calculus WIZ
*Mathematica Player
*このページについてのお問い合せ
*このページを印刷
*このページをメールで送信
*ご意見・ご提案
*
ニュースレターのご登録

SolveFindRootの結果からどのように解を抽出できますか.


SolveFindRoot,その他の類似の関数は次のようなものを返します.

{{x -> 2.5}}

これらの関数は,2つ以上の変数について解く場合もあるので,2.5のような数値を返しません.もし数値のみが返されたら,どの数値がどの変数のものか分からなくなります.それぞれの変数が複数の解を持つ場合は,特にそうです.以下がその例です.

In[1]:= Solve[{x^2 + y^2 == 1, x + y == .5},{x, y}]

Out[1]= {{x -> -0.411438, y -> 0.911438},
         {x -> 0.911438, y -> -0.411438}}

解と変数名の間の連結記号が示されていなければ,どの解がxあるいはyのものであるのか,また,yの解が0.911438であるときのみ,xの解が-0.411438になるということが分かる術はありません.

Mathematica は規則のリストを返します.規則はMathematica 中でうまく定義・文書化されている概念で,簡単に抽出できます.上記のSolveコマンドの結果からxについての規則をすべて引き出したい場合,次を評価してください.

In[2]:= x /. %

Out[2]= {-0.411438, 0.911438}

/.」はReplaceAllの省略表現で,これによりMathematica は左側にあるxをすべて右側のxの規則で置き換えます.実際,左側はx,y,あるいはどのような変数の式でも構いません.

In[3]:= x^2 - y/2 + x y z /. %%

Out[3]= {-0.286438 - 0.375 z, 1.03644 - 0.375 z}

これは2つの解のそれぞれで評価された式を返します.zは規則ではないので,解の中で評価されていないことにご注意ください.

オンラインチュートリアルをご覧ください(フラッシュ形式).
このチュートリアルのノートブックのダウンロード





 © 2008 Wolfram Research, Inc.  Terms of Use  Privacy Policy | [en] [kr]