我是靠谱客的博主 热情雪碧,最近开发中收集的这篇文章主要介绍Go语言调用python调用matlab,实现matlab并行运行,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、Go语言利用exec可以调用python脚本,并通过websocket把结果传送给前端。注意点1:如何实现cd到指定目录下运行python脚本,cmd.Dir = “E:test”,进入python脚本所在目录。注意点2:python脚本必须与matlab的.m文件在同一目录下。

        matlabPath := "E:\test\Analysis.m"
        cmd := exec.Command("python", "test1.py", dataPth, jsonPth, files, upDown, channel, dataSource, matlabPath)
        cmd.Dir = "E:\test"
        cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
        err := cmd.Start()
        if err != nil {
            log.Error("file service.configure.go, func err2 :", err, ", cmd failed", "cmd :", cmd)
            return
        } else {
            errWait := cmd.Wait()
            if errWait == nil {
                return
            } else {
                pictureStringSlice := this.getPictureFile(filesPath)
                err := websocket.JSON.Send(ws, pictureStringSlice)
                if err != nil {
                    log.Error("err", err)
                }
            }
        }

2、python如何调用matlab,利用python的pymatbridge模块可以实现,并且可以并行调用matlab。若保存的图片缩小了,则添加mlab.set_plot_settings(width = 1200,height = 900,inline = True)设置图片大小。

from pymatbridge import Matlab
import sys

if __name__ == '__main__':
    dat = sys.argv[1]
    json = sys.argv[2]
    picture = sys.argv[3]
    upDown = sys.argv[4]
    channel = sys.argv[5]
    dataSource = sys.argv[6]
    pathMat = sys.argv[7]
    print pathMat
    mlab = Matlab()
    mlab.start()
    mlab.set_plot_settings(width = 1200,height = 900,inline = True)
    res = mlab.run_func(pathMat,{'arg1':dat ,'arg2':json ,'arg3':picture ,'arg4':upDown,'arg5':channel,'arg6':dataSource})

pathMat是matlab主程序所在目录E:testAnalysis.m,arg1~arg6是传送给matlab的参数。
3、matlab接收参数

%% MATLAB
function retVal = Analysis(args)
strMatFileName = args.arg1;
strJsonFileName = args.arg2;
strOutputPath = args.arg3;
strLink = args.arg4;
strPhyChannel = args.arg5;
strInputPoint = args.arg6;

最后

以上就是热情雪碧为你收集整理的Go语言调用python调用matlab,实现matlab并行运行的全部内容,希望文章能够帮你解决Go语言调用python调用matlab,实现matlab并行运行所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部