建模与仿真及其医学应用精

上传人:s9****2 文档编号:487309642 上传时间:2022-12-16 格式:DOC 页数:31 大小:399KB
返回 下载 相关 举报
建模与仿真及其医学应用精_第1页
第1页 / 共31页
建模与仿真及其医学应用精_第2页
第2页 / 共31页
建模与仿真及其医学应用精_第3页
第3页 / 共31页
建模与仿真及其医学应用精_第4页
第4页 / 共31页
建模与仿真及其医学应用精_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《建模与仿真及其医学应用精》由会员分享,可在线阅读,更多相关《建模与仿真及其医学应用精(31页珍藏版)》请在金锄头文库上搜索。

1、建模与仿真及其医学应用实验讲义天津医科大学生物医学工程系2004 年实验一 系统建模的MATLAB实现一、实验目的:1 学习MATLA基本知识。2. 掌握数学模型的MATLA实现:时域模型、状态空间模型和零极点 模型。3. 学习用MATLA实现系统外部模型到内部模型的转换。4. 学习用MATLA实现系统模型的连接:串联、并联、反馈连接。5. 了解模型降阶的MATLA实现。二、实验内容1. 系统的实现、外部模型到内部模型的转换2(1) 给定连续系统的传递函 数G(s) (S 8)(S 2 2S 5),利用 (2s + 3)(3s +4s + 13)MATLA建立传递函数模型,微分方程,并转换为状

2、态空间模型(2) 已知某系统的状态方程的系数矩阵为:023b011 0【c= 110 01d = 10卫1 一利用MATLA建立状态空间模型,并将其转换为传递函数模型和零极 点模型。(3) 已知系统的零极点传递函数为G(s),利用(s + 2)(s+3)(s + 4)MATLA转换为传递函数模型和状态空间模型。2. 系统的离散、连接、降阶(1)给定连续系统的传递函数G(s) (s 8)(s22 2s 5),将该连(2s + 3)(3s2 +4s + 13)续系统的传递函数用零阶重构器和一阶重构器转换为离散型传递函 数,抽样时间T=1秒。(2) 该系统与系统H(s) 厂分别串联并联负反馈连s2+

3、6s+5接,求出组成的新系统的传递函数模型。(3) 将串联组成的新系统进行降阶处理,求出降阶后系统的模型, 并用plot图形比较降阶前后系统的阶跃响应。要求:将以上过程用MATLABS程(M文件)实现,运行输出结果。三、实验说明一关于系统建模的主要MATLA函数1 建立传递函数模型:tf函数:格式:sys=tf(num,den)num=bm,bm-i,b分子多项式系数den=ai,an-1,ao分母多项式系数2 建立状态空间模型:ss函数:格式:sys=ss(a,b,c,d) %a,b,c,d为状态方程系数矩阵 sys=ss(a,b,c,d,T)沪生离散时间状态空间模型3建立零极点模型的函数:

