我正在编写一些微分方程的模拟。我的想法如下:
1. Write the core simulation (moving forward in time, takes a lot of time) in C++
2. Do initialisation and the analysis of the results with a program
like Matlab/Scilab
(1) 的原因是如果正确实现 C++ 会更快。
(2) 的原因是对我来说,使用像 Matlab 这样的程序更容易进行分析,例如绘图等。
是否可以这样做,如何从 Matlab 调用 C++? 或者您有一些以不同方式进行的建议吗?
最佳答案
你当然可以按照你的建议去做。但我建议您首先在 Matlab 中开发整个解决方案,然后,如果它的性能确实阻碍了您的工作,请考虑将关键元素转换为 C++。这将优化您的时间使用,可能会以您计算机的时间为代价。但计算机是一头现代驴子,当你将它鞭打致死时,没有人道社会的干预。
正如您所建议的,编写良好的 C++ 预计比解释的 Matlab 更快。但是问问自己 Matlab 是用什么编写的? 对于其大部分计算密集型核心功能,Matlab 调用用 C++(或其他语言)编写的库。您的任务不是编写比解释的 Matlab 更快的代码,而是比由巨大的已安装软件市场催促的专家编写的 C++(或其他语言)更快的代码。
关于C++与Matlab结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20101982/