Error using plot Vectors must be the same length.
Show older comments
good evening family I was calculating the autocorrelation of the function cos (wt) but every time I compile I get an error like Error using plot Vectors must be the same length.
Help me please.
this is my code :
function autocorrx
f0=20; N=1000 ;
k=5; Tmax=k/f0;
t=0/2:Tmax/N:Tmax;
x=cos(2*pi*f0*t);
subplot(1,1,1);
plot(t,x);
axis([0 0.1 -1 1]);grid;
xlabel('t(s)');
ylabel('cos(wt)');
C = xcorr(x,x)*Tmax;
subplot(2,2,2) ; plot(t,C) ;
axis([-0 0.1 -1 1]);
grid
xlabel ('t') ;
ylabel ('Cxx(t)') ;
title ('autocorrelation ')
end
5 Comments
Adam Danz
on 9 Dec 2019
That error means that "Vectors must be the same length". It's pretty clear.
K>> size(t)
ans =
1 1001
K>> size(C)
ans =
1 2001
Clearly t and C and not the same length. So Matlab doesn't know how to pair those coordinates which is required for plotting.
sabayke bremso
on 9 Dec 2019
Adam Danz
on 9 Dec 2019
Because you're crushing the axis limits.
axis([-0 0.1 -1 1]);
Remove that line.
sabayke bremso
on 9 Dec 2019
Adam Danz
on 9 Dec 2019
Glad I could help!
Accepted Answer
More Answers (0)
Categories
Find more on Grid Lines, Tick Values, and Labels in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!