您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > matlab第九讲教案
西南科技大学本科生课程备课教案计算机技术在安全工程中的应用——Matlab入门及应用授课教师:徐中慧班级:专业:安全技术及工程第九章高级绘图课型:新授课教具:多媒体教学设备,matlab教学软件一、目标与要求掌握matlab如何处理三种不同类型的图形文件,使用句柄图形指定绘图的句柄并调整特性,通过matlab两种技术的任意一种创建动画。二、教学重点与难点本堂课教学的重点与难点在于引导学生掌握句柄图形的使用,并掌握matlab创建动画的方法。三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。四、教学内容(1)火箭垂直向上发射。在t=0时火箭发动机关闭,此时火箭的高度为海拔500,速度为125m/s,考虑重力加速度,根据等式29.8()125500,02htttt①创建函数height,以时间为输入变量,火箭的飞行高度为输出变量。利用函数对下面的②和③进行求解。②时间增量为0.5秒,变化范围0到30秒,画出函数height与时间的关系曲线。③计算火箭开始向地面降落的时间(可以使用函数max)。④创建函数height的函数句柄height_handle。⑤以height_handle作为函数fplot的输入参数,画出0到60秒内的函数曲线。⑥用函数fzero求火箭返回地面所用的时间(当火箭返回地面时,函数height的值应该等于0)。fzero是复合函数,可以用函数或函数句柄作为输入参数。调用方法如下:fzero(function_handle,x_guess)函数fzero的两个输入参数分别是函数句柄和函数值接近0时的x的估算值。读者可以根据绘出的曲线选择合理的x_guess值。①functionoutput=height(t)output=-4.9.*t.^2+125.*t+500;②%%twot=0:0.5:30;h=height(t);plot(t,h,'o-r')holdon%%three[a,b]=max(h);t_max=t(b)%%fourheight_handle=@(t)height(t);%%fivefplot(height_handle,[0,60]);%%sixfzero(height_handle,30)(2)①创建匿名函数my_function,计算下式:253xxxe②用函数fplot画出x在-5到+5之间的函数曲线。函数句柄可以作为函数fplot的输入参数。③在此x范围内,用函数fminbnd求函数的最小值。fminbnd是复合函数,其输入参数可以是函数也可以是函数句柄。调用方法如下:fminbnd(function_handle,xmin,xmax)函数fminbnd有三个输入参数:函数句柄、x的最小值和x的最大值。利用该函数求在x的最小值和最大值之间函数的最小值。my_function=@(x)-x.^2-5.*x+exp(x);fplot(my_function,[-5,5]);a=fminbnd(my_function,-5,5)(3)西科大安家费提取利息计算。根据相关规定我国公民个人每月收入超过2000元需缴纳个人所得税。我国个人所得税采用阶梯税率,当月收入越高,所缴税款越多。西科大安家费的提取有多种形式:可以一次性提取,也可以等额多次提取。问题1:编写函数M文件,计算每月定额提取一定数额的安家费所缴纳的税款及提取期限。(假设每月工资收入为4000元)问题2:调用问题1编写的函数M文件,绘制总税款随定额提取金额和总税款随提取期限变化的二维图形问题一①定义主函数M文件;②计算当月应缴税工资部分;③调用子函数计算缴纳的总税款和缴税的总期限;④编写子函数计算每月应缴纳的税款。输入:安家费总金额,每月提取定额输出:缴纳的总税款,缴税期限问题二①建立脚本M文件②调用问题一建立的函数文件,计算总利息和提取期限③计算总利息随每月安家费提取金额变化的二维图形④计算总利息随提取期限变化的二维图形(1)function[tax,duration]=mytax(s,x)Y=4000+x;Y1=Y-2000;ifrem(s,x)==0duration=s./x;tax=(myfunction(Y1)-myfunction(4000)).*duration;elseduration=fix(s./x)+1;b=myfunction(s-x.*(duration-1));tax=myfunction(Y1).*(duration-1)-myfunction(4000).*duration+b;endfunctiontax=myfunction(a)ifa=5000tax=500*0.05+1500*0.1-25+(a-2000)*0.15;elseif5000a=20000tax=500*0.05+1500*0.1+3000*0.15+(a-5000)*0.2;elseif20000a=40000tax=500*0.05+1500*0.1+3000*0.15+15000*0.2+(a-20000)*0.25elsedisp('error')end(2)x=2500:100:40000;[a,b]=mytax(80000,x);subplot(2,1,1)plot(x,a,'-')xlabel('money/permonth')ylabel('tax')gridsubplot(2,1,2)plot(b,a,'-')xlabel('month')ylabel('tax')grid引言工程中常用的基本图形是x-y坐标、极坐标和曲面等图形,常用于商业用途的图形是饼图、条形图和柱状图。Matlab提供了重要的图形控制功能,使人们不仅可以处理图形(如数字照片),还能够创建物理过程的数据和模型的三维表示(曲面图形除外)。图像的相关特性引入。绝大多数的图形图像软件教程都会浅显地介绍一下位图、矢量图、分辨率、像素等基本概念。网上也有很多文章可以查阅了。矢量图矢量图使用线段和曲线描述图像,所以称为矢量,同时图形也包含了色彩和位置信息。例如树叶的矢量图,就是利用大量的点连接成曲线来描述树叶的轮廓线.然后根据轮廓线,在图像内部填充一定的色彩.矢量图更多的用于工程作图中,比如我们用CAD作的图。位图位图就是我们称为像素的一格一格的小点来描述图像.大家的计算机屏幕其实就是一张包含大量像素点的网格.在位图中,上面我们看到的树叶图像将会由每一个网格中的像素点的位置和色彩值来决定.每一点的色彩是固定的,当我们在更高分辨率下观看图像时,每一个小点看上去就像是一个个马赛克色块,像素像素指一幅位图里面最小组成单位,像素不能再被划分为更小的单位。在一般情况下,它是一块正方形,带有颜色、明暗、相对于整个图像的坐标等信息,一定数量的颜色有别的正方形小块排列组合,用以表示一幅点阵图像,也就是位图图像。通过数码相机拍摄、扫描仪扫描或位图软件输出的图像都是位图。分辨率分辨率:像素不可以再被划分为更小的点,但实际上像素是有大有小的。单位面积内容纳的正方形小块的数目,就是一幅图像的分辨率。单位面积内,容纳的像素越多,单个像素也越小,图像质量越高;反之,单位面积内容纳的像素越少,单个像素越大,图像质量越低。为表示方便,图像分辨不用面积来表示,而是用矩形的一边上的单位长度内所容纳的像素数来表示,长度单位一般是英寸,我们常说的印刷图像的分辨率是300,即表示这幅图像一英寸长度(合2.54厘米)内含有300个像素,一平方英寸内则有9万像素。数字图像在计算机上以位图(bitmap)的形式存在,位图是一个矩形点阵,其中每一点称为像素(pixel),像素是数字图像中的基本单位。一幅m×n大小的图像,是由m×n个明暗度不等的像素组成的。数字图像中各个像素所具有的明暗程度由灰度值(graylevel)所标识。灰度是指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0。而由黑到白之间的明暗度均匀地划分为256个等级。故黑白图片也称灰度图像,在医学、图像识别领域有很广泛的用途对于黑白图像,每个像素用一个字节数据来表示,而在彩色图像中,每个像素需用三个字节数据来表述。彩色图像可以分解成红(R)、绿(G)、蓝(B)三个单色图像,任何一种颜色都可以由这三种颜色混合构成。在图像处理中,彩色图像的处理通常是通过对其三个单色图像分别处理而得到的。(1)图像因为Matlab是一个矩阵运算程序,所以它将图像存储为矩阵。在图像存储于矩阵中时,通常从图像的左上角开始,由左向右,自上而下来表示数据。在Matlab中有两个函数采用这种格式显示图像,它们分别是image和imagesc。imshow也常用。在图像存储于矩阵中时,通常从图像的左上角开始,由左向右,自上而下来表示数据。最大正值通常表示红色。最小值通常表示蓝色。Eg:x=[1:99;2:100;3:101];imagesc(x)EG:peaks①图像类型Matlab可以识别三种不同的存储和表示图像的技术:亮度(或灰度)图像。索引图像。RGB(或真彩色)图像。关键概念:两个函数用于显示图像,即imagesc和image。亮度(或灰度)图像利用尺度图像函数(imagesc)可以将山峰函数表示为灰度图像。在这种方法中,图像的色彩取决于色图。对存储于图像矩阵中的数值进行标度,并将其与一幅已知的图相关联。图jetcolormap是默认的方式。当显示的参数与实际色彩不相关时,这种方法具有较好的运行效果。例如:函数peaks通常用于比较山峰和山谷的范围,但是用红色表示海拔高度并不明确,从美学的角度看,这是可以随意选择的。色图也可以提高图像中感兴趣的特征。观察这样一个例子,传统的X光图像是胶片曝光后产生的结果,现如今许多X光图像不再使用胶片,而是被处理为数字图像,并存储在数据文件中。因为X光图像的亮度与颜色无关,所以根据需要可随意对文件进行操作。Matlab中包含一个实例文件,是一张数字化的脊椎X光胶片图像,该图像适用于尺度图像函数显示。下载文件:loadspine该文件包含许多矩阵(查看工作窗口)。灰度矩阵被命名为X(大写),表示为imagesc(x)该函数所产生的图像的颜色取决于当前的colormap,其默认状态为jet。如果使用色图bone,那么这幅图看起来更像是传统的X光图片:colormap(bone)虽然通常把图像数据视为矩阵,但这些数据不一定要用标准的图形格式存储。Matlab中包含一个函数imfinfo,它能够读出标准图形文件的数据,并确定文件中包含的数据类型。命令行为:imfinfo(‘xxx.jpg’)为了从这个图形文件中创建Matlab矩阵,使用图像读取函数imread,并给结果赋予变量名:X=imread(‘mimas.jpg’);imagesc(X)索引图像当图像的颜色很重要时,创建图像的技术称为索引图像。此时,矩阵不再是亮度值的列表。而是颜色的列表。所创建的图像更像是一幅由数字标出各区域颜色的图画。每元素包含一个与颜色对应的数字。颜色列表在另一个称为色图的n×3矩阵中,它定义n种不同的颜色,每种颜色用红、绿、蓝三原色来表示。每一幅图像有自己的定制色图,也可以使用内置的色图。考虑一个内置的有关狒狒的样本图像,利用下面的命令获得:loadmandrill文件包含索引矩阵X和色图map(检查工作窗口确认这些文件已经被下载;图像的名称通常用来对Matlab程序的存储)。函数image用于显示索引图像:image(X)colormap(map)Matlab图像填满整个窗口显示,所以图像看上去有些扭曲。利用命令axis可以强制按正确的比例显示:axisimage函数image和imagesc类似,然而,它们会给出不同的结果。在亮度图像中,色图gray与存储的色彩并不对应。确定被显示图像的文件类型非常重要,这有助于选择最佳的图像显示方式。索引图像通常以GIF图片格式存储。但是,当使用函数imfinfo指定了文件参数后,文件格式就不会是这样。真彩色
本文标题:matlab第九讲教案
链接地址:https://www.777doc.com/doc-2882228 .html