matlab实验指导书答案

2024-06-12

matlab实验指导书答案(共4篇)

matlab实验指导书答案 篇1

MATLAB及其应用

实验指导书

物理与信息工程系

目录

实验一 MATLAB编程环境..............................................3 实验二 矩阵基本运算

(一)..........................................5 实验三 矩阵基本运算

(二)..........................................7 实验四 矩阵分析...................................................9 实验五 分支结构程序设计..........................................11 实验六 循环结构程序设计..........................................13 实验七 文件操作..................................................15 实验八 二维曲线的绘制............................................17 实验九 三维曲线和曲面的绘制......................................19 实验十 MATLAB数据统计处理........................................21 实验十一 多项式四则运算..........................................23 实验十二 线性方程组求解及函数求极值.............................25 实验一 MATLAB编程环境

一、实验目的

1.熟悉MATLAB编程环境

二、实验环境

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.首先应熟悉MATLAB7.0运行环境,正确操作 2.实验学时:2学时

四、实验内容和步骤

1.实验内容

(1)命令窗口的使用。(2)工作空间窗口的使用。(3)工作目录、搜索路径的设置。(4)命令历史记录窗口的使用。(5)帮助系统的使用。(6)了解各菜单的功能。2.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。

(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(5)检查程序输出结果。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验二 矩阵基本运算

(一)一、实验目的

1.通过实验,进一步熟悉MATLAB编程环境 2.通过实验掌握建立矩阵的几种方法 3.通过实验理解常用的矩阵运算

二、实验环境

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.首先应熟悉MATLAB7.0运行环境,正确操作 2.自主编写程序,必要时参考相关资料 3.实验学时:2学时

四、实验内容和步骤

1.实验内容

(1)设A和B是两个同维同大小的矩阵,问:

1)A*B和A.*B的值是否相等? 2)A./B和B.A的值是否相等?

3)A/B和BA的值是否相等?操作过程参照教材中除法的矩阵生成。4)A/B和BA所代表的数学含义是什么?(2)写出完成下列操作的命令。

1)将矩阵A第2—5行中第1,3,5列元素赋给矩阵B。2)删除矩阵A的第7号元素。3)将矩阵A的每个元素值加30。4)求矩阵A的大小和维数。(3)下列命令执行后,L1、L2、L3、L4的值分别是多少/ A=1:9;B=10-A;L1=A==B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);2.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。

(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(5)检查程序输出结果。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验三 矩阵基本运算

(二)一、实验目的

1.熟悉矩阵的建立方式 2.理解矩阵拆分的方法

3.通过实验进一步掌握矩阵的基本运算

二、实验环境

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时

四、实验内容和步骤

1.实验内容

154831,B253 078(1)已知A3203617求下列表达式的值:

1)A+6B和A2-B+I(I为单位矩阵,matlab中使用eye来生成)2)A*B,A.*B和B*A 3)A/B和BA

4)[A,B]和 [A([1,3],:);B^2](2)已知

0.778023104145655,取出其前三行构成矩阵B,其前两列构成矩A325032543.1469.54阵C,其右下角3×2子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E=10&A<25)2.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。

(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(5)检查程序输出结果。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会

实验四

矩阵分析

一、实验目的

1.学会求矩阵的对角线元素、对角阵和逆矩阵 2.学会求矩阵的行列式的值、秩 3.学会求矩阵的特征值和特征向量 4.通过练习熟悉矩阵分析方法

二、实验环境

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时

四、实验内容和步骤

1.实验内容

(1)使用函数,实现方阵左旋90°或右旋90°的功能。例如,原矩阵为A,A左旋后得到B,右旋后得到C。使用函数rot90(A,k)来实现;

101112321471078965,A25811B456,C9836912123121114 710(2)建立一个方阵A,求A的逆矩阵和A的行列式的值,并验证A与A-1是互逆的。A的逆(inv(A));A的行列式(det(A))(3)求下列矩阵的主对角线元素、上三角阵、下三角阵、秩和迹。参考教材

1125141)A3051115030.434322

