CarSim、Simulink联合仿真

CarSim、Simulink联合仿真
CarSim、Simulink联合仿真

CarSim与Simulink联合仿真

1 软件介绍

在MATLAB中,Simulink是用来建模、仿真和分析动态多维系统的交互工具。可以使用Simulink提供的标准模型库或者自行创建模型库,描述、模拟、评价和精化系统行为,同时,Simulink和MATLAB之间的联系十分便捷,可以使用一个灵活的操作系和应用广泛的分析和设计工具。最后,除了可以使用Simulink建模和仿真之外,还可以通过其他软件联合来完成更多的分析任务,如CarSim、ADAMS、AMEsim等许多软件。

CarSim是专门针对车辆动力学的仿真软件,CarSim模型在计算机上运行的速度比实时快3-6倍,可以仿真车辆对驾驶员,路面及空气动力学输入的响应,主要用来预测和仿真汽车整车的操纵稳定性、制动性、平顺性、动力性和经济性,同时被广泛地应用于现代汽车控制系统的开发。CarSim可以方便灵活的定义试验环境和试验过程,详细的定义整车各系统的特性参数和特性文件。CarSim软件的主要功能如下:

●适用于以下车型的建模仿真:轿车、轻型货车、轻型多用途运输车及SUV;

●可分析车辆的动力性、燃油经济性、操纵稳定性、制动性及平顺性;

●可以通过软件如MA TLAB,Excel等进行绘图和分析;

●可以图形曲线及三维动画形式观察仿真的结果;

●包括图形化数据管理界面,车辆模型求解器,绘图工具,三维动画回放工具,功率

谱分析模块;

●程序稳定可靠;

●软件可以实时的速度运行,支持硬件在环,CarSim软件可以扩展为CarSim RT,

CarSim RT 是实时车辆模型,提供与一些硬件实时系统的接口,可联合进行HIL

仿真;

●先进的事件处理技术,实现复杂工况的仿真;

●友好的图形用户界面,可快速方便实现建模仿真;

●提供多种车型的建模数据库;

●可实现用户自定义变量的仿真结果输出;

●可实现与simulink的相互调用;

●多种仿真工况的批运行功能;

2 CarSim与Simulink联合仿真

2.1 Simulink接口

1) 变量由Simulink导入CarSim(导入变量)

可由Simulink导入到CarSim中的变量可达160多个,主要分为以下几部分:

?控制输入

?轮胎/路面输入

?轮胎的力和力矩

?弹簧及阻尼力

?转向系统的角度

?传动系的力矩

?制动力矩及制动压力

?风的输入

?任意的力和力矩图2.1 CarSim导入变量分类

我们可以在Simulink中定义变量,也可以在其他软件中定义并导入Simulink模型中,导入的变量将叠加到CarSim内部相应的变量中。

2)变量由CarSim导入Simulink(导出变量)

导出变量可以应用于用户自定义的Simulink模型,CarSim的导出变量多达560之多,如车辆的位置、姿态、运动变量等。

图2.2 CarSim导出变量分类

图2.3为CarSim软件所提供的一个CarSim与Simulink联合仿真的例子

图2.3 简单驾驶员模型

2.2 CarSim与Simulink联合仿真

以CarSim中所提供的与Simulink联合仿真的一个例子为例(稍有修改),来介绍CarSim 与Simulink联合仿真的整个过程。

例:

说明:选用同一车型的两辆汽车,同样的仿真工况,但其中一辆加入在Simulink中建立的ABS控制器,相当于一辆汽车带有ABS,而另一辆汽车没有带ABS,方便对比。

(1) 双击桌面上CarSim的图标,运行CarSim,这里选用是的CarSim8.0版本;

(2) 出现‘选择数据库’对话框,如图2.4所示,选择好数据库文件夹后点击‘Continue with the selected database’,若想要不再出现此对话框,可以将左下角‘Don't show this window the next time you start’选中;

图2.4 选择数据库

(3) 然后将会出现如图2.5所示的对话框(‘许可设置’),选择‘Select’,即可打开CarSim 的主界面,如图2.6所示;

图2.5 许可设置

图2.6 CarSim主界面

由图2.6可以看到在CarSim主界面中,主要有三大部分:车辆参数及仿真工况的设置、数学模型求解、后处理。用户可以修改车辆参数,根据需要来设置仿真工况,图2.6中所示

为双移线仿真工况。在后处理部分,可以显示模型的仿真动画及绘制仿真曲线,如图2.7。

图2.7 仿真动画与曲线

(4) 点击,来新建一组dataset,如图2.8,在两个文本框中分别输入'Example'和

'ABS',然后点击'set',以完成新建。

(5) 选择'datasets'下拉菜单,看有何不同,如图2.9。

(6) 点击图2.10(a)中的下三角,选择相应的车型,如图2.10(b)。

(a) (b)

图2.10 选择车型

(7)新建一个所要求的仿真工况:

1)点击图2.11中所示的工况,如图2.12所示。

图2.11 120km/h双移线仿真工况

图2.12 120km/h双移线仿真工况的主界面

2) 新建仿真工况,点击,在图2.13中的文本框中依次输入‘ABS Example’和‘Split Mu’,点击‘Set’完成新建。

图2.13 新建仿真工况

3) 根据例子中的要求设置仿真工况:

●初始车速为65km/h;

●节气门开度为0;

●2s后紧急制动;

●档位控制选用闭环四档模式;

●方向盘转角为0deg;

●路面选择对开路面;

完成设置后,如图2.14所示。

图2.14 仿真工况设置

4) 设置仿真时间:

同样在设置仿真工况的主界面里,在如图2.15所示的文本框内输入‘10’。

图2.15 仿真时间设置

5) 选择前面新建的仿真工况:

点击,返回CarSim的主界面,选择前面新建的‘Split Mu’工况,如图2.16。

图2.16 选择仿真工况

6) 设置仿真步长:

在CarSim主界面下,点击下拉菜单‘Tools’,选择‘Preferences’,出现如图2.17的界面,在图中红色圆角矩形框内,将仿真步长设为‘0.001s’。

图2.17 设置仿真步长

(8)点击运行数学模型,计算结束后,点击,

观看仿真动画,看一下无ABS车辆在对开路面上紧急制动的效果,如图2.18所示,也可以点击来绘制曲线。

图2.18 仿真动画显示

