Output a plot and a matrix from a function

5 views (last 30 days)
Miranda Gabriel
Miranda Gabriel on 21 Apr 2022
Answered: Sam Chak on 21 Apr 2022
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
Sam Chak on 21 Apr 2022
Remove the semicolon ";" in this line should produce mymatrix on the Command Window.
mymatrix = [locs(:), height(:), pp(:)]

Community Treasure Hunt

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

Start Hunting!