查看: 6208|回复: 2|关注: 0

[已解决] 如何导入多组数据到matlab里,并画图

[复制链接]

新手

18 麦片

财富积分


050


11

主题

26

帖子

1

最佳答案
我有984个数据文件,每个数据文件里有20480x4的数据,但只需要第一列的数据。如何将其导入到matlab里,并以时间为横轴画图,表示数据的变化规律。

数据

数据

MATLAB 基础讨论
版块优秀回答者

入门

127 麦片

财富积分


50500


5

主题

248

帖子

26

最佳答案
发表于 2018-1-2 16:24:45 | 显示全部楼层 |此回复为最佳答案
  1. funtion plotdata(tpath)
  2. txt_files = filefind(tpath, '*.txt');%自定义函数寻找txt
  3. if ~strcmp(tpath(end), '\')
  4.      tpath = strcat(tpath, '\');
  5. end
  6. txt_path = strcat(tpath, txt_files);
  7. txt_num = length(txt_files);
  8. txt_data = cell(1,  txt_num);
  9. for ii = 1:txt_num
  10.      fid = fopen(txt_path{1, ii}, 'r');
  11.      md = textscan(fid, '%f %*f %*f %*f', 'delimiter', '\n',);
  12.      txt_data{ii} = md{:};
  13.      fclose(fid);
  14. end
  15. txt_data = cell2mat(txt_data);
  16. txt_files = cellfun(@(x) strrep(x, '.txt', ''), txt_files, ...
  17. 'UniformOutput', 0);
  18. plot(1:txt_num, txt_data);
  19. set(gca, 'xticklabel', txt_files);
  20. end
  21. function xp = filefind(paths, type)
  22. a=dir(paths);
  23. b=dir(strcat(paths, type));
  24. if ~isempty(b)
  25.      c=struct2cell(b);
  26.      xp=c(1,:);
  27. else
  28.     xp='';
  29. end
  30. end
复制代码

新手

18 麦片

财富积分


050


11

主题

26

帖子

1

最佳答案
 楼主| 发表于 2018-1-2 18:48:06 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表