Vectors must be the same length.

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

It sounds like you haven't checked whether the error message is true..
size of t and y must be same i.e. number of values in array t and y must be equal
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)

A small err in t's size:
...
t = t(1:end-1); % 1 last value has to be removed.
...

Categories

Find more on Graphics Performance 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!