(9) 建立CarSim与Simulink联合仿真的模型:

1) 点击如图2.19所示的下三角,选择‘Models:Simulink’。

2)点击如图2.20所示的下三角,选择‘[Link to New Dataset]’。

图2.20 Link to New Dataset

3) 此时将弹出一个如图2.21所示的对话框,在文本框中依次输入‘Example’和‘ABS’,

点击完成新建,如图2.22。

图2.21 新建一个与Simulink联合的Dataset

图2.22 选择建立的‘ABS’dataset

4)点击,如图2.24所示,

注意到:①浏览工作路径:在这里选择D:\Program Files\CarsimData;

②Simulink Model的路径:在D:\Program Files\CarsimData\Extensions\Simulink 目录下新建一个空白的Simulink Model,命名为ABS.mdl。点击浏览ABS.mdl,如图2.23

所示

图2.23 选择路径

图2.24 Simulink {Example}ABS的主界面

5) 定义CarSim的导入变量:

点击如图2.25(a)所示的下三角,选择‘I/O Channels:Import’,然后按图2.25(b)、(c)

新建导入变量;

(a)

(b)

(c)

图2.25 新建ABS input

点击,显示如图2.26,这里需要浏览找到Readme file for output,这里为Programs\solvers\ReadMe\i_i_imports_tab.txt。定义CarSim 导入变量为4个车轮的轮缸压力,顺序依次为:IMP_PBK_L1(左前轮缸压力[MPa])、IMP_PBK_R1(右前轮缸压力[MPa])、IMP_PBK_L2(左后轮缸压力[MPa])、IMP_PBK_R2(右后轮缸压力[MPa]),记下导入顺序。

图2.26 定义CarSim导入变量

6)定义CarSim的导出变量:

步骤同5) 定义CarSim的导入变量相同,首先新建名为ABS output的一个dataset。点击,弹出如图2.27所示的界面,这里需要浏览找到

Readme file for output,这里为Programs\solvers\ReadMe\i_i_outputs_tab.txt。定义CarSim的导出变量依次为:Vx_L1(左前轮速[km/h])、Vx_R1(右前轮速[km/h])、Vx_L2(左后轮速[km/h])、Vx_R2(左前轮速[km/h])、Vx_SM(汽车质心处的速度[km/h])、Pbk_Con(主缸压力的控制输入[MPa]),记下导出顺序。

图2.27 定义CarSim导出变量

7) 点击,返回CarSim主界面,然后点击图2.27所示的,此

时Matlab及前面所新建的空白的模型ABS.mdl将被打开,如图2.28。

图2.27 数学模型求解器

图2.28 MA TLAB Command Window及ABS.mdl

8)在MA TLAB Command Window中键入simulink,回车,打开Simulink Library Browser,注意现在的Simulink Library Browser比单独运算MATLAB/Simulink时多了一个

‘CarSim S-Function’,如图2.29所示,将拖拽到ABS.mdl里,显示为

,注意此模块恰好有一个输入接口和一个输出接口,分别对应着CarSim的导入变量和导出变量。

图2.29 含有CarSim S-Function模块的Simulink Library Browser

9) 在ABS.mdl中加入ABS控制策略,CarSim的导出量经过Simulink计算,决策出各个轮缸的压力,然后导入到CarSims模块里,如图2.30所示

图2.30 CarSim与Simulink联合仿真的ABS控制模型

10) 返回CarSim主界面,点击,运行结束后,再点击,弹出ABS.mdl,如图2.30,点击模型的,即可运行整个模型。

说明:若对CarSim软件里的参数(车辆参数、仿真工况等)进了修改,则要再点击

点击模型的,运行整个模型;若只在Simulink模型里作相应的修改,不影响CarSim中的

参数,直接点击即可。

图2.31加入ABS控制后,车速与各轮速的关系曲线

11) 观察加入ABS控制后的车辆行驶,点击,查看动画,如图2.32,

同样也可点击绘制曲线。

图2.32 带有ABS控制的仿真动画

(10) 在前述操作的基础上,为了更好的显示ABS控制效果,采用同样车型,同样的仿真工况,而其中一辆加入了ABS控制,另一辆不带ABS。

1) 在CarSim主界面下,点击,新建一个dataset如图2.33所示,点‘Set’完成

操作。

2) 取消与Simulink联合仿真的选择,如图2.34,选择‘[No linked library]’。

图2.34 取消与Simulink联合仿真

3) 选择CarSim主界面右下方的,选择前面所

建立的dataset,如图2.35,完成操作后,点击该处的,弹出ABS的CarSim的主界

图2.35选择dataset

4)完成上面3)操作后,点击该处的,弹出ABS 的CarSim的主界面,同样按上面3)操作方法,选择在1)所建的‘No ABS Control’。在主界面右上角,选中,并设置为红色;

5)点击主界面上的,运行模型,结束后,点击,

查看仿真动画,如图2.36所示,其中红色车辆为不带ABS控制的车辆。

图2.36 有无ABS控制的对比

CarSim与Simulink联合仿真

CarSim与Simulink联合仿真 1 软件介绍 在MATLAB中,Simulink是用来建模、仿真和分析动态多维系统的交互工具。可以使用Simulink提供的标准模型库或者自行创建模型库,描述、模拟、评价和精化系统行为,同时,Simulink和MATLAB之间的联系十分便捷,可以使用一个灵活的操作系和应用广泛的分析和设计工具。最后,除了可以使用Simulink建模和仿真之外,还可以通过其他软件联合来完成更多的分析任务,如CarSim、ADAMS、AMEsim等许多软件。 CarSim是专门针对车辆动力学的仿真软件,CarSim模型在计算机上运行的速度比实时快3-6倍,可以仿真车辆对驾驶员,路面及空气动力学输入的响应,主要用来预测和仿真汽车整车的操纵稳定性、制动性、平顺性、动力性和经济性,同时被广泛地应用于现代汽车控制系统的开发。CarSim可以方便灵活的定义试验环境和试验过程,详细的定义整车各系统的特性参数和特性文件。CarSim软件的主要功能如下: ●适用于以下车型的建模仿真:轿车、轻型货车、轻型多用途运输车及SUV; ●可分析车辆的动力性、燃油经济性、操纵稳定性、制动性及平顺性; ●可以通过软件如MA TLAB,Excel等进行绘图和分析; ●可以图形曲线及三维动画形式观察仿真的结果; ●包括图形化数据管理界面,车辆模型求解器,绘图工具,三维动画回放工具,功率 谱分析模块; ●程序稳定可靠; ●软件可以实时的速度运行,支持硬件在环,CarSim软件可以扩展为CarSim RT, CarSim RT 是实时车辆模型,提供与一些硬件实时系统的接口,可联合进行HIL 仿真; ●先进的事件处理技术,实现复杂工况的仿真; ●友好的图形用户界面,可快速方便实现建模仿真; ●提供多种车型的建模数据库; ●可实现用户自定义变量的仿真结果输出; ●可实现与simulink的相互调用; ●多种仿真工况的批运行功能; 2 CarSim与Simulink联合仿真 2.1 Simulink接口 1) 变量由Simulink导入CarSim(导入变量) 可由Simulink导入到CarSim中的变量可达160多个,主要分为以下几部分: ?控制输入

