2012-10-06 59 views
4

我想用uniroot()解决方程式,但在此之前我必须区分表达式。表达式到功能

我创建了表达式,然后用D()将其与D()区分开来,但我不知道如何将所述表达式返回给我可以取其根的函数。

到目前为止,我有:

eq<-expression((w^2)*3+((1-w)^2)*2.5+2*w*(1-w)*0.9) 
f<-D(eq, name="w") 

预先感谢您的帮助!

回答

4

试试这个(感谢flodel为有用的注释):

g = function(w) eval(f) 
uniroot(g, c(0,1000)) 
+1

或只是'g^< - 函数(W)的eval(F)' – flodel

+0

它的工作原理正是我需要它,非常感谢你许多! –