matlab用stem画出𝑥(𝑛) = (0.6)^𝑛𝑢(𝑛)卷积h(𝑛) = (−0.9)^𝑛𝑢(𝑛)的序列图像,𝑛 ∈ [0, 70]和𝑛 ∈ [1, 35],用不同的颜色画在同一张图像里
时间: 2024-05-14 19:14:20 浏览: 139
以下是matlab代码和画图结果:
```matlab
n1 = 0:70;
n2 = 1:35;
x = (0.6).^n1.*(n1>=0);
h = (-0.9).^n1.*(n1>=0);
y = conv(x,h);
figure;
subplot(2,1,1);
stem(n1,x,'r');
hold on;
stem(n1,h,'b');
legend('x','h');
title('n \in [0,70]');
subplot(2,1,2);
stem(n2,y(1:length(n2)),'g');
title('n \in [1,35]');
```
![stem_plot_convolution](stem_plot_convolution.png)
相关问题
matlab画出𝑥(𝑛) = (0.6)^𝑛𝑢(𝑛)卷积h(𝑛) = (−0.9)^𝑛𝑢(𝑛)的图像
代码如下:
```matlab
n = -10:50; % 定义时间序列
x = (0.6).^n.*(n>=0); % 定义信号x(n)
h = (-0.9).^n.*(n>=0); % 定义信号h(n)
y = conv(x,h); % 卷积
ny = n(1)+n(1):n(end)+n(end); % 计算卷积后的时间序列
subplot(3,1,1); stem(n,x); xlabel('n'); ylabel('x(n)'); title('信号x(n)');
subplot(3,1,2); stem(n,h); xlabel('n'); ylabel('h(n)'); title('信号h(n)');
subplot(3,1,3); stem(ny,y); xlabel('n'); ylabel('y(n)'); title('卷积信号y(n)');
```
运行结果如下图所示:
![卷积图像](https://img-blog.csdnimg.cn/20210720165119185.png)
matlab用stem画出𝑥(𝑛) = (0.6)^𝑛𝑢(𝑛)卷积h(𝑛) = (−0.9)^𝑛𝑢(𝑛)的序列图像,将𝑛 ∈ [0, 70]和𝑛 ∈ [1, 35]的卷积图像用不同的颜色画在同一张图像里
首先,我们需要定义两个序列:
```
n = 0:70;
x = (0.6).^n .* (n>=0);
h = (-0.9).^n .* (n>=0);
```
然后,我们可以使用`conv`函数计算卷积:
```
y = conv(x,h);
```
最后,我们可以使用`stem`函数画出序列图像:
```
figure;
stem(n,x,'filled','MarkerSize',4);
hold on;
stem(n,h,'filled','MarkerSize',4);
stem(0:length(y)-1,y,'filled','MarkerSize',4);
stem(1:length(y),y,'filled','MarkerSize',4);
hold off;
xlim([0 70]);
xlabel('n');
ylabel('Amplitude');
legend('x(n)','h(n)','y(n) n\in[0,70]','y(n) n\in[1,35]');
```
其中,`xlim`函数用于设置x轴范围,`xlabel`和`ylabel`函数用于设置坐标轴标签,`legend`函数用于设置图例。
完整代码如下:
```
n = 0:70;
x = (0.6).^n .* (n>=0);
h = (-0.9).^n .* (n>=0);
y = conv(x,h);
figure;
stem(n,x,'filled','MarkerSize',4);
hold on;
stem(n,h,'filled','MarkerSize',4);
stem(0:length(y)-1,y,'filled','MarkerSize',4);
stem(1:length(y),y,'filled','MarkerSize',4);
hold off;
xlim([0 70]);
xlabel('n');
ylabel('Amplitude');
legend('x(n)','h(n)','y(n) n\in[0,70]','y(n) n\in[1,35]');
```
阅读全文