MATLAB Answers

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

26 views (last 30 days)
James Sheldon
James Sheldon on 12 Jun 2018
Commented: 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

Matt Dickson
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?

Sign in to comment.

Answers (2)

Arun Mathamkode
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

James Sheldon
James Sheldon on 20 Jun 2018
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.
James Sheldon
James Sheldon on 20 Jun 2018
I want more of a scatter plot of the data so I can compare the results.

Sign in to comment.


James Sheldon
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.