问题描述

有的时候我们想要把matlab代码打包成python代码。这样就可以直接调用了。我感觉方法有很多。这里我选择使用MATLAB Compiler SDK直接把代码打包成python的库

流程

创建m文件

如main3.m

文件里创建函数

function pos = main3(file_path, stations)
    %% 1. 系统初始化
    fprintf('1. initialize_system...\n');
    config = initialize_system(file_path, stations);
    % .....
end

function config = initialize_system(file_path, stations)
    % 系统参数配置 定义一个结构体
    config = struct();    
    % 基本参数
    config.filename = file_path;
    config.base_stations = stations;
end

运行libraryCompiler

>> libraryCompiler
>>  

在这里插入图片描述
勾选Package
Package

确认后,弹出窗口
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

运行python setup.py install

进入for_redistribution_files_only,运行python setup.py install

测试脚本

import time
import numpy as np

import main3

start_time = time.time()
instance = main3.initialize()
print(time.time() - start_time)

matrix = np.array([[0,   1000, 1000,    0,   500],
                   [0,      0, 1000, 1000,   500],
                   [0,    500,    0,  600,   800]], dtype=np.float64)

for i in range(1):
    print(i)
    start_time = time.time()
    # 调用库中的函数
    result = instance.main3("D:\\data\\\\sss.bin", matrix)
    print(result)
    print(time.time() - start_time)
# 结束使用后终止
instance.terminate()

在这里插入图片描述

更多推荐