程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Matlab和Python聯合編程bug解決:錯誤使用 double無法從 py.list 轉換為 double。

編輯:Python

學習了一下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 變量


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved