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 [完成主要语法]