简体   繁体   中英

How do I import a data file as a matrix and run a .m file from a python script?

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM