I want to plot my results individually under each other like a row and not a continues impulse response . Something isn't correct when i try it, Can someone help please?
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
codefanta
il 18 Gen 2019
Commentato: Star Strider
il 5 Feb 2019
x = zeros(1, 20000);
x(1 : 4000 : 20000);
xresh = reshapex, 4000, 5);
So every 4000fs i want to plotted graph?
0 Commenti
Risposta accettata
Star Strider
il 18 Gen 2019
I am not certain what you want.
Try this:
x = linspace(0, 20000, 20000)'; % Create Column Vector
y = sin(x*pi/500); % Create Data
xresh = reshape(x, 4000, 5);
yresh = reshape(y, 4000, 5);
yresh = bsxfun(@plus, yresh, (0:2:2*(size(yresh,2)-1))); % Add Offsets
figure
plot(xresh, yresh)
grid
Experiment to get your desired result.
9 Commenti
Star Strider
il 22 Gen 2019
As always, my pleasure.
Yes. You can probably make that dynamic by doing something like:
xresh = reshape(x, fix(x/5), 5);
However, you need to choose a recording tiime and sampling frequency that will produce a value for the length of your recorded sound vector that is an integer multiple of the number of segments you want. The reshape function will fail otherwise.
Più risposte (2)
codefanta
il 23 Gen 2019
3 Commenti
Star Strider
il 27 Gen 2019
As always, my pleasure.
That bsxfun (link) call multiplies each column of ‘yresh’ by the corresponding element of the ‘( 0 : size(yresh,2 ) -1) ) * 2’ vector. That vector is equivalent to ‘[0, 2, 4, 6, 8]’. The purpose is to separate the columns by multiples of 2. Since the sound vectors are limited to a magnitude of ±1, this guarantees that they will be separated, and not overlap in the plot.
Vedere anche
Categorie
Scopri di più su Frequency Transformations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!