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');

以上。

相关推荐
元周民2 小时前
matlab求两个具有共根的多项式的所有共根(未详细验证)
开发语言·matlab
代码小小只3 小时前
考虑不确定性的电动汽车优化问题
matlab
yong99906 小时前
基于小波分析与粒子群算法的电网潮流优化实现(MATLAB)
开发语言·算法·matlab
Dev7z7 小时前
基于MATLAB HSI颜色空间的图像美颜系统设计与实现
开发语言·matlab
ghie90907 小时前
MATLAB 高速公路裂缝检测
开发语言·matlab
天呐草莓10 小时前
热传导方程
算法·matlab
hoiii18711 小时前
基于MATLAB实现无监督数据建模
开发语言·matlab
kaikaile199512 小时前
使用纯MATLAB M函数实现的无刷直流电机控制系统仿真
开发语言·matlab
崇山峻岭之间12 小时前
Matlab学习记录09
开发语言·学习·matlab
Dargon2881 天前
实例讲解Simulink的MATLAB Function模块
开发语言·matlab·simulink·mbd软件开发