首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用微分方程处理sim数据

如何用微分方程处理sim数据
EN

Stack Overflow用户
提问于 2013-10-14 11:26:36
回答 1查看 71关注 0票数 0

我研究过动态模拟,比如行星运动或分子运动。

输出数据非常庞大,并且保存为文本数据。

Exp.

代码语言:javascript
复制
FILE* f = fopen("xyzFile.txt", "w");
for (int i=0;i<max;i++) {
    // Ordinary differential equation.
    ode(particle);
    fprintf(f, "%.8f %.8f %.8f\n", particle.x, particle.y, particle.z);
}
fclose(f);

我找不到文件名中的初始值、创建日期等。

我想高效地保存这些数据。

我必须使用任何数据库吗?我想Mongodb可以变得很好。让我知道好的解决方案。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-10-24 23:44:04

我在某种程度上使用过数据库,也使用过大量的数值模拟。我的建议是使用诸如Postgres或MySQL之类的SQL数据库(我推荐Postgres胜过MySQL,尽管两者都可以)。

用于存储粒子位置的表可以具有索引其他表中的上下文信息的一个或多个列。例如:位置表可以具有模拟时间戳(即,模拟世界中的时间)、x、y和z坐标,以及指向另一个表的粒子的索引,该另一个表具有用于粒子的初始位置的列以及可能的其他描述性数据。

使用这种数据库结构,您可以执行查询来查找所有粒子在给定时间的位置,或者两个时间之间的位置,或者单个粒子的所有位置。

据我所知,SQL比MongoDB或其他"NoSQL“数据库更适合这种用途。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19353080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档