Output a plot and a matrix from a function
Show older comments
I want to outout both a plot that requires two built in functions (plot() and findpeaks() ) and also a matrix that gives the locations, heights, and peak to peak interval. As this function stands, it only outputs the graph. is there anyway to get it to output the matrix as well?
function [myplot,mypeaks,mymatrix] = peaks(d)
myplot = plot(1:length(d), d);
mypeaks = findpeaks(d,'MinPeakDistance',50, 'MinPeakHeight', 10);
[height,locs] = findpeaks(d,'MinPeakDistance',50, 'MinPeakHeight', 10);
pp = [];
for i = 1:length(locs)-1
pp(i) = locs(i+1)-locs(i);
end
pp = [0, pp];
mymatrix = [locs(:), height(:), pp(:)];
end
Answers (1)
Sam Chak
on 21 Apr 2022
Remove the semicolon ";" in this line should produce mymatrix on the Command Window.
mymatrix = [locs(:), height(:), pp(:)]
Categories
Find more on Descriptive Statistics 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!