建模与仿真程序设计语言

Sch*_*tzE 4 simulation matlab fortran model simulink

我使用许多不同的模型和模拟.一些较旧的模型和模拟是用FORTRAN编写的.其中一些模型已转换为C++,但目前的趋势是使用MATLAB/SIMULINK创建这些模型.从计算机科学的角度来看,我一直认为MATLAB/SIMULINK不是一个好的解决方案.您使用什么语言来创建模型和模拟?为什么?

Rol*_*ald 7

我总是尝试使用最好的建模和模拟工具(或库,如果你愿意)提供的语言来为我完成这项工作.

而这个问题实际上只能通过考虑您想要实现的模型类型来回答.连续(例如ODE),离散(例如StateCharts,Petri网)或组合(即混合模型,可以用Simulink + StateFlow实现)?每种模型都有各种工具.

另一个重要方面是在在您工作.Simulink拥有相当广泛的电子工程,金融或计算生物学库(其中大多数都包含在其他软件包中) - 如果您在其中一个领域工作,可能根本就没有更好的(即完整,有效)组件库.其他商业仿真软件包也是如此,例如AnyLogic,Arena等.根据您的建模问题,可能还会有一些开源仿真工具.

最后,您可能更喜欢特定的编程语言,而您可能还有其他要求,例如支持

  • 优化(模型参数)
  • 验证
  • 产出分析(统计,情节,统计测试)
  • 支持并行和分布式仿真
  • 模型检查
  • ...

所以我目前正在使用Java,具有众所周知的优势 - 合理快速,对多线程的良好支持,相对简单易用等.但如果"合理快速"不够快,可能没有选择,但是一级抽象:-)