文章目录
- 一、使用 matlab 求解 “ 线性常系数差分方程 “ 示例
- 1、B 向量元素 : x(n) 参数
- 2、A 向量元素 : y(n) 参数
- 3、输入序列
- 4、matlab 代码
一、使用 matlab 求解 “ 线性常系数差分方程 “ 示例
描述 某个 " 线性时不变系统 " 的 " 线性常系数差分方程 " 如下 :
输入序列 :
边界条件 / 初始条件 :
求该 LTI 系统的 输出序列 ;
线性常系数差分方程 公式 :
1、B 向量元素 : x(n) 参数
讨论
向量 ,
向量是
的参数 , 有几个
项 ,
向量 就有几个元素 ;
上式中
,
的项只有
项 ,
只有一项 , 加和式只有一项 , 因此对应的
向量 , 只有
个元素 ;
代码语言:javascript复制B = [1.5];
2、A 向量元素 : y(n) 参数
下面讨论
向量 ,
向量是
的参数 , 有几个
项 ,
向量 就有几个元素 ;
线性常系数差分方程 :
将
移到左边 , 得到 :
这里有
个
项 ,
向量的元素有两个 ,
;
代码语言:javascript复制A = [1, -0.7];
3、输入序列
输入序列 :
输入序列 的元素个数 , 等于 输出序列 的元素个数 ;
时 ,
, 然后再次生成
个
元素 , 放到 输入序列 中 ;
输入序列为
, 共
个元素 ;
对应的 matlab 代码为
代码语言:javascript复制xn=[1,zeros(1,30)];
4、matlab 代码
matlab 代码 :
代码语言:javascript复制% 边界条件 y(-1) = 1 , 这里设置 ys = 1
ys = 1;
% 输入序列 为 单位脉冲序列
xn=[1,zeros(1,30)];
% 线性常系数差分方程 中的 x(n) 项系数
B=1.5;
% 线性常系数差分方程 中的 y(n) 项系数
A=[1, -0.7];
% 等效 初始条件 的 输入序列 xi
xi=filtic(B,A,ys);
% 输出序列
yn=filter(B,A,xn,xi);
%建立幕布
figure;
%绘制 "输出序列" 图像 , 点用上三角表示
plot(yn, '^');
% 打开网格
grid on;
绘图效果 :