MATLAB实现离散时间实指数序列问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 22:10:38
function dszsu(c,a,k1,k2)
%c:指数序列的幅度
%a:指数序列的底数
%k1:绘制序列的起始序号
%k2:绘制序列的终止序号
k=k1:k2;
x=c*(a.^k);
stem(k,x,'filled')
hold on
plot([k1,k2],[0,0])
hold off
%离散时间实指数序列实现程序
subplot 221;
dszsu(1,5/4,0,20);
xlabel('k');
title('f1[k]');
subplot 222
dszsu(1,3/4,0,20);
xlabel('k');
title('f2[k]');
subplot 223;
dszsu(1,-5/4,0,20);
xlabel('k');
title('f3[k]');
subplot 224;
dszsu(1,-3/4,0,20);
xlabel('k');
title('f4[k]');
以上是我从书上抄的程序,运行时说K1没有定义,第6行有错误 请问怎么改?急救啊 马上要答辩了!!!

有人抢答了啊,你的问题就是把上面代码放到一起了,把前半截放到一个m文件中,文件名取为dszsu
后面一半在放到一个m文件中,或者直接放到command窗口就可以了,你的前半截相当于自己写了一个matlab的函数,跟平时用的fft()这种函数没什么区别,你可以把前半截做成一个m文件dszsu,然后在coomand窗口输help dszsu试试看,你就知道matlab怎么工作的了。
前半截是:
function dszsu(c,a,k1,k2)
%c:指数序列的幅度
%a:指数序列的底数
%k1:绘制序列的起始序号
%k2:绘制序列的终止序号
k=k1:k2;
x=c*(a.^k);
stem(k,x,'filled')
hold on
plot([k1,k2],[0,0])
hold off
这其实是两个程序的,然后执行第二个程序就可以了,就是后半截,后半截的名字可以随便取,但是前半截m文件名字只能是dszsu,因为你后面调用了dszsu函数。
我执行的结果跟上面那位一样的,如果不清楚再问吧

运行没有错误呀,我直接复制过去的,可以直接运行,你看我运行的结果贴在下边。对了,你是不是把function 函数也输入了command window了?不是在file中的M文件中建立的,或者是建立了M文件而没有保存就在command window中运行下面的subplot 221; 以后的程序了。

matlab或mathematica怎样实现对离散点的傅立叶变换和逆变换 什么叫“离散时间” 关于Matlab中离散傅立叶变换!!! 将一个离散时间信号进行傅立叶变换,怎样用MATLAB求该傅立叶变换中包含的频率值? 离散傅里叶变换DFT和离散时间傅里叶变换DTFT的区别 如何用c实现离散序列卷积 matlab中如何绘制大量的离散点 matlab中怎么绘制大量的离散点 如何用MATLAB实现??????? matlab实现FT