matlab如何读入txt文件并分好类成矩阵?

img


例如,将图中10类数据,相邻数据用逗号隔开,如何读取这些数据成10个矩阵?其中行数不确定

把这些数据复制到word里面,然后选择插入—表格—文本转换为表格,把文字分隔位置改成逗号,就可以把这些文字转成表格了。你可以直接复制到matlab中,也可以复制到excel里然后使用xlsread函数就可以读取了
如果有用希望可以点个采纳,谢谢

```matlab
% 读取txt文件的数据
data = readmatrix('data.txt');

% 获取数据的行数和列数
[row, col] = size(data);

% 初始化一个cell数组,用于存放分类后的矩阵
matrices = cell(1, 10);

% 遍历数据,将每个类别的数据存放到对应的矩阵中
for i = 1:col
    % 找到每个类别的起始索引和结束索引
    start_index = find(data(:, i) == -999, 1);
    end_index = row;
    if i < col
        end_index = find(data(:, i + 1) == -999, 1) - 1;
    end

    % 将该类别的数据存放到矩阵中
    matrices{i} = data(start_index:end_index, i);
end

`` 使用以上代码,首先读取txt文件的数据,然后获取数据的行数和列数。接下来,初始化一个cell数组,用于存放分类后的矩阵。然后,使用一个循环遍历数据,找到每个类别的起始索引和结束索引,并将该类别的数据存放到对应的矩阵中。最后,你将得到一个cell数组matrices`,其中包括了10个矩阵,每个矩阵代表一个类别的数据。

请注意,以上代码仅适用于数据中的元素-999用于标记类别的边界。如果你的数据中使用了其他标记,请根据实际情况修改代码。