收藏本站
网站导航
联系方式
网站首页 | 杂志简介 | 论文欣赏 | 在线订阅 | 征稿启事 | 投稿须知 | 资讯速递 | 写作指南
本刊信息

主管:广西国有资产监督管理委员会
主办:广西轻工业科学技术研究院
协办:广西轻工协会
      广西酿酒协会
编辑/出版:《广西轻工业》编辑部
编委会主任:罗左青
编委会副主任:程劲芝 梁智
编委:白树雄 宋  苹 蒋敬全
      谢晓航 雷光鸿 贤章胜
主编:贤章胜
地址:广西南宁经济技术开发区
      迎凯路8号
邮编:530031
编辑部:0771-4518435
        4518909转8968
投稿信箱:qgkj@vip.126.com
网址:www.qgkjlw.com
国际标准刊号:ISSN2095—3518
国内统一刊号:CN45—1385/TS
订阅:全国各地邮局
邮发代号: 48—123
定价:人民币15元
刊期:月刊

理事单位

广西粮油科学研究所
广西大学轻工与食品工程学院
广西大学生命科学与技术学院
广西农垦糖业集团金光制糖有限公司
广西农垦糖业集团昌菱制糖有限公司
广西机械工业研究院
重庆啤酒集团柳州啤酒有限责任公司
南宁吉然节能环保技术有限公司
柳州柳连机械制造有限责任公司
南京润维热工设备有限公司
广西柳州市嘉诚汽车饰件系统有限公司
广西柳江县柳兴榨辊有限责任公司
广西南宁丰烁电力设备节能有限公司
广西都安密洛陀野生葡萄酒有限公司
广西巴马神酒业有限责任公司
广西中天领御酒业有限公司
广西北海市合浦东园家酒厂
桂林理工大学管理学院
广西工业职业技术学院   
广西农业职业技术学院
广西二轻工业技工学校
广西德保县酒厂
广西全州湘山酒厂
田阳南华纸业有限公司
广西桂平乳泉液酒业有限公司

 
首页>> 论文欣赏 >> 计算机科学与信息技术>> 正 文
 

浅析SIMULINK中的仿真算法

2012年第6期(总第163期)
东方(陕西国防工业职业技术学院机电工程系,陕西 西安 710300)
 
 

【摘 要】 通过对MATLAB/SIMULINK软件中仿真算法的简要分析,得到适合于连续线性系统仿真的算法。

【关键词】  SIMULINK仿真算法;可变步长

 

目前通过对系统模型而不是实际系统的研究,即仿真,在工程研究中得到越来越广泛的应用。计算机仿真软件很多,在不同的系统中采用不同的仿真软件,其中MATLAB/SIMULINK是一个用来对动态系统进行建模仿真和分析的软件包,它支持连续、离散及两者混合的线性和非线性系统,也支持多种采样速率的多速率系统。算法选择的好坏,将直接影响到仿真结果,因此,选择合适的算法对系统的仿真是很关键的。传统的数字仿真算法有以下几种,下面简要分析一下它们的优缺点。

1 常用的仿真算法

1欧拉法(Euler)。欧拉法又称折线法,它能够由前一点t(n)的数值y(n)直接求得后一点t(n+1)的数值y(n+1),而不需要其它信息,也就是说它能够自启动,这样的方法我们称为单步法。欧拉法的误差等级为O(h2)h为步长。因此,欧拉法尽管速度快但不够精确。

2梯形法。梯形法的公式为隐式,求解须采用迭代的方法,它不能自启动,运算中必须用其它方法先获得所求时刻以前多步的解,这种方法称为多步法。由于梯形法采用一个步长内两点斜率的平均值来代替欧拉法中的一点上的斜率,因此它比欧拉法的精度要高一些,但它所需迭代的计算次数过多,计算量大,执行时间长。

3预估校正法。预估校正法是先用一显式公式估计一个初值,然后再用隐式公式进行迭代运算,实现校正,它可以避免隐式中的大量迭代运算。精度要求不高时,用最简单的预估—校正法——采用欧拉法“预估”,梯形法“校正”。如果精度要求高,可采用汉明(Hamming)法。只是汉明法不能自启动。预估—校正法与欧拉法比较,计算量约增加一倍,但精度有所提高。

