📄 q614.m
字号:
%《MATLAB及在电子信息课程中的应用》第六章例6.14程序q614
% 由差分方程递推求输出
% 电子工业出版社出版 陈怀琛 吴大正 高西全合著 2001年10月初版,2003年7月第二版
%
clear
disp('输入方程左端的系数向量a=[a(1),...a(na)]')
a = input('a = (书上取[1,0.1,0.15,-0.225])');
disp('输入方程右端的系数向量b=[b(1),...b(nb)]= ')
b = input('b= (书上取[3,7,1]) ');
disp('输入信号序列u(1:lu)(注意lu也就是计算长度,书上取exp(0.1*[1:20]))')
u = input('u = ');
na=length(a);nb=length(b);nu=length(u);
s=['起算点前',int2str(na-1),'点y的值 =[y(',int2str(na-2),'),..,y(0)]= 书上取[0,0,0]'];
ym=zeros(1,na+nu);ym(1:na-1) = input(s); % 建立ym序列并赋予初值
um = [zeros(1,na),u]; % 建立um序列并赋予初值
for n=na:na+nu % 这个n以ym的起点为准
ys = ym(n-1:-1:n-na+1); % 生成us及ys
us = um(n:-1:n-nb+1);
ym(n) = (b*us'-a(2:na)*ys')/a(1); % 差分方程递推求ym
end
% 把ym时间坐标右移na位,求出y
y = ym(na+1:na+nu);stem(y),grid
set(gcf,'color','w') % 设置图形背景色为白色
line([0,nu],[0,0]) % 给出起点和终点的x和y数组,画横坐标轴
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -