第十一章Simulink命令行仿真技术及回调函数概念

第十一章Simulink命令行仿真技术及回调函数概念
第十一章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多个,主要分为以下几部分: ?控制输入

MATLAB仿真技术 作 业 合 集

第1章 习题 5.利用直接输入法和矩阵编辑器创建矩阵A=? ? ? ? ??642531。 解:⑴利用直接输入法输入程序 A=[1 3 5;2 4 6] 按Enter 键后,屏幕显示 A = 1 3 5 2 4 6 ⑵用矩阵编辑器创建矩阵,如图1.1所示。 图1.1 MATLAB 编辑器 7.用矩阵编辑器创建矩阵a,使a 具有如下矩阵形式。 a=??????642531?a=??????????654321?a=??????????987654321?a=???? ??????098706540321?a=????? ???????00 00 09870654 0321 解:用矩阵编辑器创建矩阵a 的过程如图1.2、1.3、1.4、1.5、1.6所示。 图1.2 图1.3 图1.4 图1.5

图1.6 9.已知矩阵B=????? ?? ?????????922518113211912102201304161475231501017,试:①提取矩阵B 的第一行和第二行的第2、4、5个元素组成新矩阵1B ;②提取矩阵B 的第三行和第一行的全部元素组成新矩阵2B ;③使矩阵B 的第一行和第三行的第2;4个元素为0;④标出矩阵B 的第一行中小于5的元素。 解:①如上题,用矩阵编辑器生成矩阵B ,再输入程序 B1=B([1,2],[2,4,5]) 按Enter 键后,屏幕显示 B1 = 0 0 15 5 14 16 ②输入程序 B2=B([1,3],:) 按Enter 键后,屏幕显示 B2 = 17 0 1 0 15 4 0 13 0 22 ③第一行和第三行的第2;4个元素原本就为0。 ④输入程序如下 C=B(1,:)<5; %将B 矩阵第一行中小于5 的值标记为1 D=B(1,C) %去B 矩阵第一行中标为1的元素 按Enter 键后,屏幕显示 D= 0 1 0 11.已知矩阵a 为4阶魔方阵,令a+3赋值给b ,a+b 赋值给c ,求b 和c 。 解:程序如下。 >> a=magic(4) %建立4阶魔方矩阵 a = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 >> b=a+3 %将a 中各元素加3 b = 19 5 6 16 8 14 13 11 12 10 9 15 7 17 18 4

毕业论文答辩已经结束很长时间了,现在总结一下我在做毕业论文时的用MATLAB命令画出simulink示波器图形的一点方法,我也是MATLAB初学者,所用方法不算高明方法,并且这些方法在论坛应该都能找到,请大家见谅。 第一步,将你的示波器的输出曲线以矩阵形式映射到MATLAB的工作空间内。 如图1所示,双击示波器后选择parameters目录下的Data history,将Save data to workspace勾上,Format选择Array,Variable name即你输入至工作空间的矩阵名称,这里我取名aa。在这之后运行一次仿真,那么你就可以在MATLAB的工作空间里看到你示波器输出曲线的矩阵aa。如图2所示。 第二步,用plot函数画出曲线 双击曲线矩阵aa,将可以看到详细情况,我这里的aa矩阵是一个1034行,3 列的矩阵,观察这个矩阵即可以发现,这个矩阵的第一列是仿真时间,而由于我仿真时示波器内输出的是两条曲线,所以第二列和第三列即分别代表了这2条曲线。同时大家要注意,在simulink中我们有时往往在示波器中混合输出曲线,那么就要在示波器前加一个MUX混合模块,因此示波器内曲线映射到的工作空间的矩阵是和你的MUX的输入端数有关,如果你设置了3个MUX输入端,而实际上你只使用了2个,那么曲线矩阵仍然会有4列,并且其中一列是零,而不是3列。 理解曲线矩阵的原理之后,我们就可以用plot函数画出示波器中显示的图形了。 curve=plot(aa(:,1),aa(:,2),aa(:,1),aa(:,3),'--r') %aa(:,1)表示取aa的第一列,仿真时间 %aa(:,2)表示取aa的第二列,示波器的输入一 %aa(:,3)表示取aa的第三列,示波器的输入二 %--r表示曲线2显示的形式和颜色,这里是(red) set(curve(1),'linewidth',3) %设置曲线1的粗细 set(curve(2),'linewidth',3) %设置曲线2的粗细 legend('Fuzzy','PID') %曲线名称标注 xlabel('仿真时间(s)') %X坐标轴名称标注 ylabel('幅值') %Y轴坐标轴标注 title('Fuzzy Control VS PID') %所画图的名称 grid on %添加网格 运行上述命令后即可以看到用MATLAB命令画出的图形了,你可以在图形出来之后继续进行编辑。

