学习R语言编程——常用算法——导数与微积分的近似计算

#########################常用算法——导数与微分的近似计算#######################

###例题:用导数的近似计算求函数f(x) = -4*x^2+3*x+2[0,1]的极值

f = function(x) -4*x^2+3*x+2

ub = 1

lb = 0

m = 1000000

step = (ub-lb)/m

x = 0

for(i in 1:1000000){

df = (f(x+step)-f(x))/step

if(abs(df)<1e-5){cat("x is ",x,"extreme value is ",f(x))}

x = x+step

}

#矩阵方法

f = function(x) -4*x^2+3*x+2

x = seq(0,1,by = .00001)

x0 = x[which.max(f(x))]

x0;f(x0)

 

###用导数的近似计算求出函数f(x) = (1/3)*x^3-(1/2)*x^2-2*x[-2,3]的所有极值点。

#判定方法1

f = function(x) (1/3)*x^3-(1/2)*x^2-2*x

x = -2

step = 1/10000

for(i in 1:50000){

fd = (f(x-step)-f(x))*(f(x+step)-f(x))  #判断是否是极值点

if(fd>0)print(x)

x = x+step

}

#判定方法2——定义判定

f = function(x) (1/3)*x^3-(1/2)*x^2-2*x

ub = 3

lb = -2

m = 5000000

step = (ub-lb)/m

x = -2

for(i in 1:m){

df = (f(x+step)-f(x))/step

if(abs(df)<1e-5)cat("extreme value point is ",x,&#

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值