用 Ruby 求定积分


galeki posted @ 2008年6月16日 14:23 in  RoR , 2220 阅读

纯属无聊……

曾经以为求积分之类的是个很复杂的过程,对那些可以求出积分值的计算程序佩服不以,昨日脑子不知道为什么忽然想到这个问题,翻了翻书,发现这个问题很简单~ 

用最简单的矩形法,Ruby 代码如下:

  1. def integral (a, b, n =  100 )
  2.     sum =  0.0
  3.     dx =  (b - a )/n. to_f
  4.      n.times  do
  5.         a += dx
  6.         sum = sum +  ( yield a )*dx
  7.      end
  8.     sum
  9. end

n 为精度,Ruby 的 block 真方便,如果要求:

$$\int_0^1 (x^2-x^3) \mathrm{d}x$$

那么就是:

  1. integral ( 01 )  {|x| x** 2 - x** 3 }

如果要求:

$$\int_0^\pi sin(x) \mathrm{d}x$$

那么就是:

  1. integral ( 0Math::PI )  {|x|  Math. sin (x ) }

如果函数很复杂,也可以在外面定义一个 f(x),然后写成 integral(a, b) {|x| f(x)},相当美观~ 

看看结果:

  1. puts integral ( 0Math::PI )  {|x|  Math. sin (x ) }
  2. >>  1.99983550388745

$\int_0^\pi sin(x) \mathrm{d}x$ 的准确值是 2,看来精度还不错~ 


嗯嗯……其实本文的真正意义在于,很久很久之前给 is-Programmer 实现了插入 TeX 公式的功能,这是我第一次用上…… 

内容概要:该论文研究增程式电动汽车(REEV)的能量管理策略,针对现有优化策略实时性差的问题,提出基于工况识别的自适应等效燃油消耗最小策略(A-ECMS)。首先建立整车Simulink模型和基于规则的策略;然后研究动态规划(DP)算法和等效燃油最小策略;接着通过聚类分析将道路工况分为四类,并设计工况识别算法;最后开发基于工况识别的A-ECMS,通过高德地图预判工况类型并自适应调整SOC分配。仿真显示该策略比规则策略节油8%,比简单SOC规划策略节油2%,并通过硬件在环实验验证了实时可行性。 适合人群:具备一定编程基础,特别是对电动汽车能量管理策略有兴趣的研发人员和技术爱好者。 使用场景及目标:①理解增程式电动汽车能量管理策略的基本原理;②掌握动态规划算法和等效燃油消耗最小策略的应用;③学习工况识别算法的设计和实现;④了解基于工况识别的A-ECMS策略的具体实现及其优化效果。 其他说明:此资源不仅提供了详细的MATLAB/Simulink代码实现,还深入分析了各算法的原理和应用场景,适合用于学术研究和工业实践。在学习过程中,建议结合代码调试和实际数据进行实践,以便更好地理解策略的优化效果。此外,论文还探讨了未来的研究方向,如深度学习替代聚类、多目标优化以及V2X集成等,为后续研究提供了思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值