SIMULINK仿真方法简介

SIMULINK仿真方法简介 SIMULINK是一个进行动态系统的建模、仿真和综合分析的集成软件包。它可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。 在SIMULINK提供的图形用户界面GUI上,只要进行鼠标的简单拖拉操作就可以构造出复杂的仿真模型。它的外表以方框图形式呈现,且采用分层结构。从建模角度,SIMULINK 既适用于自上而下的设计流程,又适用于自下而上的逆程设计。从分析研究角度,这种SIMULINK模型不仅让用户知道具体环节的动态细节,而且能够让用户清晰的了解各器件、各子系统、各系统间的信息交换,掌握各部分的交互影响。 1. 应用SIMULINK的基本操作 1)在MATLAB的命令窗运行指令simulink或点击命令窗口中的图标,便可以打开如图B1-2所示的SIMULINK模块库浏览器(Simulink Library Browser)。 图B1-2 SIMULINK库浏览器 2)点击Source字库前的“+”号(或双击字库名),便可以得到各种信源模块,如图B1-3。 图B1-3 信源子库的模块 3)点击“新建”图标,打开一个名为untitled的空白模型窗口,如图B1-4。

图B1-4 SIMULINK的新建模型窗口 4)用鼠标指向所需的信号源(如阶跃信号Step),按下鼠标左键,把它拖至untitled窗,就生成一个阶跃信号的复制品。,如图B1-5。 图B1-5模型创建中的模型窗口 5)采用上述方法,将信宿库Sink中的示波器scope拷贝到模型窗口,把鼠标指向信源右侧的输出端,当光标变成十字符时,按住鼠标任意键,移向示波器的输入端,就完成了两个模块间的信号连接,如图B1-6。 图B1-6 创建模型完毕中的模型窗口 6)进行仿真,双击示波器,打开示波器显示屏,如图1-7。点击模型窗口中的“仿真启动” 图标或点击simulink菜单下的start,仿真就开始了,就可以观测到阶跃信号的波形了,如图B1-7。

simulink模拟通信系统仿真及仿真流程

基于Simulink的通信系统建模与仿真 ——模拟通信系统姓名:XX 完成时间:XX年XX月XX日

一、实验原理(调制、解调的原理框图及说明) AM调制 AM调制是用调制信号去控制高频正弦载波的幅度,使其按调制信号的规律变化的过程。AM调制原理框图如下 AM信号的时域和频域的表达式分别为 式中,为外加的直流分量;可以是确知信号也可以是随机信号,但通常认为其平均值为0,即。 AM解调 AM信号的解调是把接收到的已调信号还原为调制信号。 AM信号的解调方法有两种:相干解调和包络检波解调。 AM相干解调原理框图如下。相干解调的关键在于必须产生一个与调制器同频同相位的载波。如果同频同相位的条件得不到满足,则会破坏原始信号的恢复。 AM包络检波解调原理框图如下。AM信号波形的包络与输入基带信号成正比,故可以用包络检波的方法恢复原始调制信号。包络检波器一般由半波或全波整流器和低通滤波器组成。 DSB调制 在幅度调制的一般模型中,若假设滤波器为全通网络(=1),调制信号中无直流分量,则输出的已调信号就是无载波分量的双边带调制信号(DSB)。DSB调制原理框图如下 DSB信号实质上就是基带信号与载波直接相乘,其时域和频域表示式分别为DSB解调 DSB只能进行相干解调,其原理框图与AM信号相干解调时完全相同,如图SSB调制 SSB调制分为滤波法和相移法。 滤波法SSB调制原理框图如下所示。图中的为单边带滤波器。产生SSB信号最直观方法的是,将设计成具有理想高通特性或理想低通特性的单边带滤波器,从而只让所需的一个边带通过,而滤除另一个边带。产生上边带信号时即为,产生下边带信号时即为。

Simulink系统仿真课程设计

《信息系统仿真课程设计》 课程设计报告 题目信息系统课程设计仿真 院(系): 信息科学与技术工程学院 专业班级:通信工程1003 学生姓名: 学号: 指导教师:吴莉朱忠敏 2012年1 月14 日至2012年1 月25 日 华朴中科技大学武昌分校制 信息系统仿真课程设计任务书

20 年月日 目录 摘要 (5)

一、Simulink 仿真设计 (6) 1.1 低通抽样定理 (6) 1.2 抽样量化编码 (9) 二、MATLA仿真设计 (12) 2.1 、自编程序实现动态卷积 (12) 2.1.1 编程分析 (12) 2.1.2 自编matlab 程序: (13) 2.1.3 仿真图形 (13) 2.1.4 仿真结果分析 (15) 2.2 用双线性变换法设计IIR 数字滤波器 (15) 2.2.1 双线性变换法的基本知识 (15) 2.2.2 采用双线性变换法设计一个巴特沃斯数字低通滤波器 (16) 2.2.3 自编matlab 程序 (16) 2.2.4 仿真波形 (17) 2.2.5 仿真结果分析 (17) 三、总结 (19) 四、参考文献 (19) 五、课程设计成绩 (20) 摘要 Matlab 是一种广泛应用于工程设计及数值分析领域的高级仿真平台。它功能

