Read csv file 2 and 3rd row and store them in different matrices
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Alex Perrakis
le 26 Avr 2022
Commenté : Alex Perrakis
le 26 Avr 2022
Hello Guys and Girls,
i have a .csv file which i attach and i want to read the first row and put it in a matrix and the second row and put it in another matrix as they are different values from a measurement.
I have written this script until now
clear
close all
addpath(genpath('../../Functions'))
%Parameters for GRR
appraisersCount = 4; gapCount =118; measurementsPerSample = 15;
amountOfLayers = 3;
% Choose Folder for Gap Analysis
URL = uigetdir('C:\_Daten\Messungen\');
% tic
% Open URL
appraisers = dir(URL); appraisers(1:2) = [];
counter = 0;
% for a = 1:appraisersCount
% samplesURL = [URL '\' appraisers(a).name];
% samples = dir(samplesURL); samples(1:2) = [];
% measurementsURL = [URL '\' appraisers(s+2).name];
measurements = dir(URL); measurements(1:2) = [];
% folderspec = 'C:\_Daten\Messungen\WS\Teil 8_1\Teil 8';
% D = dir('C:\_Daten\Messungen\WS\Teil 8_1\Teil 8\*.csv');
for s = 1:44
% measurementsURL = [URL '\' appraisers(s+2).name];
% measurements = dir(URL); measurements(1:2) = [];
% %
% for m = 1:measurementsPerSample
% counter=counter+1;
% measurementURL = [measurementsURL '\' measurements(m).name];
file=fullfile( URL, measurements(s,1).name);
% table=readtable(file);
fid = fopen( file );
%
frequencies = fgets(fid);
frequencies = sscanf(frequencies,'%f');
table=readtable(file);
%
% dataColumns = length(frequencies)*2; %*2 cause data contain real + imag
% stringData = fscanf(fid,'%s');
% stringData = strrep(stringData,',-1,',',"-1",');
% stringData = strrep(stringData,',1,',',"1",');
% stringData = strrep(stringData,',0,',',"0",');
% stringData = strrep(stringData,'","',' ');
% stringData = strrep(stringData,',"',' ');
% stringData = strrep(stringData,'",',' ');
% stringData = strrep(stringData,'"',' ');
% stringData = strrep(stringData,',','.');
%
% data = sscanf(stringData, '%f');
% %
% data = reshape(data,dataColumns,[]);
% data = data';
% data_1(s,:)=data;
% end
%end
end
% dataReal=data_1(:,1:2:end);
% dataIma=data_1(:,2:2:end);
% figure (1)
%
%
%
% plot (frequencies,dataReal(1:10,:),'r',frequencies,dataReal(11:20,:),'b',frequencies,dataReal(21:35,:),'k',frequencies,dataReal(36:46,:),'c',frequencies,dataReal(47:118,:),'g')
% xlabel ('Frequency in [Mhz]');
% ylabel ('Real Part of the Voltage')
% grid on
% figure (2)
% plot (frequencies,dataIma(1:10,:),'r',frequencies,dataIma(11:20,:),'b',frequencies,dataIma(21:35,:),'k',frequencies,dataIma(36:46,:),'c',frequencies,dataIma(47:118,:),'g')
%
% xlabel ('Frequency in [Mhz]');
% ylabel ('Imaginary Part of the Voltage')
% grid on
% figure (3)
%
% abstand =95.5:0.1:97.5';
%
% surf (dataReal(:,:),'LineStyle','none')
% colormap jet
% figure (4)
% surf (dataIma(:,:),'LineStyle','none')
% colormap jet
% phi=phase(dataReal,dataIma);
% xlabel ('Real part of Voltage');
% ylabel ('Imaginary Part of Voltage')
% grid on
% figure (5)
% plot (frequencies,phi(1:10,:),'r',frequencies,phi(11:20,:),'b',frequencies,phi(21:35,:),'k',frequencies,phi(36:46,:),'c',frequencies,phi(47:118,:),'g')
% xlabel ('Frequency in [Mhz]');
% ylabel ('Phase')
% grid on
% figure (6)
% plot(dataReal,dataIma)
% xlabel ('Real part of Voltage');
% ylabel ('Imaginary Part of Voltage')
% grid on
% diffreal=diff(dataReal);
% figure (7)
% surf (diffreal)
% absolut=mag(dataReal,dataIma);
% figure(8)
% grid on
% plot(frequencies,absolut(1:10,:),'r',frequencies,absolut(11:20,:),'b',frequencies,absolut(21:30,:),'k',frequencies,absolut(31:46,:),'c',frequencies,absolut(47:118,:),'g')
% ylabel('Magnitude of Voltage');
% xlabel('Frequency');
% grid on
% % %figure (2)
% % % plot (frequencies(30),data_1(:,60))
% % figure (8)
% % plot (frequencies(40:50,1),dataReal(6:19,40:50))
% % xlabel ('Frequencies')
% % ylabel ('Real part of Voltage')
% % % figure (9)
% % % plot (frequencies(125:137,1),phi(:,125:137))
% % figure (10)
% % plot (frequencies(20:49,1),dataIma(10:15,20:49))
ignore the comments please as they do not matter for now. Thank you for your help.
0 commentaires
Réponse acceptée
Akira Agata
le 26 Avr 2022
How about the following?
% File path
url = 'https://jp.mathworks.com/matlabcentral/answers/uploaded_files/978985/2022-04-22%2010-40-28.csv';
% Read data
% (1) Looking at your data, decimal separator is ','. So you have to
% explicitly indicate that by using 'DecimalSeparator' option.
% (2) Since 2nd and 3rd line starts with tab, MATLAB treats 1st line as
% a hedder line. So you have to explicitly states 'NumHeaderLines' = 0.
A = readmatrix(url,...
'DecimalSeparator', ',',...
'NumHeaderLines', 0);
% Extract each row with eliminating NaN
data1 = rmmissing(A(1,:));
data2 = rmmissing(A(2,:));
data3 = rmmissing(A(3,:));
% Try to plot??
figure
plot(data1, data2)
hold on
plot(data1, data3)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Standard File Formats dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!