Convert numpy ndarray to matlab mlarray in python
显示 更早的评论
mlarray to ndarray: np.asarray(x._data, dtype=dtype)
but inversely, ndarray to mlarray: matlab.double(x.tolist()), which is extremely slow, is there a more efficient way to do this? Thank u for answering.
采纳的回答
更多回答(3 个)
Al Danial
2022-4-21
Which version of MATLAB? 2020a and newer (I don't have easy access to older versions) should just be able to do
>> mx = double(x);
without a conversion to a list.
2 个评论
Gan Lee
2022-4-24
Christopher Wunder
2022-8-23
This is not possible for me either.
The function _is_initializer in matlab._internal.mlarray_utils.py checks for the input to be of type collections.abc.Sequence and a numpy.ndarray fails to be of such a type. The only way (without altering the package) is to convert the array beforehand or pass any kind of Sequence to it instead of an array.
Al Danial
2022-4-24
0 个投票
Now I'm curious what is in your variable x. Can you make a small version of this data, write it to a .mat file, then attach the .mat file?
类别
在 帮助中心 和 File Exchange 中查找有关 Call Python from MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!