Vectors must be the same length

N1=64;
Y1=fft(y,N1);
x= (0:29);
subplot(3,1,2)
plot(x,abs(Y1))
xlabel('Frequency (Hz)');
ylabel('Amplitude');
%HOW TO MAKE IT SAME LENGTH?(LINE5)

 采纳的回答

The number of elements in ‘Y1’ in the plot need to be the same as the number in ‘x’ so one way would be to re-define ‘x’ to be the desired length with respect to ‘Y1’ and another would be:
plot(x,abs(Y1(1:numel(x))))
Use the approach that gives the desired result.
.

5 个评论

% I dun understand...if i add nume1.....the MATLAB won't recognize it
so how to make Y1 same as x?
It is not necessary toi make the entire vector the same size, only the range desired in the plot. That is what the code I posted does.
To make ‘x’ the same size as ‘Y1’ create it as:
x = linspace(0, numel(Y1), numel(Y1));
The length of ‘Y1’ is fixed by ‘N’ and since that governs everythin else, it creates another option:
x = 0:N-1;
Choose the one that gives the desired result.
.
ok tq for ur guide
As always, my pleasure!
.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Mixed-Signal Blockset 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by