4龙格库塔法(Runge—Kutta)。龙格库塔法是仿真中应用最广泛的方法。它以泰勒展开公式为基础,用函数f的线性组合代替f的高阶导数项,避免了高阶导数的运算,又提高了精度。泰勒公式的阶次取得越高,龙格—库塔法所得的误差等级越低,精度越高。最常用的是四阶龙格—库塔法,它虽然有一定的时间损耗,但比梯形法要快,而且与其它方法比较,其误差比欧拉法高三个数量级,比预估—校正法高两个数量级,是自启动的。它之所以广泛用于仿真上,还有不可忽视的优点:编程容易、改变步长方便、稳定性好。

5亚当斯法(Adams)。其斜率的计算是采用一个步长内两个端点线性内插的结果,如果用更高次的多项式近似,可相应地提高精度。亚当斯法的误差与龙格—库塔法同阶,但它为多步解法,费时多。

6)图斯汀法(Tustin)。它可以直接用于建立一个以传递函数描述的线性系统仿真模型,计算速度低于欧拉法,但比龙格一库塔法快,精度也在两者之间。可用于高阶微分方程求解。

2  SIMULINK中的仿真算法

SIMULINK仿真涉及微分方程组的数值求解,由于控制系统的多样性,没有哪一种仿真算法是万能的。为此用户需针对不同类型的仿真模型,按照各种算法的不同特点、仿真性能与适应范围,正确选择算法,并确定适当的仿真参数,以得到最佳仿真结果。下面将其中常用的算法简要说明一下。

1Variable-step可变步长类型算法

这类仿真算法可以让程序修正每次仿真的步长大小,并提供错误控制(Error control)以及零点检测(Zero Crossing Detection)功能。属于Variable-step的仿真算法有:ode45ode23ode113ode15sode23sode23tode23tb以及discrete。现将各种算法介绍如下:

“ode45” Runge—Kutta四、五阶算法,这种算法特别适用于仿真线性化程度高的系统。

“ode23” Runge—Kutta二、三阶算法,用于解决非刚性问题,在允许误差方面以及使用在stiffness mode(稍带刚性)问题方面,比ode45效率高。

“ode23s”:是一种改进的Rosenbrock二阶算法,在允许误差比较大的条件下,ode23sode15s更有效。所以在使用ode15s处理效果比较差的情况下,宜选用ode23s来解决问题。

“ode113”:属于Adams算法,用于解决非刚性问题,在允许误差要求严格的情况下,比ode45算法更有效。

“ode15s”:属于NDFs算法,用于解决刚性(stiff)问题。当ode45ode113无法解决问题时,可以尝试采用ode15s去求解,但ode15s法运算精度较低。

“ode23t”:这种算法是采用自由内插法实现的梯形,适用于解决系统有适度刚性并要求无数值衰减问题。

“ode23tb”:属于TR-BDF2算法,适合于求解刚性问题,对于求解允许误差比较宽的问题效果好。

“discrete”:用于处理非连续状态的系统模型。

2Fix-step固定步长类型算法

“ode5”:属于Dormand Pfince算法,就是定步长下的ode45算法。

“ode4”:属于四阶的Runge-Kutta算法。

“ode3”:属于Bogacki-Shampine算法,就是定步长下的ode23算法。

“ode2”:属于Heuns法则。

“ode1”:属于Euler法则。

“discrete(fixed-step)”:不含积分运算的定步长方法,适用于求解非连续状态的系统模型问题。

3 结束语

由以上分析可看出,对于连续的线性定常系统,最适合的SIMULINK仿真算法为ode45,只要选择合适的仿真参数就能得到较为理想的仿真结果。

 

参考文献

[1]王忠礼. MATLAB应用技术[M].北京:清华大学出版社,2007.

[2]黄忠霖.控制系统MATLAB计算及仿真[M].北京:国防工业出版社.2004.

 

   
关于我们 | 版权声明 | 广告服务 | 网站地图 | 联系方式
Copyright© 2005 QGKJLW.COM All Rights Reserved. 版权所有.《轻工科技》编辑部
工作QQ:373180636 投稿信箱:qgkj@vip.126.com 咨询电话:0771-4518435 4518909转8968
通讯地址: 广西南宁经济技术开发区迎凯路8号《轻工科技》编辑部 邮编:530031