I have a .m file that is used to run a neural network in matlab, which I have locally installed on my computer. I am trying to write a python script that will loop through a list of possible transfer and training functions for the neural network multiple times. I've written a function to open and edit the .m file, but I don't know how to; 1. run the .m file from the python script 2. import the necessary data for the neural network as a space delimited matrix.
I have three data files that need to be imported as matrices, what would the code look like?
解决方案
Code for the suggestion by Shai could look like this
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
your_dir = '/path/to/your/mfile'
your_mfile = 'name_of_mfile_without.m'
logfile = '/path/to/save/matlab/standard_out.txt'
# logfile = '/dev/null'
transfer_functions = ['func_1','func_2']
for f in transfer_functions:
os.system(' matlab -nodesktop -nosplash -nodisplay -r \' '
' addpath ' + your_dir + ' ; '
your_mfile + ' ' + f + ' ; '
' exit ; \' '
' > ' + logfile )
The part between \' and \' is MATLAB code. This could help you to run your MATLAB code with input arguments. Uncomment logfile = '/dev/null', if you do not need the output in the logfile.