How can I keep row from index number

1 view (last 30 days)
Phudit Kanittasut
Phudit Kanittasut on 1 May 2021
Answered: Image Analyst on 1 May 2021
clear
Data = readmatrix('Pure Brain Spectra.csv');
rows=length(Data)
cols=width(Data)
for i = 2:cols
Xlocs = Data(:,1);
Ylocs = Data(:,i);
select = [Xlocs Ylocs];
[value,index1] = findpeaks(select(:,i));
end
How can I keep the row in data with Index number from matix index1

Answers (1)

Image Analyst
Image Analyst on 1 May 2021
There were so many errors in your code that I can't explain them all. All I'm going to do is show you how it's done.
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 18;
Data = readmatrix('Pure Brain Spectra.csv');
whos Data
[rows, columns] = size(Data)
Xlocs = Data(:, 1);
for col = 2 : columns
thisColumnY = Data(:, col);
nexttile;
plot(Xlocs, Data(:, col), 'b-');
[peakValues, indexesOfPeaks] = findpeaks(thisColumnY, 'Threshold', 1000);
grid on;
hold on
plot(Xlocs(indexesOfPeaks), peakValues, 'rv', 'LineWidth', 2, 'MarkerSize', 7);
caption = sprintf('Column %d', col);
title(caption, 'FontSize', fontSize);
drawnow;
end
hold off;
g = gcf;
g.WindowState = 'maximized'
fprintf('Done running %s.m ...\n', mfilename);
but you should really take time to understand all the options for findpeaks() because I'm not sure what you consider to be a peak or not and there are just too many of them identified if you simply go with the defaults.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!