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 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Greg Dionne
2017-3-17
[maxval, maxindex] = max(x)
5 个评论
Image Analyst
2017-3-18
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));
更多回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!