How to plot multiple values of a variable in one graph?
3 views (last 30 days)
Show older comments
I put 5 txt files into a loop to graph the FFT and PDS continuously. They are audio files converted to txt files. I used "findpeaks" to find all peaks in the graphs. I then used "max" to find the max peak in each of the 5 graphs. I got 5 answers for the same variable. (l=max(v)). How do I plot all of these answers in one graph? Below is an example of my work. Here is the values I received for the max for each graph, l = 7.1537e+08, l = 1.3054e+09, l = 2.4736e+09, l = 3.4960e+09, l = 2.4039e+09
numfiles = 5;
y = cell(1, numfiles);
for k = 1:numfiles
myfilename = sprintf('file%d.txt', k);
y{k} = importdata(myfilename);
plot(y{k})
m=(abs(fft(y{k})));
%n=m(1:y{k}/2);
%plot(n);
pwelch(y{k})
v= pwelch(y{k})
plot(v)
xlim([0 4000])
findpeaks(v)
l= max(v)
end
2 Comments
Matt Dickson
on 12 Jun 2018
To clarify, you want to plot the maximum value (you call it l). What are you plotting it against? Index of the file?
Answers (2)
Arun Mathamkode
on 15 Jun 2018
I believe you want to plot the maximum value for each graph against the index file. You can simply store maximum values in l as an array and plot the array.
In the loop, change l=max(v) to l(k)=max(v) and use plot(l) after the loop.
See Also
Categories
Find more on 2-D and 3-D Plots 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!