我正在尝试将以下代码从MATLAB转换为Python用于EEG项目(部分原因是因为Python稍微便宜了!)
希望有人可以指出我正确的方向:我已经开始改变它,但陷入困境:特别是试图找到相同的功能.
试过scipy.org(NumPy_for_Matlab_Users等),但我不确定我的论点是否是正确的格式/数字)
我最初使用的是pyserial
ser.read()
Run Code Online (Sandbox Code Playgroud)
要读取数据然后
ord()
Run Code Online (Sandbox Code Playgroud)
要将它转换为整数,但这个MATLAB代码以另一种方式('uchar')
我的主要问题是
fopen
fread
find
repmat
Run Code Online (Sandbox Code Playgroud)
整个绘图部分,因为我对Python中的内容更不了解(MatPlotLib?)
MATLAB也倾向于从'1'开始,而Python则使用0:我试图改变它们但是错过了一些我不确定的.
Python是否满意以冒号分隔的整个范围
...repmat(0:2:10, .....
Run Code Online (Sandbox Code Playgroud)
或不?
那么,这是MATLAB:
% EEG data grabber and plotter
N = 256; % Required number of sample frames
% Read in a block of data from the OpenEEG board
hCom = serial('COM1','BaudRate',57600,'timeout',5);
fopen(hCom);
numBlocks = (ceil(17*N/256) + 1);
rawdata = zeros(numBlocks*256,1);
for n = 1:numBlocks
rawdata((0:255) + n*256) = fread(hCom, 256, 'uchar'); % Read data
end
fclose(hCom);
% Convert raw data into a …Run Code Online (Sandbox Code Playgroud)