如何在R中找出方程的根?

时间:2014-05-01 17:36:51

标签: r

我有一个像这样的R等式:

f<-function(x){
    abs(x-0.2)=1.96*sqrt(x*(1-x)/300)
}

是否有内置函数在R中找到它的根?

1 个答案:

答案 0 :(得分:2)

提高您理解的一种方法是在LHS和RHS上绘制两个表达式以获取各种值并将它们绘制在一起:

plot( seq(-2, 2, by=.01), abs(seq(-2, 2, by=.01)-0.2) ,ylim=c(-2,2) ,type="l")
lines( seq(-10, 10, by=.1), 1.96*sqrt(seq(-10, 10, by=.1) *(1-seq(-10, 10, by=.1))/300) )
Warning message:
In sqrt(seq(-10, 10, by = 0.1) * (1 - seq(-10, 10, by = 0.1))/300) :
  NaNs produced

enter image description here

这在设置uniroot解决方案时非常有用。请注意,我不需要在plotlines调用中使序列相同,但是需要序列在x和y参数中匹配'plot'和'line ”。我开始绘制点,但切换到线条,开始时的范围为-10到10.进一步缩放应该是可能的。