Vectors must be the same length.

9 views (last 30 days)
Every time I run this code, I get "Error using plot Vectors must be the same length.
Showing error in line-8.
reading the audio input signal
[y, Fs] = audioread('recording for lab.wav')
x = resample(y, 8000, 44100);
info = audioinfo('recording for lab.wav')
t = 0:seconds(1/Fs):seconds(info.Duration);
t = t(1:end);
figure()
subplot(1,1,1)
plot(t,y)
xlabel('time')
ylabel('amplitude')
title('audio signal')
  3 Comments
Nitin Phadkule
Nitin Phadkule on 4 Jul 2021
size of t and y must be same i.e. number of values in array t and y must be equal
Mathieu NOE
Mathieu NOE on 4 Jul 2021
hello ,
You are not using Fs info to generate the time stamps (uh !) , and even worse you do a resampling function and do not apply the implication on Fs (that then would generate the right t vector)
so no wonder signal and time vector are of different length

Sign in to comment.

Answers (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 4 Jul 2021
Edited: Sulaymon Eshkabilov on 4 Jul 2021
A small err in t's size:
...
t = t(1:end-1); % 1 last value has to be removed.
...

Categories

Find more on Audio I/O and Waveform Generation in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!