应掌握的基本概念:(以下内容将包含在选择、填空和问答题中) 1、项目的定义 一般认为:项目是一个组织为实现自己既定的目标,在一定的时间、人员和资源约束条件下,所开展的一种具有一定独特性的一次性工作。 2、项目管理的定义 1.项目管理是使用各种管理方法、技术和知识为实现项目目标而对项目各项活动所开展的管理工作。 2.项目管理涉及到对于项目或项目阶段的起始、计划、组织、控制和结束这样五个具体的管理过程(或内容)。 3、一个项目可以划分为四个主要工作阶段: 1.项目的定义与决策阶段 2.项目的计划和设计阶段 3.项目的实施与控制阶段 4.项目的完工与交付阶段 4、现代项目管理知识体系的构成 按照PMI的体系可以划分为如下九个主要的方面。 1.项目集成管理 确保各种项目工作和项目的成功要素能够很好的协调与配合,以及相应的管理理论、方法、工具。 2.项目范围管理 计划和界定一个项目或项目阶段需要完成的工作和必须要完成的工作的管理工作的理论、方法、工具。 3.项目时间管理 又叫项目工期进度管理,是有关如何按时完成项目工作的理论、方法、工具。 4.项目成本管理 又叫项目选价管理,是如何在不超出项目预算的情况下完成整个项目工作,所需的管理理论、方法、工具。 5.项目质量管理 如何确保项目质量,以及保证项目质量所需的管理理论、方法、工具。 6.项目人力资源管理 如何更有效地利用项目所涉及的人力资源,以及在项目人力资源管理方面所需的管理理论、方法、工具。 7.项目沟通管理 如何有效、及时地生成、收集、储存、处理和最有效的使用项目信息,以及在项目信息和沟通管理方面所需的管理理论、方法、工具。 8.项目风险管理 如何识别项目风险、分析项目风险和应对项目风险,以及项目风险管理所需的管理理论方法、工具。 9.项目采购管理 也叫做项目获得管理,是有关从项目组织外部寻求和获得各种商品与劳务的管理,以及这一管理所需的理论、方法、工具。 5、项目管理过程 一个项目的全过程或项目阶段都需要有一个相对应的项目管理过程。这种项目管理过程一般由五个不同的管理具体工作过程构成。 1.起始过程 它包含有:定义一个项目阶段的工作与活动、决策一个项目或项目阶段的起始与否,以及决定是否

这里我们利用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传感器和作动器定义的非线性的弹性单元 ?用来定义航空器件压力分布的空气动力学拖曳模块,例如副翼和方向舵 ?车辆悬架系统,例如防侧翻机械装置和控制器 ?轮胎模型

