Create unknown amount of vectors automatically (no cell-arrays allowed due to compatibility issues with Python)

1 visualización (últimos 30 días)
Hello,
I am looking to pass numeric data from Matlab to Python. As far as I'm concerned, the API does not support any kind of container, so no cells or structs are allowed. The idea is to have a function passing multiple vectors with each vector having info on one object (a car). The number of cars, i.e. the number of vectors to be created, is not known before runtime.
varargout creates a cell-array and is therefore unsuitable;
In Python, I can declare
*argument
and will get any number of arguments I create during runtime. Is there something similar in Matlab or is there any other trick?
I have considered combining all data into one vector and un-combining it once it has reached Python, this is not beautiful though.
(Better yet: Does someone know a container-type format which passes through R2018b-Python-API.)
Thank you in advance
Unsupported MATLAB Types for 2018 Python API
  • Multidimensional char or cell arrays
  • Structure arrays
  • Sparse arrays
  • categorical,table,containers.Map,datetime types
  • MATLAB objects
  • meta.class (py.class)
  3 comentarios
Lukas Köhler
Lukas Köhler el 21 de Oct. de 2021
Thank you for your answer! Your presumption is correct. Unfortunately, the 2018 Python API does not even allow for arrays to be passed; I shall clarify this in the question. Hence I'm looking for this illegal-seeming multiple-vector solution.
dpb
dpb el 21 de Oct. de 2021
Then it would seem you're forced to use a looping construct with 1D arrays or the one vector approach.
I don't see the latter as being that big a deal, surely Python has the facility to reshape a vector, doesn't it? If you either prepend the size info to the data or pass it separately, it wouldn't seem difficult (conceptually, anywhooo...)

Iniciar sesión para comentar.

Respuestas (1)

Pranjal Kaura
Pranjal Kaura el 27 de Oct. de 2021
Hey,
You could go through the link 'Pass Data to Python', particularly the 'Passing Matrices and Multidimensional Arrays' subsection to know more about passing multidimensional arrays from MATLAB to python.
Hope this helps!

Categorías

Más información sobre Call Python from MATLAB en Help Center y File Exchange.

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by