强大、简单易学、编程效率高,目前已发展成为由MATLAB 语言、MATLAB 工作环境、MATLAB 图形处理系统、MATLAB 数学函数库和MATLAB 应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。本次课程设计主要包括MATLAB 和SIMULINKL 两个部分。首先利用SIMULINKL 实现了连续信号的采样及重构,通过改变抽样频率来实现过采样、等采样、欠采样三种情况来验证低通抽样定理,绘出原始信号、采样信号、重构信号的时域波形图。然后利用SIMULINKL 实现抽样量化编码,首先用一连续信号通过一个抽样量化编码器按照A 律13折线进量化行,观察其产生的量化误差,其次利用折线近似的PCM 编码器对一连续信号进行编码。最后利用MATLAB 进行仿真设计,通过编程,在编程环境中对程序进行调试,实现动态卷积以及双线性变换法设计IIR 数字滤波器。 本次课程设计加深理解和巩固通信原理、数字信号处理课上所学的有关基本概念、基本理论和基本方法,并锻炼分析问题和解决问题的能力。

Matlab中的Simulink和SimMechanics做仿真

这里我们利用Matlab中的Simulink和SimMechanics做仿真,那么先来看看相关的资料。 SimMechanics ——机械系统建模和仿真 SimMechanics 扩展Simscape? 在三维机械系统建模的能力。用户可以不进行方程编程,而是借助该多刚体仿真工具搭建模型,这个模型可以由刚体、铰链、约束以及外力组成。自动化3-D动画生成工具可做到仿真的可视化。用户也可通过从CAD系统中直接导入模型的质量、惯量、约束以及三维几何结构。Real-Time Workshop可以对SimMchanics模型进行自动化C代码生成,并在硬件在回路仿真过程中可以使用生成的代码而不是硬件原型测试嵌入式控制器。 SimMechanics可以用于开发悬架、机器手臂、外科医疗设备、起落架和大量的其它机械系统。用户也可以在SimMechanics环境下集成其它的MathWorks物理建模工具,这样做可以实现更加复杂跨领域的物理建模。 特点: ?提供了三维刚体机械系统的建模环境 ?包含了一系列分析机械运动和设计机械元件尺寸的仿真技术 ?三维刚体可视化仿真 ?SimMechanics Link utility,提供Pro/ENGINEER 和SolidWorks CAD平台的接口并且也提供了API函数和其它CAD平台的接口

?能够把模型转化为C代码(使用Real-Time Workshop) ?由于集成在Simulink环境中,因此可以建立高精度、非线性的模型以支持控制系统的开发和测试。 强大功能: 搭建机械系统模型 使用SimMechanics用户仅需要收集物理系统信息即可建立三维机械系统模型。使用刚体、坐标系、铰链和作用力元素定义和其它Simulink模型直接相连的部分。这个过程可以重用Simulink模型以及扩展了SimMechanics工具的能力。用户还可把Simulink模型和SimMechnics模型集成为一个模块,并可封装成可在其它模型中复用的子系统。 机械系统建模仿真和分析 SimMechanics包含如下子系统: ?使用Simulink查表模块和SimMechanics传感器和作动器定义的非线性的弹性单元 ?用来定义航空器件压力分布的空气动力学拖曳模块,例如副翼和方向舵 ?车辆悬架系统,例如防侧翻机械装置和控制器 ?轮胎模型

adams和simulink联合仿真的案例分析

相信大家在联合仿真ADAMS和SIMULINK时都会遇到很多的问题:ADAMS/contro中的例子ball_beam通过联合仿真,更容易理解adams和simulink的联合仿真精髓。小球在一脉冲力的作用下沿着横梁滚动,此时梁的两端受力不平衡,梁的一段倾斜,为了使得小球不掉下横梁,在横梁上施加一个绕Z轴的力矩,横梁达到一定的角度之后逆向转动,然后小球就在这个作用力矩的控制下来回滚动而不掉下横梁!其中控制力矩在整个过程中是个动态变化的,力矩Torque_In是通过位移Position 和横梁转角Beam_Angle确定,这个是在simulink中通过框图完成的。 首先我申明一下我用的是adams2003和matlab6.5 以下我说明一下我的操作步骤: 1、把control中的ball_beam文件copy到另外一个文件夹下,同时设置adams和matlab的默认路径即为ball_beam文件夹,这样可以省略很多不必要的麻烦! 2、用aview打开ball_beam.cmd文件,先试试仿真一下,可以看到小球会在脉冲的作用下滚动,仿真时间最好大于8s 3、载入control模块,点击tools|plugin manager在control框选定。 4、点击control|plant export在file prefix下输入你的文件名,这个可以随便的,我输入的是myball,在plant input点击右键点

击guess选定tmp_MDI_PINPUT,在tmp_MDI_PINPUT中就是输入力矩Torque_In,只有一个输入参数;同样在plant output 中点击右键guess选定tmp_MDI_POUTPUT,这是模型的输出变量横梁转角Beam_Angle和小球与横梁中心轴的距离position。control package选择matlab,type是non_linear,初始化分析选择no,然后按ok!此时m文件已经生成了! 5、打开matalb,设置你的工作路径在ball_beam文件夹上,键入myball,马上有 %%% INFO : ADAMS plant actuators names : 1 Torque_In %%% INFO : ADAMS plant sensors names : 1 Beam_Angle 2 Position 出现 6、再键入adams_sys,弹出一个控制框图,这时可以新建一个mdl文件,将adams_sub拖入你新建的mdl框图中,其实再这里有一个偷懒的办法,就是在matlab中打开ball_beam.mdl文件,然后把他的那个adams_sub用你的刚产生的这个代替,然后另存为my_ball.mdl!

第12章--MATLAB-Simulink系统仿真-习题答案

