matlab代码转python过程中的小记录

进一阵子因为需要用python来跑一些matlab的代码,实际上python可以直接调用matlab代码(可以直接用matlab.engine包),不过当时弄了一阵子没弄明白参数的调用的逻辑,索性就将matlab代码转成Python了。

根据我所搜索到的信息,numpy库和matlab的操作近似,如果想尽快把matlab代码转成python代码并运行起来,使用numpy库会比较方便。不过要注意,numpy中两个矩阵相乘是元素对应相乘,比如说python代码 C = A * B相当于matlab代码 C = A .* B,如果想进行矩阵运算中的乘法,则需要用.dot来进行相乘,比如说python代码 C = A.dot(B) 相当于matlab代码 C = A * B

matlab在进行矩阵运算时,能够自动调用多个CPU,而Python正常情况下因为GIL锁,一般情况下只能调用1个CPU,就造成了运算上的瓶颈,这种情况下,解决方法有多种:

好像没什么特别简单的办法,我是直接将一个大矩阵划分成一个个小矩阵计算,最后再拼接出一个大矩阵,这种方式主要的作用是,至少避免中间生成的临时矩阵和原矩阵一样大。

有大佬有更好的方法的话希望可以在评论区分享一下~

Original: https://blog.csdn.net/weixin_44844796/article/details/124596652
Author: 夜半不游离
Title: matlab代码转python过程中的小记录

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/761121/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球