各位,
我需要你的帮助!
Matlab:在Matlab上绘制这个连续时间信号。
2.对于上面的信号x(t),通过重用问题#1中定义的相应幅度矢量并定义适当的时间矢量来定义y(t)= 1 + 2x(-2t + 3)。在同一个绘图上绘制x(t)和y(t)..请注意,您不能重新计算信号,您必须使用有关移位,缩放等的知识。(提示:fliplr()或flipud() )。
问题#2真的阻止我到了大陆,我怎样才能得到y(t)= 1 + 2x(-2t + 3)而无法重新计算信号?我知道如何使用重新计算信号让它工作,但它要求我不要重新计算信号。以下是我的代码:
figure;
t = -5:0.01:5;
y = exp(-t).* heaviside(t) + (exp(-t) .* (exp((2*t)-4)-1) .* heaviside(t-2)) - (exp(t-4) .* heaviside(t-4));
t2 = (-2*t) + 3;
y2 = exp(-t2).* heaviside(t2) + (exp(-t2) .* (exp((2*t2)-4)-1) .* heaviside(t2-2)) - (exp(t2-4) .* heaviside(t2-4));
y3 = 1 + (2*y2);
plot(t,y,'g');
hold on;
plot(t,y3,'r')
我尝试使用以下代码重新编码信号进行编码:
figure;
clear all
t = -5:0.01:5;
y = exp(-t).* heaviside(t) + (exp(-t) .* (exp((2*t)-4)-1) .* heaviside(t-2)) - (exp(t-4) .* heaviside(t-4));
plot(t,y,'g');
hold on;
t2 = -t.* 2 + 3;
y2 = 1 + 2 * y;
plot(t2,y2,'r');
没有重新计算信号的图形将大小增加2,向左移动3,这与上面不同。所以,我认识到我的代码错了。另外,它说我们需要使用fliplr()或flipud(),但我不知道在哪里使用这个函数。
请给我一个帮助,谢谢!
答案 0 :(得分:0)
plot((t+3)/2,1+2*fliplr(y),'k')
你已经拥有的1+2*y
。您需要fliplr
来执行x(-t)
而不是x(t)
。然后你需要反转关于t的关系:x(2t)
将比x(t)
快“移动”两倍,所以如果你绘制相同的数据,它必须以两倍小的间隔绘制,因此{{1 }}