2011-08-23 55 views
5

在数学,呼吁Solve,返回的规则列表,例如提取物的数值,数学:使用时解决

In[1]:= g = Solve[(x - 1) (x - 2) == 0, x] 
Out[1]= {{x -> 1}, {x -> 2}} 

我怎样才能提取数值1g2

我试过使用Part,例如g[[1]],但它返回{x -> 1}而不是1

请指教。

+0

的可能重复(http://stackoverflow.com/questions/5319771/how-to-create- [如何直接解决的输出创建一个函数] a-function-directly-from-the-the-of-the-solve) –

回答

9
x /. g[[1]] 

填料 - >三十个字符的最小

+0

有没有办法在不使用变量的情况下执行解决方案?我试过'x ./解决[(x - 1)(x - 2)== 0,x]'但它失败了...... – Andry

+0

@Andry'x /。求解[(x - 1)(x - 2)== 0,x]'...您已将斜线和圆点逆转 –

+1

@杂项请阅读http://mathematica.stackexchange.com/a/18706/193和所有其他答案,如果可能的话 –

10

为了补充贝利萨留的回答,

x /. g 

g = {{x -> 1}, {x -> 2}},返回列表

{1, 2} 

所以要提取的第一个值,我们可以用

First[x /. g] 

其他的选择是

x /. g[[1]] 
(x /. g)[[1]] (* this is equivalent to the version using First *) 
g[[1,1,2]]