2017-02-05 44 views
1

美好的一天。我试图检查函数是否具有最小值。如何将“语言”转换为“R”中的“数字”?

为此,我使用了导数和Hessian矩阵。

问题是衍生物存储在类型“语言”,而我需要他们在“数字”。

例如,我用

der_x1 <- D(expression(3 + 2 * x_1 + 3 * x_2 + 2 * (x_1)^2 + 2 * x_1 * x_2 + 6 * (x_2)^2), "x_1") 
der_x1x1 <- D(der_x1, "x_1") 

并获得der_x1x1 = 2 * 2

typeof(der_x1x1)返回“language”。

但要找到Hessian矩阵的行列式,我需要R来简化2 * 24并将其转换为数字。

如果我尝试as.numeric(der_x1x1),我得到Error: 'pairlist' object cannot be coerced to type 'double'

+0

包装在'eval'。 – alistaire

回答

1

试试下面的代码:

eval(der_x1x1) 
x_1 <- 1 
x_2 <- 1 
eval(der_x1) 
+0

非常感谢你,思雨孙,它正是我所需要的。 – Eichhorn

相关问题