MATLAB及应用技术》实验书.docx
《MATLAB及应用技术》实验书.docx》由会员分享,可在线阅读,更多相关《MATLAB及应用技术》实验书.docx(15页珍藏版)》请在冰豆网上搜索。
MATLAB及应用技术》实验书
《MATLAB及应用》实验指导书
班级:
姓名:
学号:
总评成绩:
汽车工程系
电测与汽车数字应用中心
实验04051001熟悉MATLAB语言1
实验04051002熟悉GUI/SIMULINK/Simulink7
实验04051003MATLAB实例编程16
实验04051001熟悉MATLAB语言
操作成绩
报告成绩
【实验目的】
1.1掌握MATLAB的运行环境
1.2掌握MATLAB的矩阵和数组的运算
1.3掌握MATLAB符号表达式的创建
1.4熟悉符号方程的求解
【实验要求】
从下面所列14题中任选6题,能正确使用函数得到正确结果,并列写语句代码。
【实验内容】
3.1利用rand等函数产生下列矩阵:
产生一均匀分布在(-5,5)之间的随机阵(50×2),要求精度到小数点后一位(精度控制指令为format)。
3.2有一测量矩阵a(100×100)矩阵中,删除整行全为0的行,删除整列内容全为0的整列(判断某列元素是否为0方法:
看a(,i).*(a(,j)’)是否为0)。
3.3假设汽车系在下列各年度的人口统计如表所示
类别
大一新生
学士毕业生
年份
2004
98
94
2005
105
97
2006
121
110
试用一个二维矩阵A表示上述数据。
由上题矩阵A来算出下列各数值:
(1)汽车系在2004、2005、2006年之间的每年平均新生、毕业生人数。
(2)3年来汽车系共有多少毕业生?
(3)在哪几年,新生数目比毕业生多?
(4)三年来每年的毕业生对新生的比例平均值为何?
3.4使用randn产生一个10X10的矩阵A
(1)计算B=(A+A’)/2。
请注意,B一定是一个对称矩阵
(2)计算矩阵B的特征向量e1e2…e10(使用函数eig)
(3)验证在i不等于j的情况下,ei和ej的内积必定为0
3.5求f(x)=4x6-x+x3-95在(0,100)上最大值、最小值,根。
(使用函数fminbnd、roots)
3.6求解常微分方程x’’=-x’+x+1,x’(0)=1,x(0)=0(使用函数dsolve)
3.7已知t=an2+bn,测得对应数据如下:
(多项式插值interp1)
t=[0,20,40,60,80,100,120,140,160,183.5]。
n=[0,1153,2045,2800,3466,4068,4621,5135,5619,6152]。
试求a和b的值。
3.8请用梯形法、辛普森法分别计算积分值
(trapz、quad)
3.9计算二重积分
(使用函数dblquad)
3.10矩阵M=[1,2,6。
4,2,7。
8,9,3],求M的LU分解,QR分解,对角阵,特征值分解。
(使用函数lu、qr、shol、eig)
3.11a=3,A=4,b=a2,B=b2-1,c=a+A-2B,C=a+B+2c,求C。
(使用函数solve)
3.12用两种方法求解Ax=b的解。
(A为四阶随机矩阵,b为四阶向量,自己创建)。
3.13建立一5×5矩阵,分别用polyval函数和polyvalm函数将矩阵代入
f(x)=1.35+0.0668x+0436x2+0.695x3计算结果并比较。
3.14
,用两种方法求函数的根,并求其极值与零点。
【实验仪器、设备及材料】
4.1高性能的计算机
4.2Matlab7.0
【实验步骤】
打开Matlab运行环境
在它的功能菜单中共有File,Edit,View,Web,Windows,Help六个主菜单,每一个之下又各有下一级子菜单。
1为当前路径选择窗口,可点击
打开文件夹选择框选择当前工作路径。
2中内容可通过点击3和4分别显示分类帮助文件夹和工作空间,工作空间窗口显示当前已经定义的变量值。
5中内容可通过点击6和7分别显示指令历史记录与当前目录下文件。
8为指令窗口,在符号“>>”后键入指令,执行相关动作,本次实验内容便在指令窗口内输入并运行,每输完一条指令,回车即执行。
在指令窗操作时应特别注意以下几点:
1)所有输入的指令、公式或数值必须按下回车键以后才能执行。
例如:
>>(10*19+2/4-34)/2*3(回车)
ans=
234.7500
2)所有的指令、变量名称都要区分字母的大小写。
3)%作为MATLAB注释的开始标志,以后的文字不影响计算的过程。
4)应该指定输出变量名称,否则MATLAB会将运算结果直接存入默认的输出变量名ans。
5)MATLAB可以将计算结果以不同的精确度的数字格式显示,可以在直接在指令视窗键入不同的数字显示格式指令。
例如:
>>formatshort(这是默认的)
6)MATLAB利用了↑↓二个游标键可以将所下过的指令叫回来重覆使用。
按下↑则前一次指令重新出现,之后再按Enter键,即再执行前一次的指令。
而↓键的功用则是往后执行指令。
其它在键盘上的几个键如→,←,Delete,Insert,其功能则显而易见,无须多加说明。
当要暂时执行作业系统(例如Dos)的指令而还要执行MATLAB,可以利用!
加上原作业系统的指令,例如!
dir,!
formata:
。
注意:
有三种方法可以结束MATLAB:
1)点击操作桌面窗口右上角的号;
2)在指令窗键入quit后回车;
3)点击File菜单下的ExitMATLAB菜单项。
如果你是个初学者,可在指令窗键入demo,将会出现下图所示的界面,这可是学习的好帮手。
一旦发现指令不知如何使用时,help命令将告诉你使用。
在指令窗中键入(help+指令名称)就可使用MATLAB的帮助系统,这是最快捷的取得帮助的途径。
例如:
>>helpsin
SINSine.
SIN(X)isthesineoftheelementsofX.
Overloadedmethods
helpsym/sin.m
【思考题】
6.1数组与矩阵在MATLAB表示与应用上有哪些区别。
6.2MATLAB求多项式的根是用什么方法,与传统方法相比有何优点?
实验04051002熟悉GUI与SIMULINK
操作成绩
报告成绩
【实验目的】
1.1掌握各种图形的绘制
1.2掌握GUI的使用
1.3掌握Simulink模型的创建
1.4掌握连续系统和离散系统的模型分析
【实验要求】
完成全部3题,得到正确图形结果,适当添加标注,列写程序代码。
【实验内容】
3.1假设汽车系在2004、2005、2006年的人员组成如表所示:
类别
大一
大二
大三
大四
年份
2004
10
21
23
14
2005
21
32
33
24
206
15
23
23
44
a)请用bar3命令来画出上述数据的立体长条图
b)请用各种你可以想到的方法,在上述图形中加入各种解释和说明的文字。
3.2北京内燃机总厂生产的492Q发动机,由实验测得的转矩特性为:
发动机转速n
(r·min-1)
1000
1500
2000
2500
3000
3500
3800
4000
发动机转矩T
(N·m)
135.33
147.10
152.98
156.91
147.10
138.27
133.37
125.53
试求出转矩特性的多项式表示,并作出发动机的外特性图(要有适当的标注)。
3.3建立二自由度汽车SIMULINK模型。
更改参数,观察不同参数下前轮角阶跃输入下的汽车稳态响应。
【实验仪器、设备及材料】
4.1.高性能的计算机
4.2Matlab7.0
【实验步骤】
5.1文件编辑调试器的使用
点击MATLAB操作界面的Newm-File图标
,就可打开下图所示的文件编辑调试器。
其窗口名为untitled,用户即可在空白窗口中编写程序。
说明:
在运行某文件之前,应先使该文件处于MATLAB的搜索路径上。
选择菜单Debug>>Run运行程序
本次实验内容3.1、3.2在文件编辑调试器编写程序。
5.2Simulink的使用
点击MATLAB操作界面的Simulink图标
,将会进入Simulink模块库浏览器,如下所示:
从Simulink模块库浏览器中,双击Simulink可将Simulink库浏览树展开,如下所示:
由上可知,Simulink提供了8类基本模块:
Continuous(连续系统)、Discrete(离散系统)、Function&Tables(函数与表)、Math(数学运算)、Nonlinear(非线性系统)、Signal&System(信号与系统)、Sinks(输出)和Sources(输入源)等标准模块库。
点击Simulink模块库浏览器中的图标
,即可进入模型窗口,如下所示:
在Simulink中,系统模型的构建就是绘制系统方框图,方框图的绘制几乎完全依赖于鼠标的操作,鼠标指针的不同形状表示不同的操作。
5.2.1标准模块的选取
单击某一标准模块库,在Simulink模块库浏览器中将出现该模块库的所有模块,例单击Continuous模块库会出现下图:
在右边的模块中,用鼠标单击选取某一模块,一直按下鼠标左键将该模块拖放至模型窗口中再松开鼠标左键,即完成模块的复制。
5.2.2模块的编辑
模块的编辑包括模块的移动、拷贝、剪切、粘贴和删除。
所有的这些操作都与Windows环境下的操作一样。
5.2.3模块的连接
将鼠标指针移到模块端口附近,鼠标指针变为“+”,按下左键,拖动鼠标到另一连接点,松开左键即可。
若要划分支线,则将鼠标指针移到要分支的线上,按下右键,拖动鼠标到另一连接点,松开右键即可。
5.2.4模块与连接线的命名
将鼠标指针移到模块下面字符处,单击左键,当出现一方框后,即可更改模块名。
双击连接线即可对连接线进行改名操作。
5.3simulink仿真步骤
假设系统中某变量p满足
,其中a,b为常数。
1)通过化简得到
2)利用微分模块
得到p,
3)利用simulink提供的功能模块表示
,并接在dp上
4)运行simulink,观看结果。
5.4本次实验3.3步骤如下:
1)Matlab指令窗口下输入指令’simulink’打开simulink编辑器并新建一个mdl。
2)分别将2个
拉入编辑窗口,分别命名为dv,dw,即可得到
,这里红色虚线表示现还没有与其他模块连接好。
3)将1个
拉入编辑窗口,并命名为u,代表控制车速,双击,在弹出的属性对话框中“constantvalue”一项改为100,表示速度为100。
4)将
拉入编辑窗口,如图接线,图中B代表实际车速与给定车速比值
。
5)分别将2个
拉入编辑窗口,并命名为k1、k2。
6)将
拉入编辑窗口并双击打开属性窗口,将“Listofsigns”改为“++”,命名为k1+k2,再将k1、k2与之相连。
7)将
拉入编辑窗口,再将k1+k2、B与之相连。
8)分别将
、
、
、
、
拉入编辑窗口,更改相应属性并连线
其中线“1”做法为在线“2”上按下右键,拖动鼠标到另一连接点,松开右键即可
9)如步骤3)创建a、b,将
拉入2个编辑窗口并双击打开属性窗口,分别将“Expression”项改为“u*u”,“u*u”。
10)如图接线,得到
的模型表示。
11)如图接线,得到最终框图。
12)点击
运行仿真,结束后双击“Scope”与“Scope1”观察曲线
13)更改k1、k2等参数,运行仿真,不同参数下前轮角阶跃输入下的汽车稳态响应曲线。
【思考题】
6.1请思考网络线有什么作用,为什么要对图形进行标注。
6.2画出横坐标在(-15,15)上的y=sinx函数的曲线,应该使用什么命令。
实验04051003MATLAB实例编程
操作成绩
报告成绩
【实验目的】
1.1掌握MATLAB程序设计的方法
1.2学会用户参数交互输入设计技术
1.3能将MATLAB应用到所学专业
【实验要求】
从下面4题中任选一题,写出设计思路、程序流程框图、详细程序使用说明,并打印出主要曲线图与程序代码。
【实验内容】
结合汽车理论知识,针对汽车某项性能设计一仿真软件,要求可根据输入参数绘制相应曲线。
3.1动力性计算,参数见《汽车理论》习题1.3
设计完成以下工作:
A、可进行整车参数输入
B、计算最高车速、加速时间(2档起步0~70km/h),最大爬坡度
C、绘制驱动力阻力平衡图、汽车加速时间曲线、汽车爬坡度图
3.2经济性计算,参数见《汽车理论》习题1.3,2.7
设计完成以下工作:
A、可进行整车参数输入
B、计算显示JB3352-83规定的六工况循环行驶的百公里油耗
C、绘制汽车功率平衡图、最高档及次高档等速百公里油耗曲线
3.3制动性计算,参数见《汽车理论》习题4.3
设计完成以下工作:
A、可进行整车与制动系统参数输入
B、计算同步附着系数、空载制动距离、满载制动距离
C、计算前部管路损坏时的空载制动距离、满载制动距离
D、计算后部管路损坏时的空载制动距离、满载制动距离
E、绘制空、满载的理想制动力分配曲线,利用附着系数曲线、制动效率曲线
3.4操作稳定性计算,参数见《汽车理论》习题5.11
设计完成以下工作:
A、可进行整车参数输入
B、计算显示稳定形因数K、特征车速、静态储备系数ay=1.4
C、绘制稳态横摆角速度曲线
D、绘制时瞬态响应曲线