pyargs() not working in python interface
Mostra commenti meno recenti
When I try to use the inkstone package (https://github.com/alexysong/inkstone) with MATLAB the pyargs() function doesn't work properly.
>>> pip install inkstone
In MATLAB I have
s = py.inkstone.Inkstone();
s.AddMaterial(pyargs('name','di','epsilon',12))
which gives the error
Unrecognized method, property, or field 'AddMaterial' for class 'py.inkstone.simulator.Inkstone'.
I can get around this one by using
s.AddMaterial('di', pyargs('epsilon',12))
But then I get an error with
s.AddLayer('in', pyargs('thickness',0, 'material_background','vacuum'))
Unrecognized method, property, or field 'AddLayer' for class 'py.inkstone.simulator.Inkstone'.
From this point on pyargs() simply won't work and I have to list every argument in the order in which they are defined in the method. This ofcourse makes it impossible to use a method where I don't want to specify a particular argument.
If I use pyargs() at the command line I get
pyargs('y',0)
ans =
pyargs with no properties.
Risposte (1)
surya venu
il 2 Apr 2024
Modificato: surya venu
il 2 Apr 2024
0 voti
Hi,
Listed below are some troubleshooting steps:
- Check MATLAB Version and Python Integration: Ensure you're using MATLAB R2016b or later, as earlier versions had limitations with "pyargs()".
- Try both "name=value" syntax and "pyargs()" for different methods to see which approach works for each.
- For methods like "AddLayer", provide required positional arguments before optional keyword arguments.
- From the official documentation of "pyargs" function from MathWorks, there are some limitations mentioned and here is the documention link: https://www.mathworks.com/help/matlab/ref/pyargs.html
- Do not combine pyargs and name=value syntax when passing keyword arguments to Python functions.
- MATLAB does not support name,value syntax for passing keyword arguments to Python functions. Use name=value syntax instead.
I hope these steps help you.
Categorie
Scopri di più su Call Python from MATLAB in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!