我一直在使用 ArduinoIO-Matlab 接口从 Matlab 控制 Arduino。我目前的设置是我有 3 个 EMG 肌肉传感器(来自 Advancer Technologies)在模拟引脚 1,2 和 3 处连接到 Arduino。Arduino 连接到 Matlab。我正在尝试同时从这三个引脚收集数据并将它们存储在 1000x3 大小的矩阵中。我的问题是 Matlab 从模拟引脚采样的速率。同时从 3 个引脚收集 1000 个读数大约需要 25 秒。我知道 arduino 本身的采样率更高。下面是我的代码。如何更改它以在 10 秒内获得大约 1000 个样本的采样率?
ar = arduino('COM3');
ax = zeros(1000,3);
for ai = 1:1000
ax(ai,:) = [ar.analogRead(1) ar.analogRead(2) ar.analogRead(3)];
end
delete(ar);
这是上述代码(配置文件查看器)所花费的时间:
time calls line
< 0.01 1 3 ax = zeros(1000,3);
4
< 0.01 1 5 for ai = 1:1000
25.07 1000 6 ax(ai,:) = [ar.analogRead(1) ar.analogRead(2) ar.analogRead(3)];
1000 7 end
8
1.24 1 9 delete(ar);
请让我知道是否还有其他需要澄清的地方。感谢:Denter code here