📄 q614a.m
字号:
%《MATLAB在电子信息课程中的应用》第六章例6.15的调用程序q614a
% 由差分方程递推求输出(不给出参数提示)
% 电子工业出版社出版 陈怀琛 吴大正 高西全合著 2001年10月
a = input('差分方程左端的系数向量a=[a(1),...a(na)]= ');
b = input('差分方程右端的系数向量b=[b(1),...b(na)]= ');
u = input('输入信号序列u= ');
na=length(a);nb=length(b);nu=length(u);
s=['起算点前',int2str(na-1),'点y的值 =[y(',int2str(na-2),'),..,y(0)]= '];
ym=zeros(1,na+nu-1);ym(1:na-1) = input(s); % 建立ym序列并赋予初值
um = [zeros(1,na-1),u]; % 建立um序列并赋予初值
for n=na:na+nu-1 % 这个n以ym的起点为准
ys = ym(n-1:-1:n-na+1); us = um(n:-1:n-nb+1); % 生成us及ys
ym(n) = (b*us'-a(2:na)*ys')/a(1); % 差分方程递推求ym
end
% 把ym时间坐标右移na-1位,求出y
y = ym(na:na+nu-1);stem(y),grid on % 画出波形
line([0,nu],[0,0]) % 给出起点和终点的x和y数组,画横坐标轴
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -