matlab批量读取并处理.csv文件

您所在的位置:网站首页 csv文件怎么打开matlab matlab批量读取并处理.csv文件

matlab批量读取并处理.csv文件

2024-07-09 01:24| 来源: 网络整理| 查看: 265

matlab批量读取并处理.csv文件

在fpga数据处理时往往要对ila的输出的大量csv文件进行分析,而手动一个一个文件的导入处理太过麻烦。因而笔者编写了一段matlab代码可以对csv文件进行批量处理。

clear; clc;close all; file_read=dir('C:\Users\admin\Desktop\shuju\水平\*.csv'); %读取文件夹的位置 %在对其他文件类型处理时更改*.csv即可 filename={file_read.name}; file_length=length(file_read); for i=1:file_length id=file_read(i).name; path=strcat('C:\Users\admin\Desktop\shuju\水平\','\',id); data=csvread(path,1,0,[1,0,8192,7]); %ila的108个csv文件依次读入 [f1(i,1),f1(i,2),f1(i,3)]=ilapro(data); %此处调用ilapro函数对数据处理 %f1为数据结果result为第一列,rx_add为第二列,rx_dif为第三列 end

此程序不光可以对csv文件进行处理,其他文件类型进行相应更改即可。

%%此函数为笔者所用进行信号处理的函数 function [result,rx_add,rx_dif]=ilapro(data) %导入数据为复数格式 iladata = data; rx1_comp = iladata(:,4)+1j*iladata(:,5); rx2_comp = iladata(:,6)+1j*iladata(:,7); %plot(fft(rx1_comp)); %取幅值 rx1_abs_arr = abs(rx1_comp); rx2_abs_arr = abs(rx2_comp); %求平均 rx1_mean = mean(rx1_abs_arr); rx2_mean = mean(rx2_abs_arr); %求和与差,并做运算 rx_add = rx1_mean + rx2_mean; rx_dif = rx1_mean - rx2_mean; result = rx_dif/rx_add; % x_axi = [-20,-15,-10,-5,0,5,10,15,20,25,30]; % y_axi = [ % 0.016478528664057,0.069554793670470,0.069554793670470,0.076067360057933,-0.071667912464474,-0.018676870515626,0.009990320734708,-0.003122688821096,0.015848312968234,-0.033048681655585,-0.043266337449823 % ]; % plot(x_axi,y_axi) % P = polyfit(x_axi,y_axi,1)

file_read即为中间过程生成用来文件读取,读取和处理顺序依照此表。 在这里插入图片描述 另附有代码下载链接 代码下载



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3