2)B8.9421 29(4)求矩阵A的特征值。参考教材

10.51 A110.250.50.2522.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。

(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(5)检查程序输出结果。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验五

分支结构程序设计

一、实验目的

1.理解MATLAB的编程方法

2.掌握if语句和switch语句的使用 3.掌握分支结构程序设计方法

4.通过练习理解MATLAB编程方法和分支结构程序设计方法。

二、实验环境

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时

四、实验内容和步骤

1.实验内容

(1)从键盘输入一个数,将它反向输出,例如输入693,输出为396(2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E 1)分别用if语句和switch语句实现

2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息

2.实验步骤(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。

(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(5)检查程序输出结果。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验六

循环结构程序设计

一、实验目的

1、理解循环控制结构的执行过程

2、掌握for语句和while语句的使用

3、掌握循环结构程序设计方法

4、通过练习进一步理解MATLAB的编程方法和循环结构程序设计方法

二、实验环境

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时

四、实验内容和步骤

1.实验内容

(1)编写程序实现求两矩阵A.*B.(2)编写程序实现求矩阵的转置。2.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。

(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(5)检查程序输出结果。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会

实验七

文件操作

一、实验目的

1、掌握文件的建立、打开与关闭和文件的读写操作

2、理解文件定位操作

3、通过练习理解文件的基本操作

二、实验环境

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 4.实验学时:2学时

四、实验内容和步骤

1.实验内容

(1)以读写方式打开二进制格式数据文件,将浮点数X添加到文件末尾,将文件内容以浮点数格式读入变量Z,将文本文件的第二行读入变量H,向文件尾部移动文件指针6个字节。

sin(x1.7)lnx,当x取-3.0、-2.9、-2.8、…、2.8、2.9、3.0时,(2)已知y21cos(x1.7)求各点的函数值。要求:将函数值输出到一个数据文件中;从数据文件中读出数据,求各点函数值的平均值;将平均值添加到数据文件末尾。(3)编写程序,该程序能读取一个文本文件,并能将文本文件中的小写字母转换为相应的大写字母而生成一个新的文本文件。2.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。

(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(5)检查程序输出结果。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会

实验八

二维曲线的绘制

一、实验目的

1、理解MATLAB绘图方法

2、掌握绘制二维数据曲线图的方法

3、掌握用plot函数和fplot函数绘制曲线的方法

4、通过练习掌握绘制二维数据曲线图的方法和plot函数和fplot函数的使用

二、实验环境

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 4.实验学时:2学时

四、实验内容和步骤

1.实验内容

(1)绘制下列曲线:

x1①yx

②ye323x22xrsint

③x2y6④

yrcost22(2)通过用plot和fplot函数绘制ysin1的曲线,并分析其区别。x解释:fplot函数的调用格式为: fplot(fname,lims,tol,选项)

其中fname为函数名,以字符串形式出现,lims为x,y的取值范围,tol为相对允许误差,其系统默认值为2e-3。选项定义与plot函数相同。2.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(3)编辑程序并进行保存。

(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(5)检查程序输出结果。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验九

三维曲线和曲面的绘制

一、实验目的

1、理解三维曲线的绘制

2、理解曲面图的绘制

3、通过练习熟悉三维曲线和曲面图的绘制方法

二、实验器材

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.自主编写程序,必要时参考相关资料 2.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时

四、实验内容和步骤

1.实验内容

(1)绘制下列三维曲线

xet/20costt/201)yesint,0t2

2)zt(2)绘制下列曲面图

1)z=5,|x|≤5,|y|≤5

2)f(x,y)xt2yt,0t1 zt351xy22,x3,y3

2.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(4)编辑程序并进行保存。

(5)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(6)检查程序输出结果。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验十

MATLAB数据统计处理

一、实验目的

1、掌握MATLAB求最大最小值的方法

2、掌握MATLAB求均值与方差的方法

3、通过练习以下内容熟悉数据统计处理的几种方法

二、实验器材

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.自主编写程序,必要时参考相关资料 2.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时

四、实验内容和步骤

1.实验内容

利用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质:均值mean和标准方差std;最大元素max和最小元素min;大于0.5的随机数个数占总数的百分比 2.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(4)编辑程序并进行保存。

(5)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。(6)检查程序输出结果。

五、实验报告要求

1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验十一

多项式四则运算

一、实验目的

1、掌握多项式求值、求根的方法

2、理解多项式四则运算

3、通过练习熟悉多项式四则运算和多项式求值、求根的方法

二、实验器材

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.自主编写程序,必要时参考相关资料 2.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时

四、实验内容和步骤

1.实验内容

4322有3个多项式P1(x)x2x4x5,P2(x)x2,P3(x)x2x3,1)求P(x)= P1(x)+ P2(x)P3(x)2)求P(x)的根

