について質問があり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
、スクリプトで失敗しているのにターミナルで動作している理由を理解したいと思っています。ちなみに、私はこの投稿pymatbridge
へmatlab_wrapper
の驚くべき答え(スクロールダウン、3番目の答え)の両方について学びました。