% Define fs and time duration
fs = 10; % sample/second
duration = 1; % second
% Generate the time axis
t = 0:1/fs:duration-1/fs;
% the rectangular signal
x = ones(size(t));
% Plot the signal
subplot(2,1,1);
stem(t, x);
xlabel('Time (s)');
ylabel('Amplitude');
title('orignal Signal x[n]');
% Convolve the signal with itself
y = conv(x, x);
% Generate the time axis for the convolved signal
t_conv = 0:1/fs:2*duration-1/fs;
% Plot the convolved signal
subplot(2,1,2);
stem(t_conv, y);
Error using stem
X must be same length as Y.
xlabel('Time (s)');
ylabel('Amplitude');
title('Convolved Signal y[n]');

3 件のコメント

Mohammed Alqahtany
Mohammed Alqahtany 2023 年 11 月 25 日
i have a problem when i want to stem a function
(Error using stem
X must be same length as Y.)
Dyuman Joshi
Dyuman Joshi 2023 年 11 月 25 日
The error is clear - The lengths of t_conv and y are not the same.
They should be the same.
Mohammed Alqahtany
Mohammed Alqahtany 2023 年 11 月 25 日
thank you

サインインしてコメントする。

 採用された回答

Paul
Paul 2023 年 11 月 25 日

0 投票

Because the first point in x corresponds to t = 0, so does the first point in y. t_conv has to have as many points as y. And the spacing in t_conv has to be fs. So the easiest way to construct the time vector that corresponds to y is
t_conv = (0:numel(y)-1)/fs

2 件のコメント

Mohammed Alqahtany
Mohammed Alqahtany 2023 年 11 月 25 日
thank it work now
Paul
Paul 2023 年 11 月 25 日
You're welcome.
Don't forget to divide y by fs if using conv, which computes the convolution sum, to approximate the convolution integral.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeChemical Process Design についてさらに検索

製品

リリース

R2023b

タグ

質問済み:

2023 年 11 月 25 日

コメント済み:

2023 年 11 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by