Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我想使用比奥瓦法则来计算某些导体的磁场,并且我想使用1000x1000x1000矩阵。在使用MATLAB之前,但现在我想使用Python。 Python比MATLAB慢吗?如何使Python更快?
编辑:也许最好的方法是使用C / C ++计算大型数组,然后将其传输到Python。然后我想用VPython可视化。 EDIT2:在我的情况下哪个更好:C还是C ++? 回答: 您可能会在此链接的底部找到一些有用的结果 http://wiki.scipy.org/PerformancePython 从介绍开始 织法与NumPy,Pyrex,Psyco,Fortran(77和90)和C ++的比较,用于求解拉普拉斯方程。它还比较了MATLAB,似乎显示出与使用Python和NumPy时相似的速度。 当然,这仅是一个特定的示例,您的应用程序可能允许更好或更差的性能。在两者上进行相同的测试并进行比较没有任何危害。 您还可以使用优化的库(例如ATLAS)来编译NumPy,该库提供了一些BLAS / LAPACK例程。这些速度应与MATLAB相当。 我不确定NumPy的下载文件是否已针对该文件进行构建,但是我认为,如果您编译NumPy,ATLAS会将其库调整到您的系统, http://www.scipy.org/Installing_SciPy/Windows 该链接具有Windows平台下所需内容的更多详细信息。 编辑: 如果您想找出C或C ++更好的性能,可能值得提出一个新问题。尽管从上面的链接可以看到C ++的性能最佳。其他解决方案也非常接近,例如Pyrex,Python / Fortran(使用f2py)和内联C ++。 我做过的C ++下唯一的矩阵代数是使用MTL并实现扩展卡尔曼滤波器。不过,我想,实际上,这取决于您使用LAPACK / BLAS的库以及它的优化程度。 该链接列出了许多语言的面向对象的数值包。 http://www.oonumerics.org/oon/ 更多&回答... |
![]() |
![]() |