MATLAB Answers

0

How to plot multiple values of a variable in one graph?

Asked by James Sheldon on 12 Jun 2018
Latest activity Commented on by James Sheldon on 20 Jun 2018

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

To clarify, you want to plot the maximum value (you call it l). What are you plotting it against? Index of the file?

Sign in to comment.

2 Answers

Answer by 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.

  2 Comments

This is not exactly what I want. I want to plot the values in a somewhat waterfall type graph so I can stack up numerous values against one another to find the peak value. I will use this to set limits. So I want to plot each 1 values against the max height reached.

I want more of a scatter plot of the data so I can compare the results.

Sign in to comment.


Answer by James Sheldon on 19 Jun 2018

Okay. I will try that and see how it turns out. Thank you.

  0 Comments

Sign in to comment.