Passing a string variable to matlab script from Python using the matlab Python API

Hi, This might be something really simple to someone who have done this, but i am struggling passing a string variable to matlab script from Python using the matlab Python API. I am doing this in 2017b
Here is what i have: 1. Matlab function: config = parseInputs(filename) %filename is a char array in matlab like "config.csv"
2. Python script file which attempts to call the above matlab function. I have saved my function parseInputs.m in the same directory as the python script.
Below is my python script:
import matlab.engine
eng = matlab.engine.start_matlab()
filename = "config.csv"
parameterMy = eng.parseInputs(filename, nargout=2)
I am getting an error like below:
File "C:\ProgramData\Anaconda3\lib\site-packages\matlab\engine\fevalfuture.py", line 82, in result
self._result = pythonengine.getFEvalResult(self._future,self._nargout, None, out=self._out, err=self._err)
MatlabExecutionError: Undefined function 'parseInputs' for input arguments of type 'char'.
Any hint on how to make it work? Thanks!

댓글 수: 1

"a char array in matlab like "config.csv" " . Double or single quotes makes a difference
  • "config.csv" is a scalar string
  • 'config.csv' is a character array
However, that might not be relevant to the error you encounter.

댓글을 달려면 로그인하십시오.

답변 (2개)

David Hocker
David Hocker 2020년 9월 11일
I had a similar issue, and found that I didn't have the specific matlab function in my current working directory for my python code. Once I moved it there, I was able to get the command to execute. I also used python strings (double quotes, not single) for my string inputs.

카테고리

도움말 센터File Exchange에서 Call MATLAB from Python에 대해 자세히 알아보기

제품

태그

질문:

2018년 3월 8일

답변:

2020년 9월 11일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by