3)当x取矩阵A的每一元素时,求P(x)的值,其中

11.21.4 A0.7523.552.504)当以矩阵A为自变量时,求P(x)的值 2.实验步骤(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(4)编辑程序并进行保存。

(5)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(6)检查程序输出结果。

五、实验报告要求

1.整理实验结果,填入相应表格中 2.小结实验心得体会 实验十二

线性方程组求解及函数求极值

一、实验目的

1、理解线性方程组求解方法

2、理解函数求极值方法

3、通过练习以下内容熟悉求解线性方程组的方法和函数求极值的方法

二、实验器材

1.计算机

2.MATLAB7.0集成环境

三、实验说明

1.自主编写程序,必要时参考相关资料 2.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2学时

四、实验内容和步骤

1.实验内容

(1)求下列方程组的解

2x3y5z101)3x7y4z2)

x7yz56x15x22x35x449xx4xx131234 3x4x2x2x123413x19x22x411(2)求下列函数在指定区间的最大值

1x2,x(0,2)

2)f(x)sinxcosx2,x(0,)1)f(x)41x2.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。(2)进入MATLAB7.0集成环境。(4)编辑程序并进行保存。

(5)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。

(6)检查程序输出结果。

五、实验报告要求

1.整理实验结果,填入相应表格中 2.小结实验心得体会

matlab实验报告 篇2

特殊函数与图形

一、实验目的及意义

掌握用Matlab软件绘制简单曲线、曲面图形,并通过绘制一些特殊函数的图形,更加深入地理解相关函数的性质,了解函数的性态。

二、实验内容

平面作图、空间作图,比较数值作图与符号作图的异同。

三、实验步骤

1.在D盘建立一个自己的文件夹;

2.开启软件平台——MATLAB,将你建立的文件夹加入到MATLAB的搜索路径中。

3.4.5.6.7.利用帮助了解函数plot, surf, ezmesh,ezsurf等的功能和用法。

开启MATLAB编辑窗口,键入你编写的M文件(命令文件或函数文件);

保存文件(注意将文件存入你自己的文件夹)并运行;

若出现错误,修改、运行直到输出正确结果;

写出实验报告,并浅谈学习心得体会。

四、实验要求与任务

根据实验内容和步骤,完成以下具体实验,按要求写出实验报告。1.作出下图所示的三维图形:

图1 提示:图形为圆环面和球面的组合.2.作出下图所示的墨西哥帽子及其剪裁图形:

图2

3.画出椭球面、双叶双曲面、单叶双曲面.

4.若要求田螺线的一条轴截面的曲边是一条抛物线:y0时x25z.试重新设计田螺线的参数方程,并画出该田螺线.

5.作出下图所示的马鞍面(颜色为灰色,并有一个标题:“马鞍面”):

matlab实验指导书答案 篇3

典型环节的MATLAB仿真

一、实验目的

1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。

3.定性了解各参数变化对典型环节动态特性的影响。

二、SIMULINK的使用

MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。

1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。

2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。3.在simulink仿真环境下,创建所需要的系统。

图1-1

SIMULINK仿真界面 图1-2