4、zpk格式:sys=zpk(z,p,k)4 模型转换函数:tf2ss tf2zp ss2tf ss2zp zp2tf zp2ss%2为to的意思格式:a,b,c,d=tf2ss(num,den)z,p,k=tf2zp( nu m,de n)n um,de n=ss2tf(a,b,c,d,iu) %iu 指定是哪个输入z,p,k=ss2zp(a,b,c,d,iu)num,den=zp2tf(z,p,k)a,b,c,d=zp2ss(z,p,k)5模型的连接串联: sys=series(sys1,sys2)并联: sys=parallel(sys1,sys2)反馈连接:sys=feedback(sy

5、s1,sys2,sign)%负反馈时sign可忽略;正反 馈时为 1 。6系统扩展:把若干个子系统组成系统组。格式:sys=append(sys1,sys2, )7模型降阶(1 )基于平衡的状态空间实现 -balreal格式: sysb=balreal(sys)sysh,g,T,Ti=balreal(sys)sys为原系统,sysb(sysh为平衡实现系统,g为平衡对角线矩阵,T 为状态变换矩阵, Ti 是前者的逆矩阵。两种格式的区别: 前者只给出原系统的一个平衡的状态空间实现, 而 后者还给出平衡实现的对角线矩阵 g,从中可以看出哪个状态变量该 保留,哪个状态变量该删去,从而实现降阶。(2)

6、 降阶的实现 modred格式: rsys=modred(sys,elim)rsys=modred(sys,elim, mde) rsys=modred(sys,elim, del )强调:这里的sys应是函数balreal()变换的模型,elim为待消去的状 态,md指降阶中保持增益匹配,del指降阶中不保持增益匹配。8连续系统模型离散化 函数: C2DM Conversion of continuous LTI systems to iscrete-time.格式: Ad,Bd,Cd,Dd=C2DM(A,B,C,D,Ts,method) 将连续系统状态空间离散系统状态空间method: z

7、oh零阶重构器 zero order holdfoh一阶重构器 first order holdNUMdQENd = C2DM(NUM,DEN,Ts,method)将连续系统传递函数离散系统传递函数G(s) = NUM(s)/DEN(s) to G(z) = NUMd(z)/DENd(z).四、实验报告要求1整理好经过运行并证明是正确的程序,必要的地方加上注释2给出实验的结果。#实验二连续系统的数字仿真一、计算机仿真在计算机支持下进行的现代仿真技术称为计算机仿真。仿真不单纯是对模型的实验,它包括建立模型、仿真运行和分 析研究仿真结果,即建模一一实验一一分析的全过程。MATLAB提供各种用于系统

8、仿真的函数,用户可以通过m文件调用指令和函数进行系统仿真,也可以通过 Simulink工具箱,进 行面向系统结构方框图的系统仿真。这两种方式可解决任意复杂系统 的动态仿真问题,前者编辑灵活,而后者直观性强,实现可视化编辑。 内容:连续系统仿真:数值积分法、离散相似法离散事件系统仿真SIMULINK动态仿真二、基于数值积分法的连续系统仿真1数值积分法的MATLAB函数MATLAB的工具箱提供了各种数值积分方法函数: 格式:T,Y=solver(F ,TSPAN,Yo,OPTIONS)solver为微分方程的求解函数名。F为系统模型文件名,模型为yt = f t,yTSPAN=To Tfinal为

9、积分区间,初值一终值,Yo为系统输出初始值,即To时刻的初值列向量;OPTIONS设置积分相对允误RelTc和绝对允误AbsToJ 缺省时,RelTol=1e-3, AbsTol=1e-6.输出参数T和丫为列向量,T为时刻向量,丫表示不同时刻的 函数值。系统模型函数的编写格式是固定的,如果其格式没有按照要求 去编写则将得出错误的求解结果,系统模型函数的引导语句为:function xdot=模型函数名(t,x,附加参数)其中t为时间变量,x为状态变量,xdot为状态变量的导数。如果有 附加参数需要传递,则可以列出,中间用逗号分开。solver:ode23 Runge-Kutta法三阶积分算法、

10、二阶误差估计、变积分步长 的低阶算法ode45 Runge-Kutta法,变步长的中等阶次积分算法ode113 变阶的 Adams-Bashforth-Moulton,多步长 ode15s改进的Gear法,用于刚性方程的求解。例:求微分方程x 5, 0_t_10,x0 = 1先建立一个系统模型文件(m文件函数)dfun.mfun cti ony=dfu n( t,x)y=sqrt(x)+5;然后建立m文件mp2-1%mp2-1t,x=ode23(dfun, 0 10 , 1)plot(t,x)tx01.00000.01331.08030.08001.48900.27202.72630.5685

11、4.78001.03568.30351.758914.34052.758923.67783.758934.03414.758945.32145.758957.48156.758970.47217.758984.26128.7589 98.82309.7589 114.136510.0000117.93842.对于高阶常微分方程,y(n) = f (t, y, y,.y(n4),则可以选择一组状态变量人=y,X2二y,.,Xx = y(n),将原高阶微分方程模型变换成以 下的一阶微分方程组形式:捲=x2X; =X31:I-Xn = f t,X1,X2,.Xn例:y : ! (y2 _ 1) y

12、y = 0可变换成 X1 =X2,X2 二-(x; -1)X2 -X1fun ctiom y=vdp_eq(t,x,mu)y=X(2);-mu*(X(1).A2-1).*X (2) -x(1)三、基于离散相似法的连续系统仿真所谓离散相似法是首先将连续系统模型离散化,得到等价的或 相似的离散化的模型,然后对相似的离散模型进行仿真计算。根据这一原理,首先应将连续时间系统模型转换为等价的离散 时间系统模型。连续系统离散化处理是通过转移矩阵法;采样和 信号保持器;变换法(如双线性变换)来实现的。1.转移矩阵法的实现:如果连续系统的状态空间模型为:x = Ax + bu=Cx + Du则其离散状态空间模

13、型为:严(k+1)=G(T)x(k)+ m(T)u(k)i y(k) =Cx(k) +Du(k)其中G仃)二eAT状态转移矩阵(矩阵指数)Tm(T)eAz)Bdt0由此可知,利用状态方程离散化时的主要问题是如何计算(T)、m(T)。对于一阶、二阶环节,G(T)、门m(T)可以用解析方法求出 来,而对于高阶及多输入多输出系统,就要采用数值解法。MATLAB 提供了计算矩阵指数的函数 expm,EXPMMatrix expo nen tial.EXPM(X) is the matrix exponential of X. EXPM is computed using a scaling and s

14、quaring algorithm with a Pade approximation.EXPM1, EXPM2 and EXPM3 are alternative methods.例:x = Ax Buo o_-Ab1 -求叮(T)、叮-m(T)% Define system matrices%mp2-2A = 0 1 ; 0 -1;B = 0 ; 1; t=0.1 syms tau % Define tau to be symbolicphi = expm(A*t)% Symbolically calculate eA(A*t)phim1= in t(expm(A*(t-tau),tau,O,t)*B phim=sym2poly(phim1)%将符号运算转换为数值结果:phi =1.00000.095200.9048phiml =-9/10+exp(-1/10)1-exp(-1/10)phim =0.00480.09522采样和信号保持器以及双线性变换法的实现:MATLAB还提供了通过采样和信号保持器以及双线性变化法将 连续系统模型转换为离散时间系统模型的函数C2D,调用格式为sysd = c2d (sys, Ts, method)其中,sys为线性连续时间系

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号