《《专业软件应用》实验指导书-matlab.doc》由会员分享,可在线阅读,更多相关《《专业软件应用》实验指导书-matlab.doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、交通与汽车工程学院专业软件应用实验指导书适用专业: 车辆工程 课程代码: 学时: 学分: 编写单位: 汽车系 编 写 人: 李平飞 审 核 人: 徐延海 审 批 人: 孙仁云 2009年05月目 录 实验一 MATLAB基本操作 2实验二 MATLAB编程基础实验三 MATLAB图形操作实验报告格式及要求 3实验一 matlab基本操作 一 实验目的熟悉MATLAB语言编程环境;熟悉MATLAB语言命令二 实验仪器和设备装有MATLAB6.0以上计算机一台三 实验原理MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。1.1 基本规则
2、1.1.1 一般MATLAB命令格式为 输出参数1,输出参数2,=(命令名)(输入参数1,输入参数2,) 输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用 括号。 1.1.2 %后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注释。1.1.3 可用、键来重现已输入的数据或命令。用、键来移动光标进行修改。1.1.4 所有MATLAB命令都用小写字母。大写字母和小写字母分别表示不同的变量。1.1.5 常用预定义变量,如pi 、Inf、NaN、ans1.1.6 矩阵的输入要一行一行的进行,每行各元素用空格或“,”分开,每行用“;”分开。如 MATLAB书写格式为A=1 2
3、3 ;4 5 6 ;7 8 9 在MATLABZ中运行如下程序可得到A矩阵 a=1 2 3;4 5 6;7 8 9 a = 1 2 3 4 5 6 7 8 91.1.7 需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。 运行下面两种格式可以看出它们的区别:a=1 2 3;4 5 6;7 8 9 a=1 2 3;4 5 6;7 8 9;a= 1 2 3 不显示结果 4 5 6 7 8 91.1.8 当输入语句过长需要换行时,应加上“”后再回车,则可续行输入。1.2 矩阵运算 MATLAB具有强大的矩阵运算功能,这里我们只作简单介绍.1.2.1 在MATLAB中表示一个矢量要用
4、方括号, 而列矢量的输入只需在行矢量输入格式基础上加转置符“”即可。 如 x=1 2 3;4 5 6 x = 1 2 3 4 5 6 而 x=1 2 3;4 5 6 (加转置符) x = 1 4 2 5 3 61.2.2 下面三条命令可以产生一个行矢量1 a=linspace(x,y,n) 2 a=logspace(x,y,n) 3 a=x:n:y第一条命令可以在线性空间产生一个值在x至y之间间隔点数为n的行矢量(一组数据)。其行矢量的起始值是x, 终值为y, 点数为n。第二条命令可以在对数空间产生一个值在10x至 10y之间等间隔的行矢量(一组数据)。第三条命令产生x至y步长为n的行矢量。但
5、是, 三个命令之间存在差别,下面的例子可以说明这一点。 例1 x=logspace(0,5,6) x = 1 10 100 1000 10000 例2 x=linspace(0,10,11) x = 0 1 2 3 4 5 6 7 8 9 10 例3 x=0:1:10 x = 0 1 2 3 4 5 6 7 8 9 10 通过上面三个例子可以看出例一, 例二中n代表选取的点数。而在例三 中n则表示步长. 注意它们的区别。四 实验内容和步骤熟悉MATLAB语言编程环境。在这一环境中,系统提供了许多编写,调试和执行MATLAB程序的便利工具。熟悉变量、MATLAB基本数学函数使用,矩阵操作练习,主
6、要包括矩阵的建立,算数运算,逻辑运算和关系运算。(一)熟悉Matlab的运行环境以及HELP命令,运行demo命令,观看matlab所具有的功能。(二)验证例题中所有操作。(三)完成以下各题,将步骤命令写入实验报告,并在机器上运行结果验证。1输入A=7 1 5;2 5 6;3 1 5,B=1 1 1; 2 2 2; 3 3 3,在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A2 A.2 B/A B./A2求下列表达式的值。(1)(2),其中a=3.5,b=5,
7、c=-9.8。(1) 20.5*(1+0.34245e-6) 1.4142(2)X=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2)/(tan(b+c)+a) 0.9829实验二MATLAB编程基础一 实验目的: 完成MATLAB下数据分析与程序设计有关问题的练习。学习脚本文件的编写,数值输入,数组计算,程序调试等;练习利用MATLAB编程序解决基本数学问题。学习全局和局部变量的使用,流程控制结构,函数编写及其调试。二 实验仪器和设备装有MATLAB6.0以上计算机一台三 实验原理1. 常用运算命令运算命令名 功能angle求复数的角min求最小值max求最大值sum求和root
8、s求多项式的根poly由多项式的根求多项式的系数polyval求给定点多项式的值polyder多项式求导 例1 求a=S3+2S2+3S+4根. a=1 2 3 4; roots(a) ans = -1.6506 -0.1747 + 1.5469i -0.1747 - 1.5469i 或 roots(1 2 3 4) ans = -1.6506 -0.1747 + 1.5469i -0.1747 - 1.5469i 例2 已知某多项式的根如下 -1.6506 -0.1747 + 1.5469i -0.1747 - 1.5469i 求该多项式. poly(-1.6506,-0.1747+1.54
9、69i,-0.1747 - 1.5469i) ans = 1.0000 2.0000 3.0001 4.0001 即所求多项式为 S3+2S2+3S+4 .2. 无条件循环当需要无条件重复执行某些命令时,可以使用for循环:for 循环变量t=表达式1 : 达式2 : 表达式3 语句体end说明:表达式1为循环初值,表达式2为步长,表达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套。例3: 例4:矩阵输入程序生成34阶的Hiltber矩阵。 m=input(矩阵行数:m=); for i=1 : 3 n= input(矩阵列数:n=); for j=1 : 4 for i=
10、1:m H(i,j)=1/(i+j-1); for j=1:n end disp(输入第,num2str(i),行,第,num2str(j),end 列元素) A(i, j) = input ( ) end end 3. 条件循环1) if-else-then语句if-else-then语句的常使用三种形式为:(1) if 逻辑表达式 (3) if 逻辑表达式1 语句体 语句体1end elseif 逻辑表达式2 语句体2(2) if 逻辑表达式1 elseif 逻辑表达式3 语句体1 else else 语句体2 语句体nend end 2) while循环语句while循环的一般使用形式为
11、:while 表达式 语句体end例4:用迭代法计算多项式方程= 0的一个实根。 解:x0=3;r=1;n=0;while r 1e-5 x1=x0; x0=3+5/x1.2; r=abs(x0-x1); n=n+1;end,x0,n运行结果为:x0 = 3.4260n = 94. 分支结构若需要对不同的情形执行不同的操作,可用switch 分支语句:switch 表达式(标量或字符串) case 值1 语句体1 case 值2 语句体2 otherwise 语句体nend说明:当表达式不是“case”所列值时,执行otherwise语句体。5. 建立M文件将多个可执行的系统命令,用文本编辑器
12、编辑后并存放在后缀为 .m 的文件中,若在MATLAB命令窗口中输入该m-文件的文件名(不跟后缀.m!),即可依次执行该文件中的多个命令。这个后缀为.m的文件,也称为Matlab的脚本文件(Script File)。注意:文件存放路径必须在Matlab能搜索的范围内。6. 建立函数文件对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令function,以备用户随时调用。1格式:function 输出变量列表=fun_name(输入变量列表) 用户自定义的函数体2函数文件名为:fun_name,注意:保存时文件名与函数名最好相同;3存储路径:最好在系统的搜索路径上。4. 调用方法:输出参
13、量=fun_name (输入变量)例5:计算s = n!,在文本编辑器中输入:function s=pp(n);s=1;for i=1:n s=s*i;ends;在MATLAB命令窗口中输入:s=pp(5) 结果为: s = 120四 实验内容和步骤(一)验证例题中的操作。(二)完成以下各题,将答案写入实验报告,并在机器上运行结果验证。1编写程序,计算1+3+5+7+(2n+1)的值(用input语句输入n 值)。2编写分段函数 的函数文件,存放于文件ff.m中,并求,的值。3. 编写一个函数文件求三个数的最大值。 4:产生一个随机数,若大于0.5,则把这个数连加,直到刚好超过10为止,求这个
14、数。1n=input(input:)s=0;for i=0:ns=2*i+1+s;end2function y=ff(x)x=input(input x:);if (x=0)&(x=1)&(x=b) if(a=c) y=a; else return endelseif(b=c) y=b; else y=c; endend实验三MATLAB图形操作一 实验目的学会用MATLAB语言绘图二 实验仪器和设备装有MATLAB6.0以上计算机一台三 实验原理 1、 plot 该命令在线性坐标系下绘制y对应于x的轨迹。若其中之一为矩阵则该命令将对应于矩阵的行或者列绘制一簇曲线。该命令也可以在同一坐标轴下绘
15、制多条曲线。例1 运行程序 t=0:1:10; x1=t; plot(x1)可在图形窗口得到下面图形: 例2 x=0:0.5:7; y=sin(x); y1=2*x; y2=3*x; plot(y,x,y1,x,y2,x)从上面的例子可以看出, 如果要在同一坐标轴下绘制多条曲线, 可用如下格式: plot(x1,y1,x2,y2.xn,yn) % 对应于不同矢量时 其中x1,y1.xn,yn是对应的关系。2、 log log 在两个对数(标准对数)坐标间绘制图形。 3、 semilogx 或semilogy 在x轴或y轴为对数坐标, 而另一轴为线性轴的空间绘制图形。4、polar 在极坐标空间
16、绘制图形。5、 grid 在图形中加栅格。6、 subplot (r,c,p) 该命令将屏幕分成r*c个窗口,p表示在第几个窗口. 同时绘制多个图形窗口时,绘图语句间应用逗号分开。 例3 下面的程序产生四个窗口,且分别绘制相应图形. t=0:0.01:2*pi; y=sin(t); x=cos(t); subplot(221),plot(t,y),grid,subplot(222),plot(t,x),grid,subplot(223),polar(t,y),subplot(224),polar(t,x)从上面的程序可以看出,subplot语句中的r,c,p可以不用逗号分开。 上面程序执行后得
17、到如下图形:7、 gtext 该命令用于鼠标定位的文字注释. 执行完绘图命令后再执行gtext(说明文字) 命令, 就可在屏幕上得到一个光标, 然后,用鼠标选择说明文字的位置。例4 t=0:1:10; x1=2*t; x2=0.5*t; plot(x1,t,x2,t); gtext(x=2t); gtext(x=0.5t) 8、 如果需要同时在不同窗口绘制图形, 可用figure语句来完成。 例5 t=0:1:10; x1=2*t; x2=3*t; figure,plot(x1),figure,plot(x2) 9、有关绘图方面的还有: Title 给当前图像加标题。 xlabel 或 yla
18、bel 给x或y轴加标注。 text 在当前图像上指定位置加注释。 等。10、在同一座标系中绘制多个曲线时, 曲线的颜色可以自动确定,也可以自己选择。其使用格式如下:plot(x1,y1,选项1,x2,y2,选项2,xn,yn,选项n)b蓝色m紫红色c青色r红色g绿色w白色k黑色y黄色-实线(默认):点连线-.点画线-虚线.点s正方形+十字号d菱形o圆圈h六角形*星号p五角星x叉号右三角11、三维图形绘制函数plot3函数与plot函数的用法类似。还可以用mesh函数绘制三维网格图;用surf函数绘制三维曲面图。MATLAB提供了丰富的三维绘图函数,可以通过help命令查看。 例6 绘制三维曲
19、线:t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);title(line in 3-D space);xlabel(X) ;ylabel(Y);zlabel(z);grid on运行结果如下:四 实验内容和步骤(一)验证例题中的操作。(二)完成以下各题,将答案写入实验报告,并在机器上运行结果验证。1. 在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5), t0,2 2. 绘制0,4区间上的x=10sint曲线,并要求: (1)线形为点划线、颜色为红色、数据点标记为加号;
20、(2)坐标轴控制:显示范围、刻度线、比例、网络线 (3)标注控制:坐标轴名称、标题、相应文本。 3. 绘制三维圆柱螺线 : ,要求给相应的坐标轴和标题附加标注,螺线为兰色虚线。实验报告格式及要求实验操作是理论联系实际的重要环节,实验报告必须在科学实验的基础上进行,实验报告的撰写是知识系统化的吸收和升华的过程,实验报告应该体现完整性、规范性、正确性、有效性。现将撰写实验报告的有关内容说明如下:1学生所做的所有实验(包括计算机上机)均必须按实验项目撰写实验报告。实验报告必须按学校规定的格式,手工书写。2实验报告包括实验目的;实验设备、仪器及材料、实验内容、实验总结四项内容。实验报告的具体内容与格式
21、应按照实验教学大纲和实验指导书的要求书写。3对旷课达实验课总课时数三分之一及以上,或者抄袭报告、伪造实验数据者,该实验课成绩按0分计。4. 实验内容包括:实验原理及实验步骤(实验工作原理或实验的主要操作过程)和实验过程的记录。注解:理工科实验需记录实验过程中的数据、图表、计算、现象观察等,实验过程中出现的问题;5.实验总结包括:实验结果分析及问题讨论和实验总结心得体会,注解:实验总结的内容需要对实验结果进行分析,并且对实验过程中问题进行讨论;总结实验过程写出心得体会及改进意见。6每个学生每门课程的实验报告单独装订成册,按照封面、实验一、实验二各个实验项目的顺序装订。主要参考文献 詹才浩.CATIA V5应用教程,北京:清华大学出版社