系统方框图

以图1-2所示的系统为例,说明基本设计步骤如下:

1)进入线性系统模块库,构建传递函数。点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。

2)改变模块参数。在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。

3)建立其它传递函数模块。按照上述方法,在不同的simulink的模块库中,建立系统所需的传递函数模块。例:比例环节用“Math”右边窗口“Gain”的图标。

4)选取阶跃信号输入函数。用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。

5)选择输出方式。用鼠标点击simulink下的“Sinks”,就进入输出方式模块库,通常选用“Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。

6)选择反馈形式。为了形成闭环反馈系统,需选择“Math” 模块库右边窗口“Sum”图标,并用鼠标双击,将其设置为需要的反馈形式(改变正负号)。

7)连接各元件,用鼠标划线,构成闭环传递函数。

8)运行并观察响应曲线。用鼠标单击工具栏中的“”按钮,便能自动运行仿真环境下的系统框图模型。运行完之后用鼠标双击“Scope”元件,即可看到响应曲线。

三、实验原理

1.比例环节的传递函数为

G(s)Z2R22Z1R1R1100K,R2200K

其对应的模拟电路及SIMULINK图形如图1-3所示。

图1-3 比例环节的模拟电路及SIMULINK图形

2.惯性环节的传递函数为

Z2R12Z1R2C110.2s1R2G(s)R1100K,R2200K,C11uf

其对应的模拟电路及SIMULINK图形如图1-4所示。3.积分环节(I)的传递函数为

G(s)Z211Z1R1C1s0.1sR1100K,C11uf

其对应的模拟电路及SIMULINK图形如图1-5所示。

图1-5 积分环节的模拟电路及及SIMULINK图形 图1-4 惯性环节的模拟电路及SIMULINK图形

4.微分环节(D)的传递函数为

G(s)Z2R1C1ssZ1R1100K,C110uf C2C10.01uf

其对应的模拟电路及SIMULINK图形如图1-6所示。

图1-6 微分环节的模拟电路及及SIMULINK图形

5.比例+微分环节(PD)的传递函数为

G(s)Z2R2(R1C1s1)(0.1s1)Z1R1C2C10.01uf R1R2100K,C110uf其对应的模拟电路及SIMULINK图形如图1-7所示。6.比例+积分环节(PI)的传递函数为

ZG(s)2Z

1R21C1s1(1)R1R2100K,C110uf

R1s图1-7 比例+微分环节的模拟电路及SIMULINK图形其对应的模拟电路及SIMULINK图形如图1-8所示。

图1-8 比例+积分环节的模拟电路及SIMULINK图形

四、实验内容

按下列各典型环节的传递函数,建立相应的SIMULINK仿真模型,观察并记录其单位阶跃响应波形。

① 比例环节G1(s)1和G1(s)2;

图2-1 比例环节的模拟电路

图2-2比例环节SIMULINK仿真模型

② 惯性环节G1(s)11和G2(s) s10.5s1

图3-1惯性环节模拟电路

图3-2惯性环节SIMULINK仿真模型

③ 积分环节G1(s)1s

图4-1积分环节的模拟电路

图4-2积分环节SIMULINK仿真模型

④ 微分环节G1(s)s

图5-1微分环节的模拟电路

图5-2微分环节SIMULINK仿真模型

⑤ 比例+微分环节(PD)G1(s)s2和G2(s)s1

图6-1比例+微分环节的模拟电路

图6-2比例+微分SIMULINK仿真模型

⑥ 比例+积分环节(PI)G1(s)11和G2(s)11

s2s

图7-1比例+积分环节的模拟电路

图7-2比例+积分SIMULINK仿真模型

五、心得体会

matlab实验指导书答案 篇4

一、实验目的

在传统的机电一体化研究设计过程中,机械工程师和控制工程师虽然在共同设计开发一个系统,但是他们各自都需要建立自己的模型,然后分别采用不同的分析软件,对机械系统和控制系统进行独立的设计、调试和试验,最后进行机械系统和控制系统各自的物理样机联合调试,如果发现问题又要回到各自的模型中分别修改,然后再联合调试,显然这种方式费时费力。

