将Excel文件中的加速度计数据提取到MATLAB中

将Excel文件中的加速度计数据提取到MATLAB中,excel,matlab,loops,accelerometer,Excel,Matlab,Loops,Accelerometer,我试着搜索,但没有找到我的问题。我应该提到的是,我对MATLAB相当陌生,所以这可能是一些显而易见的事情,但我已经忘记了 我有一个Excel文件,其中有5个事件的加速度计记录,中间有一些空格。这些事件发生在我必须指定的时间(即行),例如120:250、280:390、430:943等等 我想做的是能够循环并提取所需的数据,并将其存储在变量中,这样每个事件都会有自己的“部分”(如果您愿意),每个“部分”都会包含自己的一组“子部分”(带有X、Y、Z加速度计数据) 我当前的设置是手动设置的,如下所示:

我试着搜索,但没有找到我的问题。我应该提到的是,我对MATLAB相当陌生,所以这可能是一些显而易见的事情,但我已经忘记了

我有一个Excel文件,其中有5个事件的加速度计记录,中间有一些空格。这些事件发生在我必须指定的时间(即行),例如120:250、280:390、430:943等等

我想做的是能够循环并提取所需的数据,并将其存储在变量中,这样每个事件都会有自己的“部分”(如果您愿意),每个“部分”都会包含自己的一组“子部分”(带有X、Y、Z加速度计数据)

我当前的设置是手动设置的,如下所示:

X1 = xlsread('location.xlsx','sheet1','d110:d367');
X2 = xlsread('location.xlsx','sheet1','d367:d631');
X3 = xlsread('location.xlsx','sheet1','d631:d891');
X4 = xlsread('location.xlsx','sheet1','d891:d1134');
X5 = xlsread('location.xlsx','sheet1','d1134:d1361');

Y1 = xlsread('location.xlsx','sheet1','e110:e367');
Y2 = xlsread('location.xlsx','sheet1','e367:e631');
Y3 = xlsread('location.xlsx','sheet1','e631:e891');
Y4 = xlsread('location.xlsx','sheet1','E891:e1134');
Y5 = xlsread('location.xlsx','sheet1','e1134:e1361');

Z1 = xlsread('location.xlsx','sheet1','f110:f367');
Z2 = xlsread('location.xlsx','sheet1','f367:f631');
Z3 = xlsread('location.xlsx','sheet1','f631:f891');
Z4 = xlsread('location.xlsx','sheet1','f891:f1134');
Z5 = xlsread('location.xlsx','sheet1','f1134:f1361');
因此,你可以看到它是如何不有利。我想做的另一件事是最终使用循环对其他数据集进行互相关,但我同样不确定在处理“动态”变量或其他变量时循环的性质


现在我想做的是,我在向量或类似的东西中指定行块,然后循环每个活动,然后循环每个轴。

为每个变量运行XLSREAD;在性能上,不要太挑剔。此函数使用COM接口(至少在Windows下)且速度较慢。如果数据不是很大,并且可以放入内存,那么最好立即将整个表读入一个临时变量,然后将值排序为变量

另一个建议是不要使用X1、X2等。如果要在循环中使用这些变量,您将遇到问题。如果它们的长度不同,则创建一个单元数组,因此它们将成为X{1}、X{2},等等

因此,首先读取整个文件:

data = xlsread('location.xlsx','sheet1','D:F');
如果您将所有数字都输入数据,您将在
数据
矩阵中获得它们

您可以手动输入或从数据中获取索引

index = {120:250, 280:390, 430:943};
for ii = 1:numel(index)
    X{ii} = data(index{ii},1);
    Y{ii} = data(index{ii},2);
    Z{ii} = data(index{ii},3);
end

你会考虑阅读它吗?这篇文章是我自己写的。但我找不到其他有帮助的文章。如果您仍然有疑问,请留下一条非常有用的评论——谢谢!现在,我只需要了解如何在循环通过:p时打印index{ii}变量名,再次感谢。。我在这件事上挠头的时间要长得多。