348 数字信号处理 MATLAB编程与SIMULINK仿真简介 A.1 MATLAB编程基础 MATLAB6.5提供了丰富的编程语句结构和实用函数,MATLAB产品组是支持你从概念设计、算法开发、建模仿真到实时实现的理想的集成环境。无论是进行科学研究还是产品开发,MATLAB产品族都是必不可少的工具。这里介绍一些常用的编程技巧和方法,以便同学们能尽快地启动起来,更好地应用MATLAB。 1. MATLAB文件的编写与调试环境 M文件的编写与调试在MATLAB Editor/Debugger下进行(图B1-1),这个集成环境可以方便地进行新建、修改、存储,选择Debug菜单中的Run命令就可以运行程序,运行结果显示在MATLAB Command Window 中。程序的调试应用Debug菜单就可以进行调试,其他高级语言中的Set/Clear Breakpoint、Single Step、Stop if error等选项都有,可以方便的调试程序。 图B1-1 M文件的编写与调试窗口 在MATLAB Editror/Debugger下按照MATLAB编程的规则键入相关的语句并存盘,就可以得到一个后缀为.m的文本文件。

2. MATLAB脚本文件和函数文件 在MATLAB中,无论是问题的提出还是结果的表达都采用你习惯的数学描述方法,而不需要用传统的编程语言进行处理。应用MATLAB编写出来的程序可以是M脚本文件(Script 。file),也可以是M函数文件(Function file),这些文件都由纯ASCII字符构成,其后缀m MATLAB下 M脚本文件是一串按用户意图排列而成的(包括控制流向指令在内)MATLAB 指令集合,可以直接执行,用户只需在Command Window中MATLAB提示符>>后键入文件名即可执行。脚本文件运行后所产生的所有变量都驻留在MATLAB的基本工作空间(Base workspace)中,只要用户不加以清除且MATLAB指令窗不关闭,则这些变量将一直保存在基本工作空间。与脚本文件不同,函数文件犹如一个“黑箱”,从外界只看到传给它的输入量和送出来的计算结果,内部运作是看不见的,并且函数文件的第一行总是以“function”引导的“函数申明行”。M函数文件必须由其它的语句来调用,在一般情况下用户不能单独键入其文件名来运行一个M函数。 MATLAB下的大多数的应用程序由M函数文件形式给出,例如求取系统特征方程的根的root ()函数和绘制零极点图的pzmap ()函数等。除了M函数文件之外,MATLAB还提供了大量的底层函数(内部),这类文件是不可读的,与M函数一起统称为函数。 3. M文件的一般结构 从结构上看脚本文件只是比函数文件少一个“函数申明行”,所以脚本文件和函数文件除第一行不同外,其余的结构都是一样的。 典型M函数文件的基本结构可由以下几部分构成: (1)函数申明行(Function declaration line),位于函数文件的首行,以MATLAB 关键字function 开头,函数名以及函数的输入输出宗量都在这一行中定义; (2)H1行(The first help text line):紧随函数申明行之后以%开头的第一行注释行。H1行包括大写体的函数名和运用关键词简要描述的函数功能,该行供lookfor关键词查询和help在线帮助查询使用; (3)在线帮助文本(Help text)区:H1行及其之后的连续以%开头的第一行的所有注释行构成在线帮助文本; (4)编写和修改记录:标志编写及修改该M文件的作者、日期,便于档案管理; (5)函数体(Function body):该部分由实现M函数功能的MATLAB指令组成。它接收输入宗量,进行程序流程控制,得到输出宗量。从运算角度看“函数申明行”和“函数体”两部分是构成M函数文件所必不可少的。 函数文件(Function file)由function()语句引导,其基本格式为: function 返回变量名=函数名(输入变量列表) 注释说明语句段 函数体语句 在编制程序的过程中输入和返回的变量分别由nargin和nargout两个MATLAB的保留参数给出,返回变量要多于1个,应该用方括号括起来,输入变量用逗号隔开。注释语句