基于多领域的建模与联合仿真技术很好的解决了这个问题,为机械和控制系统进行联合分析提供了一种全新的设计方法。机械工程师和控制工程师就可以享有同一个样机模型,进行设计、调试和试验,可以利用虚拟样机对机械系统和控制系统进行反复联合调试,直到获得满意的设计效果,然后进行物理样机的建造和调试。

ADAMS与MATLAB是机械系统仿真和控制系统仿真领域应用较为广泛的软件,其中ADAMS为用户提供了强大的建模、仿真环境,使用户能够对各种机械系统进行建模、仿真和分析,具有十分强大的运动学和动力学分析功能;而MATLAB具有强大的计算功能、极高的编程效率及模块化的建模方式,因此,把ADAMS与MATLAB联合起来仿真,可以充分将两者的优势相结合,将机械系统仿真分析同控制系统设计有机结合起来,实现机电一体化的联合分析。

本实验以倒立摆为例,进行ADAMS与MATLAB的联合仿真,对倒立摆的运动性能和运动规律进行分析。

二、实验方法

软件环境:MD ADAMS R3,MATLAB R2009b 2.1 建立倒立摆的动力学模型

启动ADAMS/View模块弹出如图1所示对话框,建立小车及摆杆模型。首先选择“Create a new model”选项,创建一个新的模型,将该文件保存在相应的文件夹下,本实验将结果保存在E:daolibai_adams文件夹下,将文件名取为“daolibai_adams”,其余选项保持默认。注意,在ADAMS中路径名和文件名最好采用英文字符,否则有可能在运行的过程中出现意想不到的错误。

图1 启动ADAMS/View模块

进入ADAMS/View界面后,需要对相关参数进行设置。选择菜单栏中的“Settings→Working Grid”选项,弹出如图2所示的对话框,设置网格的大小。将“Spacing”设置为X:10mm,Y:10mm,其余参数保持默认。在“Settings”选项中还可以设置图标的大小,单位等等参数,在本实验中这些参数都保持默认即可。

图2 设置网格的大小

与此同时,单击菜单栏“View”选项下的“Coordinate Window”(或者按下键盘上的F4按钮),如图3所示。可随时在窗口中观察鼠标的当前空间坐标位置,方便我们进行建模。

图3 打开鼠标当前空间位置观察窗口

右键点击ADAMS建模工具箱中的图标,选择工具Box,在视图中(0,0,0)处建一个长、宽、高分别为30cm,20cm,20cm的长方体代替小车模型,如图4所示。

图4 长方体尺寸设置

图5 在视图中建立的长方体前视图

长方体建立完毕后,需要进一步在视图中调整其位置。在当前视角下,点击工具箱中的图标,进入如图6所示的界面。在Distance选项中输入15cm,选择长方体,然后点击向左的箭头,小车模型即向左平移15cm。单击工具箱中的按钮,即可返回工具箱主界面。点击图标,切换到右视角视图,再次运用按钮,在Distance选项中输入10cm,选择长方体,然后点击向右的箭头,将小车模型向右平移10cm,如图7所示。

图6 将小车模型向左平移15cm

图7 将小车模型向右平移10cm

小车模型位置修改完毕后,右键点击小车模型,选择Rename,将模型的名称修改为xiaoche,如图8所示。与此同时,在右键菜单中选择Modify,将小车的质量修改为0.5KG,其修改方法如图9所示。

图8 修改模型名称

图9 修改小车模型的质量

至此,小车模型及参数设置完毕,接下来建立摆杆的模型。在建模工具箱中选择(Cylinder)工具建立摆杆模型,其参数设置如图10所示。

图10 摆杆参数的设置

摆杆参数设置完毕后,沿小车垂直向上的方向建立该圆柱体,建好后单击右键修改其特性参数,将部件名称修改为baigan,将摆杆质量修改为0.2kg,转动惯量修改为0.006kg·㎡。建好后,运用工具箱中的顺时针旋转5°,建完后的模型如图11所示。

