tf([ 1 2 3 6],[5 6 9 8 ]) LTI模型建立函数:
一个 n 阶连续时间系统可以用 n 阶微分方程来描述,其一般形式为 y(n)(t)+ an−1yn−1(t)+⋅⋅⋅+a1y′(t)+ a0y(t) = bmx(m)(t)+bm−1xm−1(t)+⋅⋅⋅+b1x′(t)+ b0x(t) 式中 y(t) 和 x(t) 是系统的响应和激励; y(n)(t) 是 y(t) 的 n 阶导数; x(m)(t) 是 x(t) 的 m 阶导数; ak 和 bk 是各项系数。
所以一个线性时不变系统的方程可写成ay''+by'+cy=ky''+my'+gy, (a,b,c,k,m,g均为常数,即系数)
tf 这个函数可以在matlab内建立一个模型,以这些系数为标准。
所以我们通过其他方法求出参数就可以建立模型了。
使用方法:
等号左边系数放在第二个参数,右边系数放第一个参数,空缺补零;
返回的是一个模型,通常直接作为其他函数的参数使用。
dsovle('eq1','cond','v') 常系数微分方程求解:
求解微分方程时,把方程(eq1)丢进去,把特定值(cond)丢进去,把自变量(v)丢进去,就可以得到解。
使用方法:
方程 ay''+by'+cy=0,写成 eq1=' a*D2y+b*Dy+c*y=0 ' , D2y 表示二阶导
特定参数 即当自变量为0的函数值,一阶导,二阶导........ 写成y(0) 、Dy(0)、 D2y(0)
自变量 默认为t ,可设置
返回值,为一个解方程,该方程自变量与上方设置的自变量一样
lsim 解常系数微分方程
不同于dsovle函数,lsim这个函数更多用于信号系统;
使用方法:
1:建立系统模型,用某种方法求出系统微分方程的左右两边系数,丢进 tf()函数得到系统模型sys;
2:放入原始信号求经过该系统后的输出信号: y=lsim(sys,f,t);
f : 原始信号 t: f 对应的自变量
setfun 和 heaviside 阶跃信号产生函数
产生一个阶跃信号
使用方法:
1、setfun(t,t0); t 是时间范围,t0 是阶跃点
2、heaviside(t); 当t=0时阶跃;
conv 卷积函数
为了便于理解,直接上例子
u = [1 2 3];
v = [1 2 3]; %其中w的长度是u和v长度相加减1
w = conv(u,v) %卷积u v
过程
u [1 2 3]
v [3 2 1] v左移一次,相对数字便乘积累加得到当前卷积值
卷积结果 w =1 4 10 12 9
tips:
卷积如果从图解法的角度来看,它的结果其实是面积,即两个波形重合的面积
所以如果你卷积的是两个函数、信号......等带自变量的东西,那么就要注意自变量的间隔,即你的卷积结果应该是
f= conv(f1,f2)*dt; dt 为时间间隔
因为面积等于横轴乘以纵轴,在横轴上每两个数据间的距离不一定是 1,等看你设置的是多少。