标题:求教高手,为什么plot输出是错的呢
只看楼主
花间凤
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-10-10
结帖率:100%
已结贴  问题点数:5 回复次数:3 
求教高手,为什么plot输出是错的呢
n=0:100;
      x1=cos(0.1*n);
      x2=cos(0.4*n);
      x=x1+x2;
      h=[-6.76195 13.456335 -6.76195];
      y=conv(h,x);
      axis([0 100 -1.2 4]);
      plot(n,y,'r-',n,x2,'b--',n,x1,'g-.');grid
      ylabel('Amplitude'); xlabel('Time index n');
      legend('y[n]','x2[n]','x1[n]')
依据公式为y[n]=h[0]x[n]+h[1]x[n-1]+h[2]x[n-2]。

搜索更多相关主题的帖子: legend index 
2011-10-10 23:24
anbcjys
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:6
帖 子:110
专家分:861
注 册:2007-6-8
得分:5 
什么错误

qq604443022
2011-10-11 07:03
花间凤
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-10-10
得分:0 
已经解决了,谢谢关注。
2011-10-11 11:47
drmatlab
Rank: 2
等 级:论坛游民
帖 子:19
专家分:10
注 册:2011-9-15
得分:0 

恭喜楼主自行解决这一问题。既然我也已经作了些工作,就拿出来与大家分享吧!


一、出错原因
由h和x卷积形成的向量y其维数等于h的维数+x的维数-1
y的维数=3+101-1=103
可见
y的维数不等于n的维数101,不能直接把n作为变量y作为函数来作图!

二、详细解剖
>> n=0:100;
      x1=cos(0.1*n);
      x2=cos(0.4*n);
      x=x1+x2;
      h=[-6.76195 13.456335 -6.76195];
      y=conv(h,x);
      axis([0 100 -1.2 4]);
>> size(y)

ans =

     1   103

>> size(n)

ans =

     1   101

>>   plot(n,y,'r-',n,x2,'b--',n,x1,'g-.');grid
??? Error using ==> plot
Vectors must be the same lengths.
 
三、解决问题的方案
>> plot(n,y(1:101),'r-',n,x2,'b--',n,x1,'g-.');grid
>>   ylabel('Amplitude'); xlabel('Time index n');
      legend('y[n]','x2[n]','x1[n]')

四、结果

2011-10-11 12:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-352034-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.578022 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved