1

について質問がありpymatbridgeます。私はMatlabエンジンの代替として使用しようとしていましたが、最近何らかの理由で故障し、再び動作させることができませんでした. Githubの指示に従いました。ターミナルでスクリプトをテストすると、zmq 接続がうまく機能し、毎回接続が確立されます。しかし、ターミナルで動作しているものをPythonスクリプトにコピーペーストすると、毎回接続が失敗します。私はzmqに詳しくありませんが、問題は体系的なようです. これが私のコードです。

import os
import glob
import csv
import numpy as np
import matplotlib.pylab as plt

#Alternative to matlab Engine: pymatbridge
import pymatbridge as pymat
matlab = pymat.Matlab(executable='/Applications/MATLAB_R2015a.app/bin/matlab')

#Directory of Matlab functions
Matlab_dir = '/Users/cynthiagerlein/Dropbox (Personal)/Scatterometer/Matlab/'
#Directory with SIR data
SIR_dir = '/Volumes/blahblahblah/OriginalData/'
#Directory with matrix data
Data_dir = '/Volumes/blahblahblah/Data/'

#Create list of names of SIR files to open and save as matrices
os.chdir(SIR_dir)
#Save list of SIR file names
SIR_File_List = glob.glob("*.sir")

#Launch Pymatbridge
matlab.start()

for the_file in SIR_File_List:
    print 'We are on file ', the_file
    Running_name =  SIR_dir + the_file

    image = matlab.run_func('/Users/cynthiagerlein/Dropbox\ \(Personal\)/Scatterometer/Matlab/loadsir.m', Running_name)
    np.savetxt(Data_dir+the_file[:22] + '.txt.gz',np.array(image['result']) )

代わりにmatlab_wrapperを使用することになりましたが、うまく機能し、インストールとセットアップが非常に簡単でしたがpymatbridge、スクリプトで失敗しているのにターミナルで動作している理由を理解したいと思っています。ちなみに、私はこの投稿pymatbridgematlab_wrapperの驚くべき答え(スクロールダウン、3番目の答え)の両方について学びました。

4

0 に答える 0