2016-01-22 341 views
0

我在一個機器學習項目。在matlab R2015a中訓練數據並獲得一個文件abc.m。從matlab命令窗口給出輸入時,我從matlab文件中獲得預期結果。我開發了pyqt5中的接口,並在python中獲得了該文件。想要將.m文件導入python以供使用。無法導入matlab文件到python代碼

在我的電腦上安裝了使用python 3.5安裝的Anaconda 2.4.1。 在Windows 8.1上工作

任何人都可以幫忙嗎? 完全被這個項目所困擾。

我的代碼如下:

import scipy.io as sio 
import numpy as np 

from sklearn import preprocessing 

ab = sio.loadmat('latest.m') 
...... 

,但我得到以下錯誤:

Traceback (most recent call last): 
File "test.py",line 8,in <module> 
ab = sio.loadmat('latest.m') 
File "C:\anaconda\Lib\site-packages\scipy\io\matlab\mio.py",line 58,in mat_reader_factory 
mjv,mnv = get_matfile_version(byte_stream) 
File "C:\anaconda\Lib\site-packages\scipy\io\matlab\miobase.py",line 241,in get_matfile_version 
raise ValueError('Unknown mat file type,version %s,%s' % ret) 
ValueError: Unknown mat file type,version 111,114 
+0

這會更有幫助,如果你粘貼代碼片段,你嘗試和錯誤拋出。 – AlokThakur

+1

你的文件包含什麼?腳本?一個函數?你的工作空間? –

+0

我的matlab文件是'latest.m'。 python code:import scipy.io as sio import numpy as np from sklearn import preprocessing ab = sio.loadmat('latest.m')................ .......... –

回答

1

loadmat加載一個MATLAB數據文件,例如一些代碼的結果。 MATLAB數據文件有.mat擴展名。

加載一個.m文件意味着加載一堆文本,沒有MATLAB解釋器就沒有任何意義!你想要的是加載一個.mat文件,一個包含矩陣,字符串或其他已保存在那裏的文件。

編輯我剛纔看到@valtuarte鏈接到What is the difference between .m and .mat files in MATLAB。請檢查!