Import CSV files, find extraction condition, and local maxima
3 views (last 30 days)
Show older comments
Hi everyone,
I am trying to read in multiple .csv files with lot of data (mostly numbers except : the first row contains 2 strings and several numbers, and these first row numbers are actully the same in every .csv)
After that I have to find in the first row the value '50' and get its column and then find the local maxima in that.
Can you pls help me, how to solve this?
Thanks in advance.
4 Comments
Accepted Answer
Image Analyst
on 18 Jun 2020
Grace:
This should do it:
% Create sample matrix.
m = randi(500, 100, 30);
% Find out all the rows that have a 50 in them.
rowsWith50 = find(any(m == 50, 2))
% If any row(s) do, then find the column with the 50 in it,
% and get the max of that column.
if ~isempty(rowsWith50)
firstRowWith50 = m(rowsWith50(1), :);
% Get its column
columnWith50 = find(firstRowWith50 == 50, 1, 'first')
% Find the max of this column over all rows
theMax = max(m(:, columnWith50))
end
4 Comments
Image Analyst
on 19 Jun 2020
Edited: Image Analyst
on 19 Jun 2020
This seems to work fine to read in the matrix
data = readmatrix('dataset.csv', 'numHeaderLines', 1)
fprintf('Done running %s.m ...\n', mfilename);
More Answers (0)
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!