MaToPy 产品简介

MaToPy (读作 Mai To Pai) 是一个将 matlab 代码编译为 python 代码的编译器和函数库,由北京塔尔旺科技有限公司开发,目前已经成功应用到多个实际项目中。 MaToPymatopy-compilermatopy-lib 两部分组成。

matopy-compiler 的主要功能是将 matlab 代码翻译成 python 代码。因为 matlab 和基于 numpy 的 python 代码之间,尽管有很多相似之处,但也存在诸多的差异。 这使得人工将matlab代码翻译为python代码的工作量变得很大,对于几十个matlab源文件、几百上千行的实际项目,手工翻译的方法将无法应付。 为解决此问题,matopy 通过计算机编译原理技术,通过读取 matlab 代码、进行词法分析语法分析,最终将其编译为人类可读、可用的python代码。 MaToPy 产品的特点是翻译得到的 python代码matlab代码 极为相似,稍作调整、调试后就可以运行。 因为代码相似度极高,便于后期matlab代码升级后对python代码做相应的升级、维护。

同时 MaToPy 的 matopy-lib 提供了 matlab 常用函数的python版本实现,语法与 matlab 函数一模一样, 可以让 matlab 开发者在 python 环境中用 matlab 的编程习惯进行开发,同时也让转译后的 python 代码与 matlab 保持了高度一致,可维护性大大加强。

因为 matlab 函数众多,我们目前也只是实现了项目所需的常用函数,其他函数的实现需要定制开发、逐步积累。

感谢您的关注,如果对 MaToPy 产品感兴趣,请与我们联系,邮箱是 contact@telecwin.com,微信号是 ipandabot (加微信时请注明’咨询MaToPy’)。

支持的 matlab 函数

截止 2024年7月02日,matopy-lib支持下列matlab函数:

基础函数:

  • mean [完成]

  • ismember [完成主要语法]

  • unique [完成主要语法]

  • union [完成主要语法]

  • std [完成主要语法]

  • round [完成主要语法]

  • roundn [完成主要语法]

  • sign [完成主要语法]

  • mtimes - 是matlab’*’运算符对应的函数 [完成]

  • times - 是matlab’.*’运算符对应的函数 [完成]

  • sqrt [完成]

  • find [完成主要语法]

  • norm [完成]

  • dot [完成]

画图类:

  • figure [空实现]

  • subplot [空实现]

  • plot [空实现]

  • figure [空实现]

  • hold [空实现]

  • linspace [完成]

  • real [完成]

  • imag [完成]

字符串函数:

  • strfind [完成主要语法]

  • str2num [完成主要语法]

  • strcat [完成]

  • strcmpi [完成]

  • xlsread [完成]

  • cell2mat [完成]

  • save [完成]

  • fread [完成]

  • fclose [完成]

  • hex2dec [完成]

  • fseek [完成]

  • string [完成]

  • strip [完成]

  • fliplr [完成]

  • intersect [完成]

  • sortrows [完成]

  • prod [完成]

  • interp1 [完成]

信号处理函数:

  • hilbert [完成]

  • fft [完成主要语法]

  • ifft [完成主要语法]

  • corrcoef [完成主要语法]