DAQexpress 调用MATLAB问题

目前在做血压-脉搏波显示的程序 从采集卡usb-6009提取两路传感器的信号 直接通过DAQexpress的matlab模块折算出血压

而编程完毕后总是会报告error -316986 并提示串联数组的维度不一致 然而我的matlab文件中并不存在串联数组的操作

请问这种问题是如何造成的?又如何解决呢? 望能指教 谢谢

img

根据提供的问题描述和参考资料,可以看出错误-316986是由于串联数组的维度不一致导致的。尽管在MATLAB文件中没有进行串联数组的操作,但可能是在DAQexpress的MATLAB模块中进行了串联数组的操作。

要解决这个问题,可以按照以下步骤进行: 1. 确认在DAQexpress的MATLAB模块中是否进行了串联数组的操作。如果有,可以检查对应的代码,确保串联的数组维度一致。 2. 确认在采集卡usb-6009提取传感器信号的代码中,是否正确传递了信号给DAQexpress的MATLAB模块。可以检查传递的信号是否是正确维度的数组。 3. 检查是否有其他地方对信号数组进行了操作,可能导致维度不一致。如果有,可以检查对应的代码,确保操作后的数组维度一致。 4. 如果以上步骤都没有解决问题,可以尝试重新编写或调试代码,确保所有涉及到的数组维度一致。

以下是一个示例代码,用于演示如何检查和调整数组维度:

% 假设采集到的传感器信号存储在sensor1和sensor2两个数组中
% 检查数组维度
size1 = size(sensor1);
size2 = size(sensor2);
if ~isequal(size1, size2)
    % 调整数组维度,使其一致
    minSize = min(size1, size2);
    sensor1 = sensor1(1:minSize(1), 1:minSize(2));
    sensor2 = sensor2(1:minSize(1), 1:minSize(2));
end

% 继续进行其他操作

希望以上解决方案能够帮助您解决问题。如果问题仍然存在,可能需要更多详细的代码和数据信息来进一步分析和解决。