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!