Use MATLAB built-in function conv() to compute and plot y[n]
3 ビュー (過去 30 日間)
古いコメントを表示
my code is: clear all; close all; clc;
%first sequence x=[0, 1, 1, 1, 0, 0, 0]; %second sequence h=[1, 2, 4, 8, 16, 32, 64];
%built-in function
y= conv(x,h); disp('The convolution output is'); disp(y); and the command window is: >> k=[0, 1, 1, 1, 0, 0, 0]; >> >> y=[1, 2, 4, 8, 16, 32, 64]; >> >> z= conv(k,y); >> >> disp(z) 0 1 3 7 14 28 56 112 96 64 0 0 0
>> subplot(6,1,1);plot(k);subplot(6,1,2);plot(y);subplot(6,1,3);plot(z); >> subplot(6,1,1);stem(k);subplot(6,1,2);stem(y);subplot(6,1,3);stem(z); My problem is that the figure "欲2" where I make the code doesn't match the figure "欲" which the question gives. I have no idea if my code and the final figure"欲2" is right.
5 件のコメント
採用された回答
Bruno Luong
2018 年 10 月 28 日
編集済み: Bruno Luong
2018 年 10 月 28 日
I don't see what is the difficulty for you.
MATLAB array is 1-indexing, and CONV just do the work on array indices.
If you know the correspondence between indices and the [n] value, which obviously 0-base, therefore equal to (matlab indices-1), just shift the indices and plot with 2 arguments.
x = ...
h = ...
y = conv(x,h);
subplot(3,1,1);
stem(0:length(x)-1,x);
subplot(3,1,2);
stem(0:length(h)-1,h)
subplot(3,1,3);
stem(0:length(y)-1,y)
0 件のコメント
その他の回答 (1 件)
asad ali
2021 年 5 月 1 日
x = ...
h = ...
y = conv(x,h);
subplot(3,1,1);
stem(0:length(x)-1,x);
subplot(3,1,2);
stem(0:length(h)-1,h)
subplot(3,1,3);
stem(0:length(y)-1,y)
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

