Mathematica Technical FAQs Services & Resources / Mathematica / Kernels & Programming
-----
 /
Basic Features
*Mathematica
*Network Mathematica
*webMathematica
*gridMathematica
*Personal Grid Edition
*Wolfram Workbench
*Wolfram Education Group
*Application Packages
*Mathematica for Students
*Mathematica CalcCenter
*Publicon
*A New Kind of Science Explorer
*Mathematical Explorer
*Mathematica Teacher's Edition
*Calculus WIZ
*Mathematica Player
*Ask about this page
*Print this page
*Email this page
*Give us feedback
*
Sign up for our newsletter:

SolveFindRoot 결과에서 답을 추출하는 방법은?

Solve, FindRoot, 그리고 다른 비슷한 함수들은 아래와 비슷한 방식으로 결과를 리턴합니다.

 

 

이런 함수들은 2.5 와 같이 그냥 숫자만을 리턴하지 않는데 그 이유는 가끔 하나 이상의 변수에 대해 풀기 때문입니다. 이경우 그냥 숫자들만 리턴시키면, 어떤 값이 어떤 변수에 해당되는지 혼동될수 있습니다. 특히 각각의 변수가 아래의 예제와 같이 하나 이상의 답을 가지고 있을때 더욱 그러합니다.

In[1]:=
Out[1]=
 

 

위의 예제에서 처럼 답을 리턴하지 않으면 어떤 값이 x 의 값인지 y 값인지 모르며, 또한 -0.411438 가 y 의 값이 0.911438 일때만 x 의 값이 되는것을 표현할수가 없습니다.

매쓰매티카는 여러개의 룰들도 리턴합니다. 룰 (rules) 은 매쓰매티카에서 중요한 컨셉이며 쉽게 추출가능합니다. 만약에 x 에 관련된 모든 룰들을 Solve 명령의 결과에서 추출하고 싶다면 아래와 같이 하면 됩니다.

In[2]:=
Out[2]=
 

 

/.ReplaceAll 함수의 간략형이며 이는 좌변의 모든 x 들을 우변의 x 와 관련된 룰들로 대체한다는 의미입니다. 사실 좌변은 x 나 y 또는 어떤 변수를 포함한 어떤 식도 될 수 있습니다.

In[3]:=
Out[3]=
 

 

위의 예제에서 보면 두가지 답에 모두 룰들을 적용한뒤 리턴하는 것을 볼수 있습니다. 여기서 z 는 치환되지 않는 상태로 남는데 왜냐하면 z 는 룰이 아니기 때문입니다.

View an Online Tutorial (Flash Format)

Download this FAQ as a Mathematica 5.2 Notebook






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