java 微分方程求解_Java中的微分方程
时间序列微分方程可以通过取dt =小数,并使用几个numerical integration techniques中的一个来数值模拟。 Euler's method或Runge-Kutta。欧拉的方法可能是原始的,但它适用于某些方程式,并且它很简单,你可以尝试一下。例如。:
S'(t) = - l(t) * S(t)
I'(t) = l(t) * S(t) - g(t) * I(t)
R'(t) = g(t) * I(t)
int N = 100;
double[] S = new double[N+1];
double[] I = new double[N+1];
double[] R = new double[N+1];
S[0] = /* initial value */
I[0] = /* initial value */
R[0] = /* initial value */
double dt = total_time / N;
for (int i = 0; i < 100; ++i)
{
double t = i*dt;
double l = /* compute l here */
double g = /* compute g here */
/* calculate derivatives */
double dSdt = - I[i] * S[i];
double dIdt = I[i] * S[i] - g * I[i];
double dRdt = g * I[i];
/* now integrate using Euler */
S[i+1] = S[i] + dSdt * dt;
I[i+1] = I[i] + dIdt * dt;
R[i+1] = R[i] + dRdt * dt;
}困难的部分是弄清楚要使用多少步骤。您应该阅读我链接到的其中一篇文章。更复杂的微分方程求解器使用可变步长,以适应每个步骤的精度/稳定性。
我实际上建议使用像R或Mathematica或MATLAB或Octave这样的数字软件,因为它们包括ODE求解器,你不需要自己解决所有问题。但是如果你需要在大型Java应用程序中执行此操作,至少首先使用数学软件进行尝试,然后了解步长是什么以及解算器的工作原理。
祝你好运!
java 微分方程求解_Java中的微分方程相关推荐
- java mod %区别_Java中 % 与Math.floorMod() 区别详解
%为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...
- java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信
你说的show是swing里的吧,在老版本中Component这个超类确实有show这个方法,而且这个方法也相当有用,使一个窗口可见,并放到最前面.在jdk5.0中阻止了这个方法,普遍用setVisi ...
- java判断类型_Java中类型判断的几种方式 - 码农小胖哥 - 博客园
1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...
- java 序列化实例_Java中的序列化与反序列化实例
创建的字节流与平台无关.因此,在一个平台上序列化的对象可以在另一个平台上反序列化. 为了使Java对象可序列化,我们实现java.io.Serializable可序列化接口. ObjectOutput ...
- java 数据类型分为_JAVA中分为基本数据类型及引用数据类型
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值 ...
- java 代码锁_Java中的Lock锁
Lock锁介绍: 在java中可以使用 synchronized 来实现多线程下对象的同步访问,为了获得更加灵活使用场景.高效的性能,java还提供了Lock接口及其实现类ReentrantLock和 ...
- java wait 参数_java中wait()和join()方法的区别是什么
java中wait()和join()方法的区别是:存在不同的java包中:wait()方法用于线程间通信,它所施加的等待状态的线程可以被启动:join()方法用于在多个线程之间添加排序,它所施加的等待 ...
- java thread join()_Java中Thread.join()的使用方法
概要 本文分三个部分对thread.join()进行分析: 1. join() 的示例和作用 2. join() 源码分析 3. 对网上其他分析 join() 的文章提出疑问 1. join() 的示 ...
- java 锁定界面_Java中的锁
java中的锁遵循不同的分类方法,太多了,乐观锁/悲观锁,可重入锁/不可重入锁,有些第一遇到的话,可能还有点懵.刚好周末有时间学习下,总结和梳理下. 一总述 总的来说对java的锁有以下七种分类方法: ...
最新文章
- 寒冰linux视频教程笔记8 系统监控
- JDK, JRE 和JVM的区别
- 数据中心的供配电与空调
- rand()函数100000随机数_利用随机函数Rand、Randbetween制作抽奖器应用技巧解读
- 详解get与post请求方式、content-type与responseType、@Requestbody与@Requestparam的使用场景
- html 图片展示 3d,CSS3 3D图像显示
- 数据结构-图-邻接矩阵-试在邻接矩阵存储结构上实现图的基本操作 matrix_insert_vertex 和matrix_insert_arc-icoding
- 获取zabbix监控数据
- 仿小说蓝色小说网站导航引流网站源码 带手机版
- Java中使用JNA实现全局监听Linux键盘事件
- OpenCV-怀旧色滤镜
- 西交大计算机系分数线,西安交通大学专业排名及分数线
- android qq音乐 本地歌曲,如何将手机qq音乐本地歌曲导入到电脑
- 微信支付参数正确返回验签失败,建行微信服务商
- 测试场景设计-登录设计
- c++:简单的运算符重载
- 台式计算机怎样能搜无线连接,电脑如何连无线网_台式电脑怎么连接wifi步骤-win7之家...
- OPC是什么意思?OPC Server 和OPC Client又有什么区别呢?
- 【微信小程序】uniapp开发小程序如何使用微信云托管或云函数进行云开发
- ssm基于微信小程序的游泳馆管理系统+uinapp+java+计算机毕业设计