项目投资的基本概念 黄大方 一、项目投资的相关概念 1、投资主体 投资人或从债权人也可以作为项目的投资主体(间接投资主体)。这三种人都要从各自的立场分析评价投资项目。 企业项目投资的直接投资主体就是企业本身。 2、项目计算期 项目计算期是指投资项目从投资建设(建设起点)开始到最终清理(终结点)结束整个 过程的全部时间,包括建设期和生产经营期。 n =s+p 从上述数轴中应该明白六点:建设期起点(项目计算期起点);建设期终点(经营期起点);经营期终点(项目计算期终点)。 NCF1 :第1年现金净流量( 假定其全部发生于第1年末现金净流量) NCF2:第2年现金净流量(假定其全部发生于第2年末现金净流量) 注意NCF 与N 、S 、P 之间的换算关系如某项目建设期为3年,生产经营期7年,则: NCF9=NCF (3+6)表示项目计算期第9年,也是生产经营期第6年的净现金流量。 如某项目建设期为3年,生产经营期7年,则:项目计算期第7年即为生产经营期第4年(7-3);生产经营期第2年即为项目计算期第5年(3+2)。 3、投资项目的有关价值指标 1)原始总投资等于企业为使项目完全达到设计生产能力、开展正常经营而垫支的全部现实资金,包括建设投资(固定资产投资、无形资产投资、开办费投资)与流动资金投资。原始总投资可以一次投入,也可以分次投入。 2)投资总额等于原始总投资与建设期资本化利息之和,其中固定资产投资与其资本化利息之和称为固定资产原值。

投资决策中的现金流量,通常由以下几个方面构成: 1、初始现金流量 初始现金流量是指项目开始投资量发生的现金流量。包括: (1)固定资产投资。 (2)其他长期资产投资。 (3)流动资金投资。 (4)原有固定资产的变价收入。 2、营业现金流量 营业现金流量是指项目完成后,就整个寿命周期内由于下沉生产营业所带来的现金流量。此类现金流量可按年计算。其值等于营业现金收入减去营业现金支出和 税金支出后的差额。 应该注意的是,定期损益计算的净收益和营业上实际发生的现金流量是有所不同的。因为根据权责发生制进行定期的损益计算,费用中包括了非现金支出的部分(主要是折旧费、摊销费和利息费)。因此,以定期操作益计算的净收益为基础,可按下式调整计算现金流量: 营业现金流量=定期操作益计算的净收益+非现金支出的成本费用 3、终结点现金流量 终结点现金流量是指项目经济寿命终结时发生的现金流量。主要包括 a)固定资产的变价收入或残值收入 b)原垫支的流量资金回收额。

相信大家在联合仿真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!

simulink命令集、小问题集锦 仿真命令: sim ---仿真运行一个simulink模块 sldebug ---调试一个simulink模块 simset ---设置仿真参数 simget ---获取仿真参数 线性化和整理命令: linmod ---从连续时间系统中获取线性模型(状态方程) linmod2 ---也是获取线性模型,采用高级方法 dinmod ---从离散时间系统中获取线性模型 trim ---为一个仿真系统寻找稳定的状态参数 构建模型命令: open_system --打开已有的模型 close_system --关闭打开的模型或模块 new_system --创建一个新的空模型窗口 load_system --加载已有的模型并使模型不可见 save_system --保存一个打开的模型 add_block --添加一个新的模块 add_line --添加一条线(两个模块之间的连线) delete_block --删除一个模块 delete_line --删除一根线 find_system --查找一个模块 hilite_system --使一个模块醒目显示 replace_block --用一个新模块代替已有的模块 set_param --为模型或模块设置参数 get_param --获取模块或模型的参数 add_param --为一个模型添加用户自定义的字符串参数delete_param --从一个模型中删除一个用户自定义的参数bdclose --关闭一个simulink窗口 bdroot --根层次下的模块名字 gcb --获取当前模块的名字 gcbh --获取当前模块的句柄 gcs --获取当前系统的名字 getfullname --获取一个模块的完全路径名 slupdate --将1.x的模块升级为3.x的模块 addterms --为未连接的端口添加terminators模块boolean --将数值数组转化为布尔值 slhelp --simulink的用户向导或者模块帮助 封装命令: hasmask --检查已有模块是否封装 hasmaskdlg --检查已有模块是否有封装的对话框

S i m u l i n k仿真环境基础学习Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1)在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(SimulinkLibraryBrowser)窗口,如图7.1所示。

