资源描述:
《MATLAB课件 6.5线性化模型.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、6.5仿真系统的线性化模型主要内容概述一般的非线性系统分析中,常需要在平衡点处求系统的线性化模型。利用Simulink提供的基本函数,可对非线性系统进行线性化处理。用数学方法描述,平衡点是系统状态导数为零的点。1.系统平衡点的确定在大多数的系统设计中,设计者都需要进行稳定性分析,因为绝大多数的系统在运行之中,都需要按照某种方式收敛到指定的平衡点处。这里所谓的平衡点一般指的是系统的稳定工作点,此时系统中所有的状态变量的导数均为0,系统处于稳定的工作状态。可以使用命令trim对系统的稳定性与平衡点进行分析。利用Simulink提供的trim()函数可根据系统的模型文件
2、来求出系统的平衡点。该函数的调用格式如下[x,u,y,dx]=trim(‘model’,x0,u0,y0,ix,iu,iy)其中,参数model是模型文件名。初始状态x0、初始输入u0与初始输出y0。ix,iu,iy都是整数向量,它们的元素指示初始向量x0,u0,y0中哪些分量固定不变,即为固定输出。注意:模型的输入和输出用输入/输出接口模块(In1/Out1)来表示。详细功能描述根据系统的输入、初始状态(也可以说是初始的工作点),按照一定的方法求取系统中距离此工作点最近的平衡点,以及在达到平衡点时的系统输入与输出。如果系统中不存在平衡点,则trim命令会返回系统
3、状态变量最接近0的工作点。2.连续系统的线性化模型利用Simulink提供的函数linmod()和linmod2()可以根据模型文件(同上系统的输入和输出必须由Connections库中的In1和Out1模块来定义)得到线性化模型的状态参数A、B、C和D,它们的调用格式为[A,B,C,D]=linmod(‘model’,x,u,)[A,B,C,D]=linmod2(‘model’,x,u,)在指定的系统状态x与系统输入u下对系统model进行线性化处理,x和u分别为平衡点处的状态向量和输入向量,缺省值为0。A、B、C与D为线性化后的系统状态空间描述矩阵。由linm
4、od2()所得线性模型比linmod()准确,当然所需的运行时间也更多。对于线性系统上面的调用格式可简写为[A,B,C,D]=linmod(‘model’)[A,B,C,D]=linmod2(‘model’)3.离散系统的线性化模型Simulink提供的函数dlinmod()能够从非线性多频率采样离散--连续混和系统中提取一个在任何给定的采样周期Ts下的近似线性模型。当Ts取零时,可得近似的连续线性模型,否则,得到离散线性模型。该指令的一般调用格式为[Ad,Bd,Cd,Dd]=dlinmod(‘model’,Ts,x,u,)其中Ts为指定的采样周期,其它参数同连续
5、系统中。例6-14求图6-57所示非线性系统的平衡工作点,及在平衡工作点附近的线性模型。图6-57单输入—双输出非线性系统解(1)饱和非线性模块(Saturation)图6-58饱和非线性模块参数对话框在MATLAB指令方式下,运行以下指令可求出平衡点。>>x=[0;0;0];u=0;y=[1;1];>>ix=[];%不固定任何状态>>iu=[];%不固定输入>>iy=[1;2];%固定输出y(1)和y(2)>>[x,u,y,dx]=trim('ex6_14',x,u,y,ix,iu,iy)以上几行命令等同于[x,u,y,dx]=trim('ex6_14',[],
6、[],[1;1],[],[],[1;2])%寻找输出固定为1的平衡点结果显示:x=-0.00000.53800.5000u=1.0380y=0.50000.5380dx=1.0e-024*0-0.24670在MATLAB指令方式下运行以下命令可得到系统在平衡工作点附近的线性模型>>[A,B,C,D]=linmod('ex6_14');>>[num,den]=ss2tf(A,B,C,D);>>printsys(num,den,'s')结果显示:num(1)/den=-8.8818e-016s^2+1s+1-------------------------------
7、-s^3+2.4s^2+2.4s+2num(2)/den=s^3+2.4s^2+2.4s+1----------------------------s^3+2.4s^2+2.4s+2模型cadp155b.mdl比较[x,u,y,dx]=trim('cadp155b',[],[],[1;1],[],[],[1;2])%寻找输出固定为1的平衡点x=-0.00001.00001.0000u=2y=1.00001.0000dx=1.0e-015*-0.2220-0.02270.3331[x,u,y,dx]=trim('cadp155b',[],[3],[1;1],[],[
8、1],[1