PDA

查看完整版本 : 帮忙看一下这三两行程序


smart55427
2008-12-18, 22:28
clc;
clear;
syms t k;
y=exp(-i*pi.*k*t);
fn=1/2*int(y,t,-0.5,0.5)
k=[-10:10];
stem(k,fn)


??? Error using ==> stem
The length of X must match the number of rows of Y.
Error in ==> ex3_4_1 at 7
stem(k,fn)

怎么改呢,求高手指点。

endlich
2008-12-18, 23:23
你这程序有点乱,首先你的函数是符号变量的形式,要算出结果必须要用subs函数转化成数值;其次符号变量只是一个符号,不能成为向量;第三,k是符号变量,后面有定义成数值向量,这个编程习惯不好!
clc;
clear;
k=[-10:10];
T=[-0.5:0.05:0.5];
for j=1:length(k)
syms t;
y(j)=exp(-i*pi.*k(j)*t);
fn(j)=1/2*int(y(j),t,-0.5,0.5);
fm(j)=subs(fn(j),t,T(j));
end
stem(k,fm);
不知道你要运行什么结果,反正上面程序没错了