工具,将摆杆绕端点

图11 倒立摆模型前视图与三维视图

倒立摆的三维模型建立好后,我们需要为模型添加相应的运动副和运动。小车与地面用平移副约束,右键单击图标,在弹出菜单中选择工具,添加方式选择2 Bod-1 Loc方式,分别选择小车和大地,在小车质心处添加水平方向的平移约束副,如图12。

图12 在小车与大地之间添加移动副

摆杆与小车之间存在旋转运动,故需要在小车与摆杆之间添加一个转动副。单击工具中的图标,添加方式选择2 Bod-1 Loc方式,分别选择摆杆和小车,在摆杆与小车的铰接处建立旋转副,如图13所示。

图13 在摆杆与小车之间建立旋转副JOINT_2

倒立摆模型的约束添加完毕之后,我们可以对模型进行运动测试。点击工具,进入运动仿真测试对话框,设置仿真时间为1秒,步长为1000,如图14所示。

图14 运动仿真参数设置

点击按钮开始运动仿真测试,可以看到小车沿着水平方向作直线运动,摆杆绕着铰接点作旋转运动。

2.2 定义倒立摆机械系统的输入输出变量

1)定义输入变量

本实验中需要在ADAMS中定义一个状态变量接收控制小车运动的水平力。选择Build菜单下的System Elements创建一个名为controlforce的状态变量,如图15所示。

图15 创建输入状态变量

由图15可以看出F(time,„)后面输入栏中的数值为0,表示该控制力的数值将从控制软件的输出获得。

给小车定义一个水平力,单击ADAMS工具箱中的工具,选择Body Moving的建模方式,一次选择小车质心作为力的作用点,选择水平向右作为其加载方向(如图16),这样该水平力将一直随着小车的移动而移动。

图16 为小车添加水平方向作用力

上述过程完成以后,右键单击该水平力,选择Modify,将其函数值定义为VARVAL(.daolibai_adams.controlforce),以实时从状态变量controlforce中接收力的数值,如图17。

图17 函数值的定义

2)定义输出变量

定义输出变量的方法与定义输入变量的方法相同,定义ADAMS状态变量以输出动力学模型的运动状态至控制软件,本实验就是要输出摆杆的摆角。选择Build菜单下的System Elements创建一个名为rotateangle的状态变量,选择摆杆的上端点和小车的铰接点出的MARKER点为摆杆绕Z轴旋转运动的参考点,如图18所示。

图18 定义输出变量

其中,在F(time,„)后面的文本输入栏输入摆杆摆角表达式AZ(MARKER_11,MARKER_12),AZ函数用来测量绕Z轴旋转的角度,本实验中即表示摆杆绕着Z轴旋转的角度。利用ADAMS工具箱中的工具,在摆杆的上端点创建一个测点MARKER_11,在小车上创建测点MARKER_12,此点为小车与摆杆的铰接点。设置完毕后单击OK按钮保存设置。3)将状态变量指定为输入/输出变量

上述状态变量定义完成之后,还需要将定义好的状态变量指定为输入或输出变量。

指定状态变量controlforce为输入变量。单击主菜单Build→Data Elements→Plant→Plant Input→New后,弹出输入变量定义对话框,如图19所示。将Variable Name栏中输入controlforce,然后单击OK按钮即完成设置。

图19 输入变量定义对话框

指定状态变量rotateangle为输入变量。单击主菜单Build→Data Elements→Plant→Plant Output→New后,弹出输入变量定义对话框,如图20所示。将Variable Name栏中输入rotateangle,然后单击OK按钮即完成设置。

图20 输出变量定义对话框 4)导出ADAMS模型

通过以上工作,已经在ADAMS机械系统模型中定义了同控制系统交互的相关状态变量和函数,接下来需要利用ADAMS/Controls模块将这些状态变量定义为输入输出信号,并将相关信息导出,以便和其他控制程序连接。

