Cos(x):数学函数的非数字参数

时间:2014-05-08 00:32:42

标签: r

> P=makeFun(7.5*(4.1-0.5*cos(x))/(0.5*sin(x))~x)
> D(P(x)~x)
Error in cos(x) : non-numeric argument to mathematical function

我一直试图创建一个功能,但它给了我一个错误。我已经尝试过这个功能的一堆东西,但它们都没有用。我可以将一个数字插入P中,但我无法将其作为衍生物。我做错了什么?

1 个答案:

答案 0 :(得分:1)

嗯,这很有趣。首先我发现包名是mosaic,而不是马赛克。加载它并查看?D页面后,我没有收到任何错误:

 install.packages("mosaic", dependencies=TRUE)
 load(mosaic)
 P=makeFun(7.5*(4.1-0.5*cos(x))/(0.5*sin(x))~x)
 D(P(x)~x)
#--------
function (x) 
7.5 * (0.5 * sin((x)))/(0.5 * sin((x))) - 7.5 * (4.1 - 0.5 * 
    cos((x))) * (0.5 * cos((x)))/(0.5 * sin((x)))^2

您现在应该尝试通过首先确定包的所有依赖项是否可用来调试问题。我的工作区中也没有名为“x”的对象,所以你可能会执行`rm(x)并尝试重新运行,因为看起来评估者发现它不喜欢的“x”。 (但我无法通过为'x'指定字符值来创建该错误。)我在运行3.1.0补丁的Mac上。