图7.1Simulink界面 (2)单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。 (3)在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。 (4)用鼠标单击所需要的输入信号源模块“SineWave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“SineWave”模块就被添加到untitled窗口;也可以用鼠标选中“SineWave”模块,单击鼠标右键,在快捷菜单中选择“addto'untitled'”命令,就可以将“SineWave”模块添加到untitled窗口,如图7.2所示。

(5) Scope ”模块(示波器)拖放到“untitled ”窗口中。 (6)在“untitled ”窗口中,用鼠标指向“SineWave ”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope ”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7)开始仿真,单击“untitled ”模型窗口中“开始仿真”图标 ,或者选择菜单“Simulink ”——“Start ”,则仿真开始。双击“Scope ” 模块出现示波器显示屏,可以看到黄色的正弦波形。如图7.4所示。 图7.2Simulink 界面

Simulink仿真环境基础学习 Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。

(2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图7.2所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7) 开始仿真,单击“untitled ”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏, 可以看到黄色的正弦波形。如图7.4所示。 图7.2 Simulink界面

S i m u l i n k入门教程-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

Simulink?快速入门 启动?Simulink?软件 要构建模型,可以使用 Simulink??Editor 和 Library Browser。 启动?MATLAB?软件 启动 Simulink 之前,请先启动 MATLAB?。请参阅启动和关闭?(MATLAB)。 配置?MATLAB?以启动?Simulink 您在 MATLAB 会话中打开第一个模型时需要的时间比打开后续模型长,因为默认情况下,MATLAB 会在打开第一个模型时启动 Simulink。这种即时启动Simulink 的方法可以缩短 MATLAB 启动时间,避免不必要的系统内存占用。 要快速打开第一个模型,您可以配置 MATLAB,在它启动时同时启动 Simulink。要启动 Simulink 而不打开模型或 Library Browser,请使用?start_simulink。 根据 MATLAB 的启动方式,恰当使用此命令: 在 MATLAB?startup.m?文件中 在操作系统命令行中,使用?matlab?命令和?-r?开关 例如,要在运行 Microsoft??Windows??操作系统的计算机上启动 MATLAB 时启动Simulink,请创建具有以下目标的桌面快捷方式: matlabroot\bin\win64\matlab.exe -r start_simulink 在 Macintosh 和?Linux??计算机上,可在启动 MATLAB 时使用以下命令启动Simulink 软件: matlab -r start_simulink 打开?Simulink?Editor 要打开 Simulink Editor,您可以: 创建一个模型。在 MATLAB 的?Home?选项卡上,点击?Simulink?并选择一个模型模板。 或者,如果您已经打开了 Library Browser,请点击?New Model?按钮?。有关创建模型的其他方法,请参阅创建模型。 打开一个现有模型。要打开最近使用的模型,请在 MATLAB?Home?选项卡上点击?Simulink。 或者,如果您知道要打开的模型的名称,可在 MATLAB 命令提示符下输入名称,例如?vdp。有关打开模型的其他方法,请参阅打开模型。

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设计点列表编辑器

实验6 SIMULINK 仿真综合实验 一、实验目的 1.熟悉Simulink 的操作环境并掌握绘制系统模型的方法。 2.掌握Simulink 中子系统模块的建立与封装技术。 3.对简单系统所给出的数学模型能转化为系统仿真模型并进行仿真分析。 二、实验设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 三、实验内容 1.建立下图1所示的Simulink 仿真模型并进行仿真,改变Gain 模块的增益,观察Scope 显示波形的变化。 图1 正弦波产生及观测模型 Sine Wave Scope 1 Gain 2.利用simulink 仿真来实现摄氏温度到华氏温度的转化:325 9 c f +=T T (c T 范围在-10℃~100℃),参考模型为图2。 图2 摄氏温度到华氏温度的转化的参考模型 3.利用Simulink 仿真下列曲线,取πω2=。

