MATLAB 数学实验 实验课件备注3_4
- 格式:doc
- 大小:40.50 KB
- 文档页数:4
MATLAB实验讲义目录实验大纲 (2)实验一/二 MATLAB的基础操作 (3)实验三 MATLAB运算基础(一) (3)实验四 MATLAB运算基础(二) (4)实验五循环结构程序设计(一) (5)实验六循环结构程序设计(二) (5)实验七 MATLAB的绘图操作(一) (6)实验八 MATLAB的绘图操作(二) (7)实验九函数和文件(一) (7)实验十函数和文件(二) (7)实验十一线性代数中的数值计算问题 (8)实验十二 MATLAB函数库的运用(一) (9)实验十三 MATLAB函数库的运用(二) (10)《MATLAB》课程实验教学大纲课程名称:MATLAB(MATLAB)课程编号:16072327课程性质:选修实验总学时:27实验室名称:电子设计自动化一、课程简介:本课程是电气工程及其自动化、自动化、电力工程与管理专业本科生的学科基础选修课,它在线性代数、信号分析和处理、控制系统设计和仿真等方面有着广泛的应用。
主要是学习MATLAB的语法规则、基本命令和使用环境,使学生掌握MATLAB的基本命令和基本程序设计方法,提高使用该语言的应用能力,具有使用MATLAB语言编程和调试的能力,以便为后续多门课程使用该语言奠定必要的基础。
二、课程实验目的与要求:1.基本掌握MATLAB在线帮助功能的使用、熟悉MATLAB运行环境和MATLAB语言的主要特点,掌握MATLAB语言的基本语法规则及基本操作命令的使用,学会M文件的建立和使用方法以及应用MATLAB实现二维和三维图形的绘制方法,具有使用MATLAB语言编程和调试的能力。
2.初步掌握MATLAB在电路和信号与系统中的应用。
3.能根据需要选学参考书,查阅手册,通过独立思考,深入钻研有关问题,学会自己独立分析问题、解决问题,具有一定的创新能力。
三、主要仪器设备及台(套)数:计算机50台、MATLAB软件五、主要参考书目:1.《MATLAB及在电子信息课程中的应用》陈怀琛、杨吉斌编著,电子工业出版社,2002年1版2.《MATLAB7.0编程基础》王家文、王皓、刘海等;机械工业出版社,2005年7月3.《MATLAB教程——基于6.x版本》张志涌、徐彦琴等;北京航空航天大学出版,2001年4月出版实验一/二 MATLAB的基础操作一、实验目的1、掌握MATLAB的启动和退出。
第三次实验《探月卫星速度计算》注记(2009-4-12)中国探月卫星发射的第二天,就实现了卫星变轨技术。
下面文字是新华社的报道“2007年10月25日,北京航天飞行控制中心对嫦娥一号卫星实施首次变轨并获得成功,使卫星的近地点高度由约200公里抬高到了约600公里。
”所谓变轨,就是改变飞行器在太空中的运行轨道。
受运载火箭发射能力的局限,卫星往往不能直接由火箭送入最终运行的空间轨道,而是要在一个椭圆轨道上先行过渡。
在地面跟踪测控网的跟踪测控下,选择合适时机向卫星上的发动机发出点火指令,通过一定的推力改变卫星的运行速度,达到改变卫星运行轨道的目的。
本次实验要完成任务有:所有变轨轨道的长度计算、嫦娥一号卫星运行的平均速度计算和最大速度计算。
PPT前部分内容是介绍轨道计算的数学原理,后部分是指导学生完成实验任务的程序和课堂思考题。
PPT第五页的结果可以做为轨道长度近似计算公式,如果能够和准确计算(符号计算)比较最好。
PPT第六页的程序是做为实验课的一个热身,使用符号计算完成了初始轨道的长度计算和平均速度计算,并计算出了初始轨道上嫦娥卫星的最大速度(达不到第二宇宙速度11.9公里/秒)PPT第十页的程序中红色部分是实验猜测的数据(没有根据,只是为卫星最大速度合理性而进行猜测)。
下面程序增加了四行符号计算语句,符号积分也可以进行数组计算操作,一次性完成五个积分然后转换为数值数据。
与近似计算数据做比较,仅供教师参考。
R=6378;h=[200,600,600,600,600];H=[51000,51000,71000,128000,370000];a=(h+H+2*R)/2;c=(H-h)/2;E2=(c./a).^2;L=2*pi*a.*(1-E2/4-3*E2.^2/64)Times=[16,15.63,23.3,50.5,225]*3600;V0=L./Timessyms e2 tf=sqrt(1-e2*cos(t)^2); %符号表达式ft=subs(f,e2,E2); %变量替换S=int(ft,0,pi/2); %符号积分V=4*a.*double(S)./Times %平均速度符号计算b=sqrt(a.*a-c.*c);S=a.*b.*pi./Times;Vmax=2*S./(R+h)指导学生完成实验报告内容中有:实验结果和对问题的思考(实验总结一定要学生自己写不要教师替代)实验结论应该是最大速度在变轨中逐步提高到第二宇宙速度,使卫星能够进入地月转移轨道。
《数学实验》3、4备课注记第一章III(余下部分)内容不足以用两小时上课,将这一部分与第二章I的内容合在一起完成第四和第五周数学实验课堂教学。
第一章III:数据显示格式、字符串、图形文件输出(宝石切割内容给学生自学)。
一、数据显示格式科技文献常使用浮点数形式表示实数,浮点数由两部分组成,即尾数部和阶码部。
将一个数的小数点向左移动至数的左第一位,形成尾数部分;同时将移动的位数做为10的阶码,形成阶码部。
浮点数的最大优点是用阶码部使一个数的数量级一目了然。
对于MA TLAB系统,需要熟悉两种最基本的数据显示格式,即短格式和长格式。
短格式只显示十进数到小数点后四位,长格式则显示十进数到小数点后十四位。
其它的格式只需要用时再作了解。
6.378137×103,2.99792458×105是两个常用的常数(以公里为单位的地球长半轴和以公里/秒为单位的光速),由阶码知第一个数的第一位是千,第二数的第一位是十万。
在MA TLAB系统中10的阶码用e后跟一个整数表示,地球半径和光速分别表示为6.378137 e +004、2.99792458e +005例题1.24计算地球表面积,我们有这一常识:地球表面积大约5亿平方公里。
Eps 在MA TLAB的英文帮助信息中解释为1到最接近1且大于1的浮点数的间距。
VPA显示格式可以用尽可能多的十进制位显示数据。
立方倍积问题是古希腊三大几何难题之一,在编程练习中用该问题做误差估计实验。
这是神向古代人类的智力提出的挑战。
无论用多少位十进制数都无法精确。
二、字符串变量的操作字符串变量不同于数值变量,但数值变量一样不用定义,直接赋值就行。
但字符串以数组方式存放,一个字符就是一个数组中的元素。
两个关于字符串操作的命令:strcat()和int2str()在两个例子中要用到,用于实现字符串的输出操作很方便。
两个例子中例1.27生肖问题比较有意思,12生肖系列为“鼠牛虎兔龙蛇马羊猴鸡狗猪”。
用年份除以12的余数做12生肖系列中的定位肯定不对,如果某一年的年份除12的余数为0,就无法定位。
2009是牛年(在生肖系列中是第二位),用2009除12 的余数5,将错误定位到龙年。
定位计算方法需修正为(年份– 4 )求12的余数后加1。
改用2009 – 4 =2005除12 的余数为2,就得到正确定位。
课堂上在MA TLAB系统中运行程序演示,修改输入数据,观察,增加学生兴趣。
演示程序时注意,程序拷贝到MA TLAB的程序编辑窗口中,存盘并运行。
如果有错,可能是因为有中文字符引起的错,将引号或逗号换为英文字符就可以了。
还可以向学生提问关于星座的知识,学生应该有人知道。
关于字符串操作的例题有很多,最后的练习题中有农历年的计算问题,与生肖问题类似。
下面农历年问题程序仅供老师参考,用于对学生的程序设计指导。
如果用于课堂教学,效果可能不如生肖问题。
year=input('input year:=');S1='辛壬癸甲乙丙丁戊己庚'S2='酉戍亥子丑寅卯辰巳午未申'; %创建字符串数组k1=mod(year,10); %年份除10的余数if k1==0,k1=10;ends1=S1(k1); %准确定位k2=mod(year,12);if k2==0,k2=12;ends2=S2(k2)results=strcat(int2str(year),'年是', s1,s2,'年')三、图形文件输出图像文件输出可以直接在图形窗口操作.将MA TLAB 图形窗口的图形以文件形式输出(生成数码照片)。
请注意机房现在安装的MA TLAB 是7.1版本,与讲义中有区别。
在下拉菜单中选择“Export ”是6.5版本操作,MA TLAB 的高版本中应选择“Save As ”。
例题复变函数图是一个斜放的圆盘,讲义封面的图形给学生自学。
第二章I :表达式和运算符、命令文件、程序设计中的流程控制MA TLAB 本身是一种交互式语言,它的程序实际上是将命令或表达式语句编排到一起可进行批处理的文件。
通常说的计算机程序是指令的有序集合,程序设计是一种目标明确的智力活动,是包括设计、编制、调试的一个过程。
所以要在命令窗口和程序编辑窗口之间多次切换。
在程序设计教学中,普遍认为案例方法是较为成功的一种方法,对典型案例的学习比对程序语言语法的记忆更具体或更直接。
一、表达式和运算符球坐标变换是用了经纬度表示法,与微积分中球坐标略为不同(经纬度变化的区间在数学教科书中取为从0开始,与东经西经,北纬南纬不一致)。
例题2.2中表达式实现对数据的逐步处理,以大地经纬度转换为空间直角坐标系数据为例,介绍球坐标的数学原理(空间点在各坐标轴上的投影),获得直角坐标数据是手段。
目的是获取向量间夹角(弧度制)。
算术运算符号主要用于数学表达式构造,关系运算符号主要用于条件表达式构造,条件表达式的结果是逻辑值,所以逻辑运算符号也可用于对条件表达式的复合。
在一个表达式中,各种运算的优先级别必须要搞清楚(考试必考),否则程序设计要出错,得不到正确的数据结果。
将运算分为四类:函数运算、算术运算、关系运算、逻辑运算每一类运算中还有优先级别。
三角形三边之和的关系运算是非常典型的条件表达式。
二、命令文件 例题2.1的教学作用是示范一个程序文件的录入→保存→运行过程。
例题2.1是球冠面积计算公式的应用,假设地球是半径为R=6400(km )的球,这样人造卫星的信号对地球表面的覆盖面积就是球冠面积,但不可以直接应用球冠面积公式。
必须用卫星高程d 来计算出球冠的高度h 。
这里的d=10000(km)是一般卫星的高程。
这两个变量的关系可以做为思考题给学生。
以下推导供参考。
将地球设为球体,以球心为原点建立直角坐标系,此时,有d R R +=αcos 所以,球冠的高度d R R R R R h +-=-=2cos α 故dR Rd h += 代入球冠面积公式即得dR d R S +=22π 例题2.3的教学目的是利用矩阵描述四边形柱面的数据,用mesh 绘图时由于矩阵只有两行,网面成为最简形式。
如果使用MA TLAB 的柱面命令,取四个点半径为1也可以形成四边形柱面图,而命令[x,y,z]=cylinder([1,1],4)可提取数如下x =1.0000 0.0000 -1.0000 -0.0000 1.00001.0000 0.0000 -1.0000 -0.0000 1.0000y =0 1.0000 0.0000 -1.0000 00 1.0000 0.0000 -1.0000 0z =0 0 0 0 01 1 1 1 1这样可以快速创建柱面。
例题2.7中角度计算公式结合了向量内积的计算公式和向量内积的几何意义所导出。
即2121212121cos ||||z z y y x x op op op op ++=⋅=⋅α 而221||||R op op =⋅。
以上三个例题作为顺序结构的程序例子。
顺序结构是程序三种结构之一。
另外两种分别是分支结构和循环结构。
注意:程序文件名不可以用数字,也不可以用中文符号;要纠正学生将程序编辑器中内容粘贴到命令窗口的不良习惯;程序文件中每一个变量都会在运行结束后保存在内存中(用who 命令可以看到)。
三、程序设计中的流程控制前面已经介绍顺序结构程序例子不用重复,循环结构和分支结构用于程序设计中的流程控制。
即条件控制和循环控制。
条件控制——使程序有条件的去运行某一个程序块,有条件语句,分支语句,多分支语句。
循环控制——有条件的重复运行同一个程序块。
有条件控制的循环语句,数控制的循环语句两类(即for-end 语句和while-end 语句)。
程序运行时,每运行一次程序块(循环体),控制变量会改变,从而循环条件也会发生改变,当不满足循环控制的条件时,循环将结束。
例题2.8判润年程序,输出数据是字符串,也可以输出数据是逻辑值,以逻辑值为输出,当逻辑值为真。
这样可以编写为一个子程序(函数)用于多次调用。
是典型的条件语句应用题。
其中有简单的数学原理,因为润年是处理历法中数据不精确的手段,400年需要有97个润年,才与天体运行相合。
如果四年一润就会有100个润年,去掉四个百年中的三个百年保留第四个百年就刚好是97个润年了。
所以就有了本题中的两个润年判别原则。
例题2.10,比较简单,裴波拉奇数列的递推实现介绍数控制的循环语句,这种语句在数值计算中使用很频繁。
例题2.11是正交变换的应用。
将正方形逆时针旋转θ 角度并嵌套,需要旋转和压缩操作。
外正方形的对角线半长为R 1,内正方形的对角线半长为R 2,R 2/R 1的压缩系数用如下公式计算θθsin cos 1+=r例题2.12请各位老师自行处理,是细讲还是粗讲或不讲(建议演示而不细讲)。
教学难点不是帧动画,而是第二条语句应用。
语句[x,y,z]=cylinder([1,0],3)产生的数据如下x =1.0000 -0.5000 -0.5000 1.00000 0 0 0y =0 0.8660 -0.8660 00 0 0 0z =0 0 0 01 1 1 1例题2.14是比较经典的算法实现程序。
最后对流程控制中的错误控制和结束控制,引导学生用帮助命令获取更多信息。
例题2.6是使用break 中断循环的例子例题2.7是使用error 中断循环的例子最后的立方倍积实验是介绍让小数点浮动的技术实现。
目的是提取误差。