您的位置:首页 > 其它

用R语言实现一个求导的简单例子

2014-11-21 10:07 253 查看
在学习导数的时候,老师都会这样解释,假设y=f(x),对点(x0,y0)的求导过程如下:
设dx是一个很小的数
=> y0+dy=f(x0+dx)
=> dy=f(x0+dx)-y0
则在这一点的导数a=dy/dx
这样假设的前提是dx很小,所以x0至(x0+dx)很短,可以近似为一条直线,则dy/dx可以看成是点(x0,y0)和点(x0+dx,y0+dy)连成直线的斜率
因此关于某个点的导数,其意义也可以解释成在该点的变化率

下面用R语言实现一个简单例子:
假设:y=1/x,求点(1,1)的导数

x<-seq(0,3,by=0.0001)

y<-1/x ##生成模拟数据

d_point<-data.frame(x,y)

x0<-1
y0<-1/x0 ##点(1,1)

dx=0.0001 ##dx很小
dy<-1/(x0+dx)-y0

a<-dy/dx ##导数
b<-y0-a*x0 ##直线与y抽的截距

library(ggplot2) ##画图
p<-ggplot(subset(d_point,y<=3),aes(x,y))
p+geom_line()+geom_abline(intercept=b, slope=a,linetype=2)+geom_point(data=data.frame(x=1,y=1),aes(colour="red"))

##结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: