• Matlab如何批量读取txt数据?科研效率UpUp第1期


    最近帮几个亲朋好友整理博士毕业论文。

    期间,我观察了他们的行为模式,发现其将大量的时间,不同程度地浪费在一些机械、重复性劳动上,导致效率低下。

    博士尚且如此,想必还有很多人也深受其扰。

    作为一个专业摸鱼人,在我看来,凡是有规律的重复工作,理论上都可以通过机器搞定。

    子曰,有鱼一起摸,不亦说乎?

    于是,为了给大家带来笑容,我决定开启一个全新的系列,名为《科研效率UpUp》,通过使用不同的工具,帮助大家更加高效地完成科研、工作任务。

    本期分享如何通过Matlab批量读取txt数据并将其可视化:

    值得一提的是,本期的重点在于批量读取txt数据,可视化仅为读取数据后的一种应用。

    特别提示:如果你也有好的效率提升方法,欢迎评论区分享~


    1.数据格式

    数据格式如图所示:

    2.批量读取并可视化

    通过‘dir’命令列出所需路径下所有txt文件:

    file_read=dir('D:\no_low-high_outliers\*.txt');

    利用‘load’命令读取数据:

    A = load(strcat('D:\no_low-high_outliers\',filenames{ii}));

    并通过‘scatter3’绘制特征渲染三维散点图:

    scatter3(A(:,1),A(:,2),A(:,3),5,A(:,3),'filled')

    3.完整代码

    完整代码如下:

    %% 列出文件夹对应内容file_read=dir('D:\no_low-high_outliers\*.txt');filenames={file_read.name}';file_length=length(file_read);​%% 批量读取并可视化数据% 图片尺寸设置(单位:厘米)figureUnits = 'centimeters';figureWidth = 20;figureHeight = 16;% 窗口设置figureHandle = figure('Color','w');set(gcf, 'Units', figureUnits, 'Position', [0 0 figureWidth figureHeight]);% 绘制t = tiledlayout(3,3);for ii = 1:file_length    A = load(strcat('D:\no_low-high_outliers\',filenames{ii}));    M = size(A,1);    w = sum(A(:,1:3))/M;    A(:,1:3) = A(:,1:3) - w;    nexttile(ii)    scatter3(A(:,1),A(:,2),A(:,3),5,A(:,3),'filled')    title(filenames{ii})endt.TileSpacing = 'compact';t.Padding = 'compact';​%% 图片输出figW = figureWidth;figH = figureHeight;set(figureHandle,'PaperUnits',figureUnits);set(figureHandle,'PaperPosition',[0 0 figW figH]);fileout = 'test';print(figureHandle,[fileout,'.png'],'-r300','-dpng');

    以上。

  • 相关阅读:
    【EI会议征稿】 2024年遥感、测绘与图像处理国际学术会议(RSMIP2024)
    UA Library.CommandHandler直连第三方数据库
    Python【高效摸鱼】告别pip手动安装模块,实现全自动安装第三方库
    计算机的基本组成是什么样子的?
    什么是代码签名证书?
    18.贪心算法
    【数据库】数据库中的备份与恢复,保障容灾时的数据一致性与完整性
    前端页面渲染方式CSR、SSR、SSG
    HTTP请求拦截器链
    9月22日上课内容 Docker
  • 原文地址:https://blog.csdn.net/qq_26447137/article/details/136363086