如何在Matlab中导入文本文件格式的时间信号数据
Matlab导入该类文本数据解决方案
你所提供的文件特殊点为用逗号作为小数分隔符、制表符作为列分隔符,普通导入函数默认以点作为小数分隔符会识别失败,可采用以下方法适配:
方法1:使用readtable(推荐,适配R2019a及以上版本)
直接指定分隔符和小数识别规则即可,示例代码:
% 导入为table格式 data_table = readtable('你的文件路径.txt', ... 'Delimiter', '\t', ... % 指定列分隔符为制表符 'DecimalSeparator', ','); % 指定小数分隔符为逗号 % 如需转为数值矩阵可执行以下命令 data_matrix = table2array(data_table);
方法2:使用textscan(适配低版本Matlab)
如果你的Matlab版本较低不支持readtable的对应参数,可以用更基础的textscan实现:
% 打开文件 fid = fopen('你的文件路径.txt', 'r'); % 按规则读取两列数值 data_cell = textscan(fid, '%f %f', ... 'Delimiter', '\t', ... 'DecimalSeparator', ',', ... 'CollectOutput', 1); % 关闭文件 fclose(fid); % 提取数值矩阵 data_matrix = data_cell{1};
方法3:可视化导入(无需写代码)
- 点击Matlab主页选项卡的「导入数据」按钮,选择目标txt文件
- 在弹出的导入工具界面,右侧设置栏中:将列分隔符设置为制表符,小数分隔符设置为逗号
- 预览区确认数据识别正确后,点击「导入所选内容」即可将数据导入工作区
注意事项
- 将代码中的
你的文件路径.txt替换为实际的文件路径,若文件存放在Matlab当前工作目录下,可直接填写文件名 - 最终得到的
data_matrix第一列为时间序列,第二列为对应的信号值,可直接用于后续信号处理操作
内容的提问来源于stack exchange,提问作者user33834
相关产品推荐
相关产品推荐

