matlab转换为python的工具(matlab代码转换为python)

http://www.itjxue.com  2023-03-29 07:34  来源:未知  点击次数: 

编写了一个MATLAB脚本,想用python打包成exe

matlab文件如何封装成exe文件

不论是Java还是c++,甚至是Python,都能编译出脱离环境可(安装)运行的exe或apk文件,那么matlab能不能封装成exe文件,从而在别人没有装matlab的终端上也能运行呢?其实这个工具是有的。但是想说在前面的是,要运行m文件转成的exe,亦需要在机子安装一个依赖包文件。所以,想要在别人机子上运行程序,必须将exe文件连通依赖包安装工具一起拷给别人,而这个工具大到500多M,并不是那么小巧。这一步是必须的,我们也不能苛求太多,毕竟matlab本身就是一个科学计算软件,而不是软件开发工具。

安装并选择编译器。

在matlab命令行输入mbuild -setup,(注意空格),选择一个编译器,如果没有,可以选择matlab自带的LCC编译器,也可以马上下一个VC6.0安装一下,再运行命令,就有了。一般选择c编译器。

调用编译器完成m文件到exe文件的转换

命令行窗口输入mcc -m filename(这里的filename是文件名),完成m文件到exe文件的转化。

这个过程可能会报“Test checkout of feature ‘Compiler’ failed”的错误,这是因为你破解的matlab不彻底,解决的方法是:

按操作替换三个文件即可

无依赖环境exe文件的打开

D:\MATLAB\R2014a\toolbox\compiler\deploy\win64目录下找到应用程序MCRInstaller,连同exe文件发给别人。接收者双击安装MCR便可打开m转成的exe。

不同的人,不同的机子,不同的matlab遇到的问题肯定是不一样的,这里无法一一解释,若有遇到其他问题,可以留言。

MCR链接库提供了一个matlab的运行环境,这个是需要手动安装的,当然,也可以这样————

将MCRInstaller.exe拷贝到你文件所在文件夹里,用打包程序来打包,生成安装文件,设定在解包过程中自动执行MCRInstaller.exe,同时将可执行文件的图标放在桌面。

matlab中怎么调用python,python计算结果再返回matlab?

matlab:

[status,?cmdout]?=?system('python?xxx.py?1?2')

python:

#?-*-?coding:?utf-8?-*-

import?sys

if?__name__=="__main__":

????????arg1?=?sys.argv[1]

????????arg2?=?sys.argv[2]

????????ret?=?float(arg1)+float(arg2)

????????print?ret

因为system的参数和cmdout都是字符串,所以要做些字符串操作。

如何将Python代码转换成matlab代码

兹举一简单例子。假定Python的起始目录为“D:\Matlab\work\”,而Matlab程序位于"D:\Matlab\bin\win32\matlab.exe"。在matlab的工作目录work(即,Python起始目录)下有一程序analysis.m,该程序为一数据分析程序,并且需要读取某一文件中的数据,文件名需要指定。那么利用Python调用此分析功能可以做如下工作:(1)将analysis.m改造为function,方法是在该文件头增加function语句

function

analysis(filename)

其中filename

为待处理数据的文件名,不包含路径。同时,将analysis.m文件中涉及该文件名的地方也进行相应的修改,此不赘述。(2)在Python

IDE或脚本中执行以下语句import

oscmd="D:\\Matlab\\bin\\win32\\matlab.exe

-r

"+"analysis('data.txt')"os.system(cmd)即可实现对数据的分析调用。关于matlab的其他启动选项,可以参见matlab命令说明,其中可能用到的是"

-nodesktop",该选项可以后台启动matlab而不显示。

matlab的double类型在python中需要怎样转换

使用double命令

比如:

a=int8(124);

a2=double(a);

whos

该段代码先创建了一个uint8的变量a

再用double命令将a变为double变量并赋值给了a2

通过whos显示类型:

Name Size Bytes Class Attributes

a 1x1 1 int8

a2 1x1 8 double

matlab代码转为python

minTheta=3

theta=[1,3,5,2]

theta=[x?if?x=minTheta?else?minTheta?for?x?in?theta]

theta

[1,?3,?3,?2]

(责任编辑:IT教学网)

更多

推荐Frontpage教程文章