单击Controls菜单下的Plant Export子菜单,弹出如图21所示的设置窗口。将输出文件名修改为test123;在输入信号定义栏中,单击From Input按钮后,弹出数据库浏览窗口,选择定义的PINPUT_1为输入项,双击后,定义的状态变量controlforce将自动出现在输入信号一栏中,同理,输出信号的设置方法同上。目标控制软件下拉菜单可以根据需要选取,本实验目标软件选为MATLAB,其他选项保持默认。单击OK按钮,ADAMS将导出*.m文件,同时产生调用ADAMS/Solver的cmd文件和*.adm的ADAMS模型文件。

图21 ADAMS变量导出设置 上述过程完成后,MATLAB已经可以读取ADAMS模型的相关信息了。

2.3 在MATLAB/Simulink中导入ADAMS模型

1)变量的导入

启动MATLAB后,在命令窗口中输入导出的ADAMS模型名称test123,在MATLAB窗口将出现如下信息:

>> clear all >> test123 ans = 26-Jun-2013 08:53:34 %%% INFO : ADAMS plant actuators names : 1 controlforce %%% INFO : ADAMS plant sensors names : 1 rotateangle 在MATLAB命令提示符下输入who命令,显示文件中定义的变量列表,在MATLAB命令窗口中返回如下结果:

Your variables are: ADAMS_cwd ADAMS_mode ADAMS_solver_type arch ADAMS_exec ADAMS_outputs ADAMS_static flag ADAMS_host ADAMS_pinput ADAMS_sysdir machine ADAMS_init ADAMS_poutput ADAMS_uy_ids temp_str ADAMS_inputs ADAMS_prefix ans topdir 可以选择以上显示的任何一个变量名,检验变量,例如,如果输入ADAMS_outputs,则MATLAB将显示在ADAMS中定义的输出变量:

ADAMS_outputs = Rotateangle 注意:ADAMS导出的文件必须置于MATLAB工作目录下,即ADAMS与MATLAB共用同一个工作目录,否则上述过程不能进行。与此同时,还要把ADAMS/win32文件夹下的“adams_plant.mexw32”及ADAMS/Controls/win32/文件夹下的“plant.lib”放在ADMAS与MATLAB的共用工作目录下。这两个文件是adams_sub模块的核心。ADAMS提供一个S函数,用于ADAMS和simulink联合仿真的调度和通信,如果simulink找不到它,联合仿真就不能进行。2)ADAMS模块的导入

在MATLAB命令窗口中输入“adams_sys”命令,即可导入ADAMS模块,如图22所示。

图22 adams_sys模块

3)仿真参数的设置

点击图22中的adams_sys模块,即可进入adams_sub模块,如图23所示。

图23 adams_sub模块 点击图23中的MSC.Software模块,弹出如图24所示的对话框,在对话框中设置如下参数:

图24 仿真参数的设置

将联合仿真的通信间隔Communication Interval选项设置为0.001,该选项定义了ADAMS与MATLAB/Simulink交换数据的通信间隔,调整该参数将控制联合仿真的速度,并影响计算的速度。

将simulation mode选项设置为continuous,即连续仿真模式。其余参数保持默认,单击OK按钮,保存参数设置。3)联合仿真分析

在MATLAB/Simulink中建立如下控制框图(图25),设置仿真时间为5s。

图25 联合仿真控制框图

点击start命令,开始进行联合仿真,几秒钟后,将弹出一个DOS窗口,显示ADAMS在联合仿真分析中的各种数据。联合仿真结束后,仿真结果既可以在MATLAB/Simulink中查看,也可以在ADAMS后处理器中查看。图26和图27分别为Simulink模型中示波器输出的摆杆摆角随时间变换曲线和输入力矩随时间变化曲线。

图26 摆杆摆角随时间变化曲线 图27 输入力矩随时间变化曲线

一、实验结果

上一篇:班组文化的建设与管理方法下一篇:书声教案2012.10