马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
编程的时候需要绘制离散序列和的时域波形,在书上找到一个离散序列相加的函数(代码如下),保存后调用是出现这样的错误提示,请问问题出在哪里?应该如何改动?各位高手帮帮忙吧,我是菜鸟,需要帮助。谢谢啦!
function[x,n]=jxl(x1,x2,n1,n2)
n=min(min(n1),min(n2)):max(max(n1),max(n2)); %构造和序列函数
s1=zeros(1,length(n)); s2=s1; %初始化新向量
s1(find((n>=min(n1))&(n<=max(n1))==1))=x1; %将x1中在和序列范围内但又无定义的点赋值为零
s2(find((n>=min(n2))&(n<=max(n2))==1))=x2; %将x2中在和序列范围内但又无定义的点赋值为零
x=s1+s2; %两长度相等序列求和
axis([(min(min(n1),min(n2))-1),(max(max(n1),max(n2))+1), (min(x)-0.5),(max(x)+0.5)]) %设置坐标轴显示范围
调用的代码:
x1=[2,1,0,1,2]; n1=-2:2; x2=1:6; n2=0:5;
[x3,n3]=jxl(x1,n1,x2,n2);
stem(n3,x3,'filled')
运行后出现的错误提示如下:??? In an assignment A(I) = B, the number of elements in B and
I must be the same.
Error in ==> jxl at 7
s1(find((n>=min(n1))&(n<=max(n1))==1))=x1;
我help find 了一下,find的调用好像没有这种形式,但是我不知道改如何改。而且这个是书本上的函数,会错得这么离谱?
[ 本帖最后由 ChaChing 于 2009-3-19 14:46 编辑 ] |