.. _产品白皮书: ########################### MaToPy 产品简介 ########################### **MaToPy** (读作 Mai To Pai) 是一个将 matlab 代码编译为 python 代码的编译器和函数库,由北京塔尔旺科技有限公司开发,目前已经成功应用到多个实际项目中。 **MaToPy** 由 **matopy-compiler** 和 **matopy-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 [完成主要语法]