上述代码读取到的数据矩阵,没有按照列的方向排列
时间: 2024-03-09 20:45:37 浏览: 26
非常抱歉,我在之前的回答中理解有误。你是说需要将截取的数据按照列的方向排列在一起。那么可以修改代码如下:
```matlab
% 读取csv文件中的数据
data = csvread('filename.csv', 1, 0);
% 窗口大小
window_size = 30;
% 存储所有截取的数据
result = [];
% 遍历整个数据集
for i = 1:size(data, 1)-window_size+1
% 判断第18列是否有30个数据连续相同
if sum(diff(data(i:i+window_size-1, 18))==0) == window_size-1
% 截取这段数据
window_data = data(i:i+window_size-1, :);
% 将数据转换成矩阵,并竖向排列在一起
window_data_matrix = reshape(window_data', [], 1);
% 将数据添加到结果中
result = [result, window_data_matrix];
end
end
```
在代码中,我们将原来的`result`变量改为了一个矩阵,而不是之前的向量。在循环的过程中,每次截取到满足条件的数据后,将数据转换成矩阵,并使用列的方向将它们排列在一起,然后将这个矩阵添加到`result`矩阵的右侧。这样,最终得到的`result`矩阵就是所有满足条件的数据所组成的矩阵,其中每一列就是一个窗口的数据。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)