, 第12章 MATLAB Simulink系统仿真 习题12 一、选择题 1.启动Simulink后,屏幕上出现的窗口是()。A A.Simulink起始页 B.Simulink Library Browser窗口 C.Simulink Block Browser窗口 D.Simulink模型编辑窗口 2.模块的操作是在()窗口中进行的。D A.Library Browser B.Model Browser ( C.Block Editer D.模型编辑 3.Integrator模块包含在()模块库中。B A.Sources B.Continuous C.Sinks D.Math Operations 4.要在模型编辑窗口中复制模块,不正确的方法是()。B A.单击要复制的模块,按住鼠标左键并同时按下Ctrl键,移动鼠标到适当位置放开鼠标 B.单击要复制的模块,按住鼠标左键并同时按下Shift键,移动鼠标到适当位置放开鼠标 C.在模型编辑窗口选择Edit→Copy命令和Edit→Paste命令 D.右键单击要复制的模块,从快捷菜单中选择Copy命令和Paste命令 | 5.已知仿真模型如图12-41(a)所示,示波器的输出结果如图12-41(b)所示。 (a)仿真模型

(b )示波器输出结果 图12-41 习题仿真模型及仿真结果 则XY Graph 图形记录仪的输出结果是( )。C A .正弦曲线 B .余弦曲线 C .单位圆 D .椭圆 】 二、填空题 1.Simulink (能/不能)脱离MATLAB 环境运行。 2.建立Simulink 仿真模型是在 窗口进行的。模型编辑窗口 3.Simulink 仿真模型通常包括 、系统模块和 三种元素。 信号源(Source ),信宿(Sink ) 4.由控制信号控制执行的子系统称为 ,它分为 、 和 。 条件执行子系统,使能子系统,触发子系统,使能加触发子系统。 5.为子系统定制参数设置对话框和图标,使子系统本身有一个独立的操作界面,这种操作称为子系统的 。封装(Masking ) % 三、应用题 1.利用Simulink 仿真来实现摄氏温度到华氏温度的转换:9325f c T T = +。 2.利用Simulink 仿真)5cos 2513cos 91(cos 8)(2t ωt ωt ωπ A t x ++= ,取A=1,ω=2π。 3.设系统微分方程为 '(1)2y x y y =+??=? 试建立系统模型并仿真。 4.设计一个实现下面函数模块的子系统并对子系统进行封装。 Output = (Input1+ I nput2)×Input3-Input4

matlab的Simulink简介

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。 Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。 Simulink;是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。. 构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB® 紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。 丰富的可扩充的预定义模块库 交互式的图形编辑器来组合和管理直观的模块图 以设计功能的层次性来分割模型,实现对复杂设计的管理 通过Model Explorer 导航、创建、配置、搜索模型中的任意信号、参数、属性,生成模型代码 提供API用于与其他仿真程序的连接或与手写代码集成 使用Embedded MATLAB?模块在Simulink和嵌入式系统执行中调用MATLAB算法 使用定步长或变步长运行仿真,根据仿真模式(Normal,Accelerator,Rapid Accelerator)来决定以解释性的方式运行或以编译C代码的形式来运行模型 图形化的调试器和剖析器来检查仿真结果,诊断设计的性能和异常行为 可访问MATLAB从而对结果进行分析与可视化,定制建模环境,定义信号参数和测试数据 模型分析和诊断工具来保证模型的一致性,确定模型中的错误 平面连杆机构 英文名称: planar linkage mechanism

Simulink系统仿真

班级:通信工程 姓名:曾浩 学号:201007302123 实验四 Simulink系统仿真 一、实验目的 1、熟悉SIMULINK工作环境及特点 2、掌握SIMULINK 的建模与仿真方法 4、掌握Simulink模型的建立及系统仿真方法。 二实验基本知识 1.了解SIMULINK模块库中各子模块基本功能

2. SIMULINK 的建模与仿真方法 (1)打开模块库,找出相应的模块。鼠标左键点击相应模块,拖拽到模型窗口中即可。 (2)创建子系统:当模型大而复杂时,可创建子系统。 (3)设置仿真控制参数。 三、实验内容 (1)系统的仿真与分析 1.创建一个正弦信号的仿真模型 在MATLAB 的命令窗口运行simulink 命令单击工具栏上的图标或选择菜 单“File”——“New”——“Model”,新建一个名为 “untitled”的空白模型窗口。 添加模块 仿真

2.建立二阶系统的仿真模型。 方法一: 输入信号源使用阶跃信号,系统使用开环传递函数s s 6.012 ,接受模块使用示波器来 构成模型。 (1) 在“Sources ”模块库选择“Step ”模块,在“Continuous ”模块库选择“Transfer Fcn ”模 块,在“Math Operations ”模块库选择“Sum ”模块,在“Sinks ”模块库选择“Scope ”。 (2) 连接各模块,从信号线引出分支点,构成闭环系统。 仿真并分析 单击工具栏的“Start simulation ”按钮,开始仿真,在示波器上就显示出阶跃响应。 在 Simulink 模型窗口,选择菜单“Simulation ”——“Simulation parameters …”命令,在 “Solver ”页将“Stop time ”设置为15,然后单击“Start simulation ”按钮,示波器显示的就到15 秒结束。

ADAMS与Matlab联合仿真

7.1机械夹紧机构建模使用实例 机械系统建模实例将创建一种机械夹紧机构模型,是阿波罗登月计划中用于夹紧登月舱和宇宙飞船的十二个夹紧机构之一。夹紧机构包括:摇臂(Pivot)、手柄(Handle)、锁钩(Hook)、连杆(Slider)和固定块(ground Block)等物体。 夹紧机构的工作原理是:如图7-1所示,在夹紧机构手柄(Handle)处施加一个作用力,驱动机构运动,使其锁钩(Hook)处产生十倍于作用力的夹紧力,用于夹紧登月舱和宇宙飞船。 夹紧机构的设计要求是:至少产生800N的夹紧力;施加在手柄上的力应不大于80N;释放手柄的力应最小;在振动环境中夹紧机构应安全可靠。 手柄Handle 锁钩Hook 图7-1 夹紧机构三维模型图 以下将从创建几何构件、添加约束、添加载荷及结果后处理等几个方面详细介绍机械夹紧机构模型的建立。通过本实例的学习,能够详细了解ADAMS软件设计流程及使用方法。 7.1.1创建几何构件 1、创建新模型 本实例将使用ADAMS/View的零件库、约束库和力库创建夹紧机构模型。 首先打开ADAMS/View,选择“Create a new model”,模型名称(Model Name):Latch,点击OK,创建新模型完毕。其它设置如图7-2所示:

图7-2 创建新模型 2、设置工作环境 选择菜单栏【Settings】→【Units】命令,设置模型物理量单位,如图7-3所示: 图7-3设置模型物理量单位 选择菜单栏【Settings】→【Working Grid】命令,设置工作网格,如图7-4所示:

图7-4设置工作网格 3、创建设计点 设计点是几何构件形状设计和位置定位的参考点。本实例将通过设计点列表编辑器创建几何构件模型所需要的全部设计点。 选择并点击几何模型库(Geometric Modeling)中的点(Point),下拉菜单选择(Add to Ground)、(Don’t Attach),并单击Point Table列表编辑器,创建并生成Point_1、Point_2等六个设计点,如图7-5、图7-6所示: 图7-5设计点列表编辑器

(完整word版)CarSim、Simulink联合仿真

CarSim 与Simulink 联合仿真 1 软件介绍 在MATLAB 中,Simulink 是用来建模、仿真和分析动态多维系统的交互工具。可以使用Simulink 提供的标准模型库或者自行创建模型库,描述、模拟、评价和精化系统行为,同时,Simulink 和MATLAB 之间的联系十分便捷,可以使用一个灵活的操作系和应用广泛的分析和设计工具。最后,除了可以使用Simulink 建模和仿真之外,还可以通过其他软件联合来完成更多的分析任务,如CarSim 、ADAMS 、AMEsim 等许多软件。 CarSim 是专门针对车辆动力学的仿真软件,CarSim 模型在计算机上运行的速度比实时快3-6 倍,可以仿真车辆对驾驶员,路面及空气动力学输入的响应,主要用来预测和仿真汽车整车的操纵稳定性、制动性、平顺性、动力性和经济性,同时被广泛地应用于现代汽车控制系统的开发。CarSim 可以方便灵活的定义试验环境和试验过程,详细的定义整车各系统的特性参数和特性文件。CarSim 软件的主要功能如下:适用于以下车型的建模仿真:轿车、轻型货车、轻型多用途运输车及SUV ;可分析车辆的动力性、燃油经济性、操纵稳定性、制动性及平顺性;可以通过软件如MA TLAB ,Excel 等进行绘图和分析;可以图形曲线及三维动画形式观察仿真的结果;包括图形化数据管理界面,车辆模型求解器,绘图工具,三维动画回放工具,功率谱分析模块;程序稳定可靠;软件可以实时的速度运行,支持硬件在环,CarSim 软件可以扩展为CarSim RT, CarSim RT 是实时车辆模型,提供与一些硬件实时系统的接口,可联合进行HIL 仿真;先进的事件处理技术,实现复杂工况的仿真;友好的图形用户界面,可快速方便实现建模仿真;提供多种车型的建模数据库;可实现用户自定义变量的仿真结果输出;可实现与simulink 的相互调用;多种仿真工况的批运行功能; 2 CarSim 与Simulink 联合仿真 2.1 Simulink 接口 1)变量由Simulink 导入CarSim (导入变量) 可由Simulink 导入到CarSim 中的变量可达160 多个,主要分为以下几部分:控制输入

