[英]converting python nested-list into matlab-cell using matlab engine
我正在嘗試將 python 嵌套列表轉換為 python 中的 matlab 單元。 我的 python 嵌套列表只包含字符串。
這是我的清單:
x = [['a', 'b'],['d','e']]
type(x)
list
這是我嘗試將其作為 matlab 單元傳遞:
import matlab.engine
import matlab
eng = matlab.engine.start_matlab()
y = eng.cell(x)
type(y)
list
這種方法失敗了,因為 y 的類型仍然是一個列表。
另一個錯誤嘗試:
y = eng.cellstr(x)
Error using cellstr (line 44)
Element 1 is not a string scalar or character array. All elements of cell input must be
string scalars or character arrays.
任何建議在這里表示贊賞,提前致謝!
這種方法失敗了,因為 y 的類型仍然是一個列表。
這就是 Python 中單元格表示的樣子,但實際上它是 MATLAB 中的單元格。 您可以通過運行cell2mat
類的特定於單元格的操作來確認這cell2mat
:
>>> import matlab.engine
>>> import matlab
>>> eng = matlab.engine.start_matlab()
>>> x = [['a', 'b'],['d','e']]
>>> matlab_cell = eng.cell(x)
>>> eng.cell2mat(matlab_cell[0])
'ab'
所以matlab_cell
是 MATLAB 的一個單元格:
>>> eng.iscell(matlab_cell)
True
但它在 Python 中顯示為列表:
>>> type(matlab_cell)
<class 'list'>
您可以在此處找到有關引擎執行的隱式轉換的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.