求写一个matlab的小程序~~~

已知离散时间信号f(k)=2[u(k)-u(k-2)],试用matlab绘出f(k),f(-k),-f(k),f(k-2).的时域波形。
syms k;
k=-5:5
f=sym('2*(heaviside(k)-heaviside(k-2))');
stem(k,f)
set(gcf,'color','w')
title('f(k)')
pause
f1=subs(f,k,-k);
stem(k,f1)
title('f(-k)')
pause
f2=-f;
stem(k,f2)
title('-f(k)')
pause
f3=subs(f,k,k-2);
stem(k,f3)
title('f(k-2)')
pause

这是我写的,可是有点错误,大家帮忙看下吧,弄好了我加分哦!

syms k;

k=-5:5

f11=sym('2*(heaviside(k)-heaviside(k-2))');

f1=subs(f11);

subplot(221)

stem(k,f1)

set(gcf,'color','w')

title('f(k)')

f2=sym('2*(heaviside(-k)-heaviside(-k-2))');

f2=subs(f2);

subplot(222)

stem(k,f2)

title('f(-k)')

f3=-f11;

f3=subs(f3);

subplot(223)

stem(k,f3)

title('-f(k)')

f4=sym('2*(heaviside(k-2)-heaviside(k-4))');

f4=subs(f4);

subplot(224)

stem(k,f4)

title('f(k-2)')

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-24

f=sym('2*(heaviside(k)-heaviside(k-2))');
改为
f=2*(heaviside(k)-heaviside(k-2));
即可。

syms k;
k=-5:5;
f=2*(heaviside(k)-heaviside(k-2));
stem(k,f)
set(gcf,'color','w')
title('f(k)')
pause
f1=subs(f,k,-k);
stem(k,f1)
title('f(-k)')
pause
f2=-f;
stem(k,f2)
title('-f(k)')
pause
f3=subs(f,k,k-2);
stem(k,f3)
title('f(k-2)')
pause
第2个回答  2011-09-25
这么好的答案,还等什么?快给:wacs5 - 总监 八级 加分。

还可以这样:在editor里运行。

%洛特卡—沃尔泰拉(Lotka-Volterra)捕食者和被捕食者模型 %
function Lotka_Volterra
t_end=15;
x0=[20;20];
[t,x]=ode45(@LV_model,[0,t_end],x0)
plot(t,x);
legend('野兔','狐狸')
function y=LV_model(t,x)
a=0.01;b=0.02;
y=[x(1)-a*x(1)*x(2);-x(2)+b*x(1)*x(2)];
第3个回答  2011-10-07
procedure TForm1.FormCreate(Sender: TObject);
Var
p:Pchar;
begin
getmem(P, 256);
Strcopy(P, '123');
Application.MessageBox(p, 'msg' ,64);
p[0]:='2';
Application.MessageBox(p, 'msg' ,64);
Freemem(p);
end;本回答被提问者采纳