simulink仿真说明

Simulink是Simulation和link仿真链接。是一个附加组件,为用户提供了一个建模与仿真的工作平台,由于许多功能是基于MATLAB平台的。必须在MATLAB环境中运行,也把他称为一个MATLAB的工具箱。 以前MATLAB仿真编程是在文本窗口中进行的。输入函数是命令和MATLAB 函数,在simulink 中与用户的交互接口是基于windows的模型化图形输入,用户可以通过单击拖动鼠标的方式绘制和组织系统,并完成对系统的仿真。因此对于我们来说只需知道这些功能模块的输入输出、功能以及图形界面的使用方法。就可以用鼠标和键盘进行仿真。 三种方法进入Simulink 1、在MATLAB菜单栏中单击FILE,在下拉菜单的NEW选项中单击MODEL. 2、在MATLAB工具栏中单击彩色图标,然后在打开的模型库浏览器窗口中单击 ‘新建文件‘ 3、在MATLAB命令窗口中输入Simulink,然后在打开的模型库浏览器窗口中单 击‘新建文件‘。 一、模块的提取 左键拖曳 右键add to 二、模块的移动放大和缩小 移动:左键拖曳选中后用方向键脱离线移动按住shift 然后拖曳 缩放 : 点击模块四个角拖曳 三、复制粘贴和删除和windows一样删除选择clear 四、模块的旋转:右键点击然后选择Flip block 顺时针转180度 rotate block 顺时针90度。 五、模块名的修改移动:单击该模块名出现一个小框可以像文本一样修改移动 还可以右键单击然后Hide name 六、模块参数设置:双击 七、模块连接:光标的箭头对准模块的输出端变成+后按下左键拖曳到另一个 输入端松开左键。 八、连线的弯折开始画线时,在需要弯折的地方松开鼠标停顿一下,然后继续 按下鼠标左键改变方向即可。 移动光标指向要移动的线段,然后拖动鼠标即可 删除选中要删除的部分,然后delete 直流电动机的直接启动 新建一个simulink 仿真平台打开simulink然后点击新建 打开simpowersystems的加号在electrical source中选择D C Voltage Source拖曳到仿真平台 Elements里面选Breaker Connectors 里面选择Ground output把电源正端接到断路器的1端,电源负端接

(完整版)matlab_4_SIMULINK仿真及DEE实例步骤

SIMULINK & DEE简介 ※如何进入SIMULINK? Step1:进入MATLAB Step2: 方法一:在workspace输入simulink的指令。 方法二:点选MATLAB Command Window上方之利用以上方法会获得下面的结果

※ 如何利用SIMULINK 解ODE Example1:2311+-='x x Step1:?'=dt x x 11 ? 在Library 中点选Continuous ,在Continuous 中选取integrator ,按住鼠标左键拖曳至untitled 中,分别在各接点拉上连接线并标明各个涵义。 Step2:2311+-='x x (1)从Math 中点选Gain 的图标,拖曳至untitled 中,并选取命令列中Format/Flip Block 使其转ο180

(2)从Math中,拖曳Sum至untitled中 (3)从Source中,用鼠标拖曳Constant至untitled,并把各点连结起来。 (4)从Sink中拖曳Scope至untitled中,并与 x连结 1

(5)把Constant改为2,把Gain改为-3。 Step3:设定参数 (1)选择Simulation/Parameters (2)调整适当的起始时间、结束时间和数值方法。

