學習了一下Matlab和Python的聯合編程,需要在 Matlab 中使用 Python list 變量,給的參考例程說要將返回數據的Python list轉換成Matlab的double array
tempForecast = double(forecast.temp)
其中forecast.temp是天氣預報的溫度,是一個Python的list類型,使用double函數希望進行轉換,但是會出現下面的報錯:
解決辦法:
根據官方文檔的說明,可以考慮先用cell轉化為元胞數組,然後再使用cellfun進行array(矩陣)形式的轉換。具體的代碼如下:
temp=cell(forecast.temp);
tempForecast = cellfun(@double,temp)
這樣就沒有報錯了。
類似的,如果是string類型的要進行轉換:
current_time=cell(forecast.current_time)
T=cellfun(@string, current_time)
cellfun函數的第一個參數改成需要轉換的類型string就可以了。
記錄一下,以後可能用得上。
參考資料
[1]在 MATLAB 中使用 Python list 變量