亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將Python數組轉換為MATLAB可讀數組?

如何將Python數組轉換為MATLAB可讀數組?

慕仙森 2023-09-12 20:11:29
我在 MATLAB 中有一個函數,它需要四個輸入function f = calculate_mat(F,M,a,b). 這里 F 和 M 是多維數組,“a”和“b”是常數項?,F在我必須在 python 腳本中調用這個函數,在其中給出所有上述輸入值。import matlab.engineimport numpy as np # c, a, b are constantsc = 100 a = 30 b = 0.2freal = np.arange(0,30000,10) # real frequency rangefimag = np.arange(0,200,1) # imaginary frequency range F = np.zeros((3000,200))M = np.zeros((3000,200))for i in range(len(freal)):    for j in range(len(fimag)):        F = freal[i] + fimag[j]        omega = 2 * np.pi * F[i][j]        kx = omega / c # wave number         M[i][j] = np.abs(kx)eng = matlab.engine.start_matlab()fst = eng.calculate_mat(F, M, a,b)但 python 腳本拋出錯誤:“TypeError: unsupported Python data type: numpy.ndarray”我知道這是因為 Matlab 無法讀取 numpy 數組格式。如何將 numpy 數組轉換為 matlab 可讀數組?任何例子都會有幫助。
查看完整描述

1 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

您無法使用 numpy 數組調用 matlab 函數。您必須將 numpy 數組轉換為 matlab 矩陣:

fst = eng.calculate_mat(matlab.double(F.tolist(), is_complex=True), matlab.double(M.tolist(), is_complex=True), a, b)



查看完整回答
反對 回復 2023-09-12
  • 1 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號