(3)点选Simulation/Start ,开始仿真。 (4)点选Scope ,显示仿真的结果。 Example2:???+-='+='-)cos(212 211t x x x e x x x t 1)0(0)0(21==x x Step1:???'='=??dt x x dt x x 2211 ? (1)点选Continuous 中之Integrator ,拖曳至untitled 。

Matlabsimulink+FlightGear联合仿真

【转】FlightGear之路(二):Matlab/simulink+FlightGear联合仿真 2011-09-15 16:12 转载自keyflying 最终编辑keyflying FlightGear给我们提供了完美的飞行仿真虚拟现实平台。而Matlab/Simulink给我们提供了简单方便的飞行控制系统联合仿真。这样,一个简单而方便的系统就搭建成了。 说上去容易。干上去其实也容易。 不知道你的matlab版本,但是simulink里的aerospace工具箱是要有的。在matlab下输入asbhl20回车,看看人家的demo是怎么用的吧(什么?asbhl20以后没反应?更新你的matlab或者安装aerospace工具箱吧,我这里是matlab2007a,以前用matlab7.3的时候也可以)。 不要着急运行。看到蓝色的模块Generate Run Script(if FG is installed)了么?双击,设置一下你的flightgear。设置好目录、飞行器、机场等等以后,点Generate Script,生成bat文件。若在本机运行flightgear,则在matlab下输入dos('fgrun.bat'),回车。若在其他机器上运行flightgear,则将该bat文件拷到该机器上,在命令行中运行。

不在本地机上运行flightgear时,还需在simulink中设置该机器的的IP。双击toFlightgear模块,再双击右端Send net_fdm Packet to FlightGear,输入目标机的IP。 记得打开flightgear。then,go~

基于Simulink进行系统仿真

实验四 基于Simulink 进行系统仿真(微分 方程、传递函数) 一.实验目的 1) 熟悉Simulink 的工作环境; 2) 掌握Simulink 数学工具箱的使用; 3) 掌握在Simulink 的工作环境中建立系统仿真模型。 二.实验内容 系统微分方程:)(10)(10)(10)(83322t u t y dt t dy dt t y d =++ 系统传递函数:8 328 101010)()()(++==s s s U s Y s G 1)(=t u ,)314sin()(t t u =,)90314sin()(o t t u += 模型 微分方程时的过程 Ut=1时

t u 时)(t 314 ) sin(

t t u+ =时 )(o ) sin( 90 314 传递函数时的过程

u时 t )(= 1 t u=时 )(t sin( 314 )

t t )(o =时 u+ ) sin( 90 314 结论及感想 从两种种不同方法的仿真结果,我们可以瞧出分别用微分方程与传递函数在Simulink中,仿真出来的结果没有很明显的区别,说明两种方法的精度都差不多。但就是,不同的电压源得出的仿真结果不一样,阶跃电源开始时震荡,后来幅度逐渐变小,趋近于1;正弦电源,初相不同时,初始时刻的结果也不相同,有初相时开始震荡会更剧烈,但最后都会变为稳态值,即为正弦值。通过本次实验,我认识到了建模与仿真的一般性方法,收获甚多,也更进一步了解了Matlab,Matlab不仅仅

在平时的编程方面功能强大,在仿真方面也熠熠生辉。

Simulink_modelsim联合仿真

simulink/modelsim联合仿真 XX学生的师傅 2016年5月13日 Simulink/Modelsim 联合仿真操作步骤 本人使用的matlab版本为:matlab R2014a ; modelsim版本为:Modelsim SE-64 10.1c。 以下内容是参考自matlab帮助文档,结合自己第一次联合仿真的经验得出,如有 不到之处,不能帮助解决问题还请原谅。 第一次使用markdown,如阅读体验不好,你咬我啊 以下正文 1.新建目录 2.在matlab中配置cosimulation block 1.在matlab中运行cosimWizard。 2.按要求配置。 3.在simulink或matlab中搭建仿真模型 4.从matlab或simulink中启动modelsim 两种方法: ?在matlab中运行vism或vism('socketsimulink'),4449 ,其中4449为端口号,根据实际情况确定。之后需在modelsim中加载verilog文件,并输入 vsimulink work.uq_pmsm ,其中uq_pmsm为实体名,根据实际情况替换。 ?双击simulink中的Launch HDL Simulator块启动modelsim。 以下两种情况: - 方法一启动实体仿真、方法二modelsim加载实体完成后,若一直 显示loading。 - 直接在simulink中运行仿真时出现错误,提示change port。 可进入任务管理器结束lmutil.exe进程。黑科技,不确保有效。 5.在simulink中启动仿真,此时modelsim会同步进行仿真

matlAB,SIMULINK联合仿真经典的例子

数控螺旋面钻头尖刃磨机的机构仿真 一、原理 图1二并联杆数控螺旋面钻头尖刃磨机床示意图 图2 二并联杆数控螺旋面钻头尖刃磨机床刃磨原理图 重要假设条件: 1、二并联杆数控螺旋面钻头尖刃磨机床是通过两组并联杆(2,a和3,b)保证动平台4 只在空间中做水平运动,而没有翻转运动。每一组并联杆是由空间相互平行的4根杆件组成,由于组内各杆件受力相同,所以将其简化成平面机构如图2。构件a,b是保证动平台4只做水平运动的辅助平行杆,所以可以假设将机构中杆件a,b省略,而动平台4只做水平移动,没有翻转运动,也就是4相对于地面的夹角θ4恒等于0。 2、直线电机的次子有两个(1和5)但是在加工过程中并不是两者同时运动,所以假设5与 导轨固联。 3、假设机床在工作过程中动平台4只受到树直向上的恒力作用,且作用在其中心位置。基于以上假设机床平面结构示意图如图3。

图3二并联杆数控螺旋面钻头尖刃磨机床简化机构平面结构示意图 二、建立仿真方程 C2=cos(θ2) S2=sin(θ2)?C3=cos(θ3) ?S3=sin(θ3) 一)力方程(分别对各个杆件进行受力分析) 对动平台4:受力分析如图4 F24x+F43x=m4*Ac4x (1) F24y+F43y=m4*Ac4y (2) F24y*rc4-F43y*rc4=0 (3) 图4动平台4的受力分析 对并联杆2:受力分析如图5 F12x+F24x=-m2*Ac2x (4) F12y+F24y=-m2*Ac2y (5) F12x*rc2*S2+F12y*rc2*C2 -F24x*rc2*S2-F24y*rc2*C2=I2*α2 (6) 图5并联杆2的受力分析对直线电机滑块1:受力分析如图6 Fm+F12x=m1*r1_dot_dot (7) Fy=F12y (8)

基于Simulink进行系统仿真(微分方程、传递函数)

