I am trying to find the max peak of the graph (image below) without using 'findpeaks' syntax. Please help me out. The .mat file is attached.
2 views (last 30 days)
Show older comments
Biswarup Dutta
on 17 Mar 2017
Commented: Image Analyst
on 18 Mar 2017
I am using the following code to plot the graph:
clc
a=importdata('robin roy.mat');
b=a.data;
x=b(22000:25830,1);
x(x<0)=[];
plot(x);
0 Comments
Accepted Answer
Greg Dionne
on 17 Mar 2017
[maxval, maxindex] = max(x)
5 Comments
Image Analyst
on 18 Mar 2017
What does that mean? You get BOTH the height of the curve (x=1.22), and the index where it occurs. What more do you want?
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 = 25;
storedStructure = importdata('robin roy.mat');
b = storedStructure.data;
x = b(22000:25830,1);
x(x<0) = [];
plot(x, 'b-', 'LineWidth', 2);
grid on;
xlabel('Index', 'FontSize', fontSize);
ylabel('x', 'FontSize', fontSize);
[maxXValue, indexOfMaxXValue] = max(x)
% Draw lines to the peak
line([indexOfMaxXValue, indexOfMaxXValue], [0, maxXValue],...
'LineWidth', 2, 'Color', 'r');
line([1, indexOfMaxXValue], [maxXValue, maxXValue],...
'LineWidth', 2, 'Color', 'r');
message = sprintf('The max value of %f\noccurs at an index of %d.',...
maxXValue, indexOfMaxXValue);
uiwait(helpdlg(message));
More Answers (1)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!