女学生被拉到卫生间:matlab问题!!!!!!!!

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 03:40:58
小弟编写了一个几个求卷积的程序,结果都遇到了相同的问题,请高人指点一下

t0=-4:0.01:4;
t1=-0.5;
u1=stepfun(t0,t1);
t2=1;
u2=stepfun(t0,t2);
et=u1-u2;
subplot(221);plot(t0,et) ,grid on
axis([-4,4,-4,4])

t00=-4:0.01:4;
t1=0;
u1=stepfun(t00,t1);
t2=2;
u2=stepfun(t00,t2);
u=u1-u2;
f2=u.*(0.5*t00);
subplot(222);plot(t00,ht) ,grid on;
axis([-4,4,-4,4]);

t3=3:0.01:5;
rt=conv(et,ht);
subplot(223);plot(t3,rt) ,grid on
axis([-4,4,-4,4]);

运行后提示

??? Error using ==> plot
Vectors must be the same lengths.

请问有高人知道哪儿错了吗?

该怎么样改正呢

希望指点一下我这个菜鸟

谢谢了

修改了一下,通了。一个是ht没有定义,另一个是t3与rt的维数不同,看%批注。
t0=-4:0.01:4;
t1=-0.5;
u1=stepfun(t0,t1);
t2=1;
u2=stepfun(t0,t2);
et=u1-u2;
subplot(221);plot(t0,et) ,grid on
axis([-4,4,-4,4])

t00=-4:0.01:4;
t1=0;
u1=stepfun(t00,t1);
t2=2;
u2=stepfun(t00,t2);
ht=u1-u2; %ht NOT u
f2=u.*(0.5*t00);
subplot(222);plot(t00,ht) ,grid on;
axis([-4,4,-4,4]);

t3=3:0.001:4.6; %change vector of t3 = vector of rt
rt=conv(et,ht)
length(t3) %check length
length(rt) %check length
subplot(223);plot(t3,rt) ,grid on
axis([3,5,-170,170]); %reset the range

能保存m文件后
就不用以后在命令行中打了
如果发现打错命令的话,方便返回修改

问题在于t0和et的维数不一致。

呵呵,代码几个问题:
1. 楼上已指出了,第二段中,估计是丢了一行,导致f2与ht无关联,不知你的本意是什么,是ht=f2?
2. 不管是 卷积和 还是 卷积积分,rt的下限是et和ht下限之和,上限是et和ht上限之和。 最后的 t3应为 -8:0.01:8
3. 这里你是想用卷积和近似卷积积分,但需作相应转换,作图命令应改为: plot(t3,rt/100)

欢迎一起探讨,百度消息或QQ:505723084