实验四 基于Simulink 进行系统仿真(微 分方程、传递函数) 一.实验目的 1) 熟悉Simulink 的工作环境; 2) 掌握Simulink 数学工具箱的使用; 3) 掌握在Simulink 的工作环境中建立系统仿真模型。 二.实验内容 系统微分方程:)(10)(10)(10)(83322t u t y dt t dy dt t y d =++ 系统传递函数:8 328 101010)()()(++==s s s U s Y s G 1)(=t u ,)314sin()(t t u =,)90314sin()(o t t u += 模型 微分方程时的过程 Ut=1时

t u 时)(t 314 ) sin(

t t u+ =时 )(o ) sin( 90 314 传递函数时的过程

u时 t )(= 1 t u=时 )(t sin( 314 )

t t )(o =时 u+ ) sin( 90 314 结论及感想 从两种种不同方法的仿真结果,我们可以看出分别用微分方程和传递函数在Simulink中,仿真出来的结果没有很明显的区别,说明两种方法的精度都差不多。但是,不同的电压源得出的仿真结果不一样,阶跃电源开始时震荡,后来幅度逐渐变小,趋近于1;正弦电源,初相不同时,初始时刻的结果也不相同,有初相时开始震荡会更剧烈,但最后都会变为稳态值,即为正弦值。通过本次实验,我认识到了建模与仿真的一般性方法,收获甚多,也更进一步了解了

Matlab,Matlab不仅仅在平时的编程方面功能强大,在仿真方面也熠熠生辉。

ProENGINEER与MATLABsimulink联合仿真设置

Pro\ENGINEER与MATLAB\simulink联合仿真设置 Pro\ENGINEER与MATLAB\simulink联合仿真设置,转载请注明(https://www.360docs.net/doc/572114931.html,/bssdlkhzau/ihome/myblog) 一、首先确认安装proe时,安装了pro/toolkit,如下为pro/toolkit安装说明 1、在默认安装时是不安装pro/toolkit,在安装过程中选择pro/toolkit,如下图 注意:安装proe时,安装目录不要有空格,在进行二次开发时,有空格容易出错。 二、安装matlab工具smlink工具,可以到matlab官方下载,免费的。 1、安装smlink(可以到https://www.360docs.net/doc/572114931.html,/products/simmechanics/download_smlink.html 下载)。 1)将smlink30.win32.zip和install_addon.m放入MATLAB起始位置目录下面,打开matlab 2) 在MATLAB命令窗口输入install_addon('')命令,引号内是下载的压缩文件名;

3) 运行上述命令,命令窗口提示 Installing smlink... Extracting archive smlink31.win32.zip to C:\Program Files\MATLAB\R2009a... Adding directories for smlink to path... Installation of smlink complete. To view documentation, type "doc smlink". 2、设置proe里simmechanicls插件 1)找到pro/toolkit安装目录,在目录里找到protk.dat文件(如果没有可以自己创建,随便命名),如我的是在D:\Program Files\proeWildfire 4.0\protoolkit\protk.dat 2)用记事本打开protk.dat文件,向里面添加 如果是Pro/ENGINEER Wildfire 3 以及早期版本如2001、2.0等添加如下内容: name SimMechanics Link startup dll exec_file $matlabroot/bin/arch/cl_proe2sm.dll text_dir $matlabroot/toolbox/physmod/smlink/cad_systems/proe/ end Pro/ENGINEER Wildfire 4 及以后版本如5.0添加如下内容的如下: name SimMechanics Link startup dll exec_file $matlabroot/bin/arch/cl_proe2sm.dll text_dir $matlabroot/toolbox/physmod/smlink/cad_systems/proe/ unicode_encoding false end 注,以上$matlabroot为绝对路径,可以参考本人设置,我的protk.dat文件添加内容如下(我的为4.0版本,装置d盘) NAME SimMechanics Link STARTUP dll EXEC_FILE D:\Program Files\MATLAB\R2010b\bin\win32\cl_proe2sm.dll TEXT_DIR D:\Program Files\MATLAB\R2010b\toolbox\physmod\smlink\cad_systems\proe\text UNICODE_ENCODING false END 添加完成后保存文件 3)修改proe气动目录下的config.pro(如果没有此文件可自行创建)文件,用记事本打开此文件,向里面添加如下内容:

状态空间与simulink仿真

考虑以下系统 u x X ???? ??????+??????????-----=102101110221 []x y 001= 对系统设计一个状态反馈控制器使得闭环阶跃响应的超调量小于5%,且在稳态值1%范围的调节时间小于4.6S 。 ○ 1主导二阶极点方法配置极点 分析: 超调量小于5%,即 %52 1≤--ξξπ e 算得69.0≥ξ 稳态值1%范围的调节时间小于4.6S ,即 6.46 .4≤= σ s t 1≥σ 下面首先对系统的能控性进行判断,以编程方式实现 a=[-1 -2 -2;0 -1 1;1 0 -1]; b=[2;0;1]; %输入a ,b 矩阵 q=[b a*b a^2*b] rank(q) 计算结果为 ??????????--=511010042q q 的秩为3 因此该系统为完全能控型系统,在满足系统要求的前提下,理论上能任意配置期望极点 下面根据具体的求解思路进行编程求解反馈控制器k

g=poly(a); %求原系统的特征方程 a2=g(2);a1=g(3);a0=g(4); w=[1 0 0;a2 1 0;a1 a2 1]; q1=[a^2*b a*b b]; p=q1*w; %求解转换矩阵 deta=1; zeta=0.75; wn=deta/zeta; %输入满足条件的ζ和δ den=conv([1 4],[1 2*deta wn^2]); %输入期望极点(-4,-1±0.88i) aa2=den(2);aa1=den(3);aa0=den(4); k=[aa0-a0 aa1-a1 aa2-a2]; k1=k*(inv(p)) %输出配置矩阵k k 得到[] 1 . 1 1= 4778 . . 0444 6444 下面对系统进行验证,是否满足条件 ahat=a-b*k1; bhat=b; chat=[1 0 0]; dhat=0; sys=ss(ahat,bhat,chat,dhat); step(sys,'r'); sys1=ss(a,b,c,d); hold on; grid on; step(sys1,'.-'); (其中sys1为未加控制器的原系统) 由图可知,系统在进行配置之前并未满足系统要求,在增加控制器之后,系统要求得到满足。

相关文档
最新文档