t t t t t t x ωωωωωω9sin 9 1 7sin 715sin 513sin 31sin )(++++=。 仿真参考模型如下图3,Sine Wave5模块参数设置如下图4,请仿真其结果。 图3 ()x t ω的仿真参考模型图 图4 Sine Wave5模块参数设置图 4.悬吊式起重机动力学仿真 悬吊式起重机结构简图 1. 悬吊式起重机动力学方程 式中,mt 、mp 、I 、c 、l 、F 、x 、θ 分别为起重机的小车质量、吊重、吊重惯量、等价粘性摩擦系数、钢丝绳长(不计绳重),小车驱动力、小车位移以及 ())1(sin 22 θl x dt d m x c F x m p t ---= ()) 2(cos 22 θl dt d m g m P p p =-)3(sin cos )sin (22 θ θθθ I Pl l x dt d l m p =--小车水平方向受力方程吊绳垂直方向受力方程 小车的力矩平衡方程

simulink matlab 仿真环境教程 Simulink 是面向框图的仿真软件。 演示一个Simulink 的简单程序 【例1.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB 的命令窗口运行simulink 命令,或单击工具栏中的图标,就可以打开Simulink 模块库浏览器 (Simulink Library Browser) 窗口,如图1.1所示。 (2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白 模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图1.2 所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope ”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图1.3所示。 (7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。如图1.4所示。 (8) 保存模型,单击工具栏的图标,将该模型保存为“Ex0701.mdl”文件。 1.2 Simulink的文件操作和模型窗口 1.2.1 Simulink的文件操作 1. 新建文件 新建仿真模型文件有几种操作: ?在MATLAB的命令窗口选择菜单“File”“New”“Model”。 图7.2 Simulink界面 图7.3 Simulink模型窗口 图7.4 示波器窗口

Matlab与Simulink系统仿真学习心得 班级:07610 学号:072019 姓名:马楠 第一部分:Matlab学习心得以及实践 Matlab是迄今为止我所见到过的功能最为强大实用范围宽广的软件。的确Matlab适用于教学,航天,网络仿真等等。而且提供了很多功能强大的工具箱,并且最为突出的是它自带的很全面细致的帮助文档,无论你是初学者还是老手都会惊叹于此,你也不必去花很多时间去熟悉那些繁杂的命令,并且很容易通过这些帮助文档得到关于这些函数最精准的用法。 Matlab是一个建立在矩阵操作上的软件,我想要想真正懂得并理解Matlab与一般的语言比如C或者java的区别,那么你就应该真正理解矩阵的思想。而且要熟悉Matlab对矩阵存储的方式(在下文中我会详细解释与之相关的内容),这样对提高你的代码执行效率与易懂性都有很大的帮助。 但是Matlab究竟应该怎么定位呢?一个编程软件,一个数学工具,一个工具箱,一个开发引擎,一个仿真工具,一个虚拟现实软件……的确要精准的说出Matlab的作用很难,或许去定义这个东西到底是用来干什么的并不重要,It is just a tool。 关于Matlab的学习方法,我想与别的语言有很大不同,对于汇编或者C,我们应当很注重底层的一些操作,比如栈或者队列存储数据的方式,int或者double类型转换的时候产生的数据丢失,或者指针方面很头疼的一些东西,但是对于Matlab你根本不必去注重这些东西,也不必去清除的记得那个函数的具体调用方式,那个函数的内容与结构等等。你需要的只是相当用一个笔记本写下你一步一步实现目标的步骤而已。一种草稿纸式的语言。你所学的东西很大部分都是为你要做的目标来服务的,也许这就是当初面向对象式语言产生的原因,但是Matlab就是这种语言的一个代表。 好了,就说到这里了,接下来是我自己学习中对Matlab的一些应用中所遇到的问题以及思考方式和解决办法。 1 离散信号卷积: N1=input('N1=');%输入N1 N2=input('N2=');%输入N2 k1=0:(N1-1);%定义序列f1的对应序号向量 k2=0:(N2-1);% 序列f2的对应序号向量 f1=ones(1,N1);%f1为阶跃序列 f2=0.5*k2;%f2为斜坡序列 [f,k]=dconv(f1,f2,k1,k2)%求离散卷积 其中dconv函数的代码为: function [f,k]=dconv(f1,f2,k1,k2) %The function of compute f=f1*f2 % f: 卷积和序列f(k)对应的非零样值向量 % k:序列f(k)的对应序号向量 % f1: 序列f1(k)非零样值向量 % f2: 序列f2(k)的非零样值向量 % k1: 序列f1(k)的对应序号向量 % k2: 序列f2(k)的对应序号向量

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仿真技术 1 实验目的: 了解对动态系统进行建模、仿真与分析工具-------Simulink 掌握Simulink仿真的方法和步骤 2 实验相关的知识重点: Simulink是MATLAB下的一个软件包。使用Simulink进行仿真一般分为两步: 1、在仿真模型编辑窗口中搭建好自己的仿真模型,设置好具体模型参数和仿 真参数; 2、开始仿真,Simulink将根据用户搭建的模型,模拟系统在用户设定条件下 的具体行为。 一个典型的Simulink模型由信源、系统及信宿等3部分组成可,它们的关系如下图所示: 信源提供系统的输入信号,如常量、正弦波、方波等;系统是对仿真对象的数学抽象,比如是连续线性系统,还是连续非线性系统?对输入信号进行求和,还是对输入信号进行一次调制:信宿是收信号的的部分,用户可以把它送到“示波器”中显示出来,或者保存到相应的mat文件中去。 一、模型文件操作 Simulink所建立的模型文件的后缀名为*.mdl。模型文件实际是一个结构化了的ASCII文件,它描述了模型的关键字和参数。同MATLAB的M文件一样它可以进行新建、打开、保存、打印等操作。 二、模块的操作 1. 模块的选定: 2.模块大小的调整: 3.模块方向的调整: 4.模块位置的调整: 5.模块的删除: 6.模块参数的设置 三、信号线的操作 1.信号线的连接: 2.信号线的折曲: 3.折点的移动: 4.信号线的删除: 5.信号线的标签: 6.信号线标签的传递: 四、模型的注释

建立Simulink模型应该养成添加模型注释的良好习惯。方法是:在模型编辑窗任意位置双击鼠标左键,将弹出一个编辑窗,可以在其中写入注释内容。 在模块库浏览器中的Simulink结点下包含了搭建一个Simulink模型所需的基本模块,这些是首先应该掌握的。下面主要对其中的Sources模块库、Sinks 模块库、Continuous模块库、Discrete模块库、Math Operations模块进行介绍。 一、Sources模块库 主要用于给Simulink仿真模型提供输入信号 1. Sine Wave模块 2.From Workspace模块 3.From File模块 二、Sinks模块库 主要功能是接收信号,并且将接收到的信号显示出来 1. 示波器的工具栏 2. 坐标轴的范围调整 三、Continuous模块库 主要用于对连续系统的建模。 四、Discrete模块库 主要用于离散系统建模。这类系统在时域上一般用差分方程来描述,或者在频域上利用Z变换得到传递函数进行描述. 五Math Operations模块库 主要用于对输入信号进行数学操作,包括逻辑运算和关系运算. 六其他模块库中的内容 基本模块库中还包括很多其他模块,另外,Simulink还可以由Blocksets来扩展它的功能.例如,利用DSP Blockset仿真数字信号处理的问题,利用Communication Blockset, CDMA Reference Blockset可以仿真通信领域的问题. 3 实验题目: 1.打开Simulink的模块库浏览器,仔细观察Simulink的基本模块, 它们是如何分类组织起来的?这样,在实际使用中才能快速、正确地查到自己所需要的模块。 2.用信号发生器产生频率1GHz,最高幅度为2的正弦波,用示波器 显示出来;用信号发生器产生幅度为2 ,频率10MHz, 占空比1/2的方波信号,用示波器显示。 3.为什么要封装子系统,如何封装?举例说明。

相关文档
最新文档