Matlab软件与数学建模讲义

返回 举报
资源描述
Matlab软件与数学建模 数学建模与Matlab软件部分 专题1:数学建模简介 一、关于数学建模 1.名词解释 (1)什么是数学模型? 数学模型是对于现实世界的一个特定对象,一个特定目的,根据特有的内在规律,做出一些必要的假设,运用适当的数学工具,得到一个数学结构. 简单地说:就是系统的某种特征的本质的数学表达式(或是用数学术语对部分现实世界的描述),即用数学式子(如函数、图形、代数方程、微分方程、积分方程、差分方程等)来描述(表述、模拟)所研究的客观对象或系统在某一方面的存在规律. (2)什么是数学建模? 数学建模是利用数学方法解决实际问题的一种实践.即通过抽象、简化、假设、引进变量等处理过程后,将实际问题用数学方式表达,建立起数学模型,然后运用先进的数学方法及计算机技术进行求解. 观点:“所谓高科技就是一种数学技术” n 数学建模其实并不是什么新东西,可以说有了数学并需要用数学去解决实际问题,就一定要用数学的语言、方法去近似地刻画该实际问题,这种刻划的数学表述的就是一个数学模型,其过程就是数学建模的过程.数学模型一经提出,就要用一定的技术手段(计算、证明等)来求解并验证,其中大量的计算往往是必不可少的,高性能的计算机的出现使数学建模这一方法如虎添翼似的得到了飞速的发展,掀起一个高潮. n 数学建模将各种知识综合应用于解决实际问题中,是培养和提高同学们应用所学知识分析问题、解决问题的能力的必备手段之一. 2、数学建模的一般方法和步骤 建立数学模型的方法和步骤并没有一定的模式,但一个理想的模型应能反映系统的全部重要特征: 模型的可靠性和模型的使用性 建模的一般方法: ◆ 机理分析 ◆ 测试分析方法 机理分析:根据对现实对象特性的认识,分析其因果关系,找出反映内部机理的规律,所建立的模型常有明确的物理或现实意义. 测试分析方法:将研究对象视为一个“黑箱”系统,内部机理无法直接寻求,通过测量系统的输入输出数据,并以此为基础运用统计分析方法,按照事先确定的准则在某一类模型中选出一个数据拟合得最好的模型. 测试分析方法也叫做系统辩识. 将这两种方法结合起来使用,即用机理分析方法建立模型的结构,用系统测试方法来确定模型的参数,也是常用的建模方法. 3.数学模型及其分类 数学模型的分类: ◆ 按研究方法和对象的数学特征分:初等模型、几何模型、优化模型、微分方程模型、统计模型、图论模型、逻辑模型、稳定性模型、扩散模型等. ◆ 按研究对象的实际领域(或所属学科)分:人口模型、交通模型、环境模型、生态模型、生理模型、城镇规划模型、水资源模型、污染模型、经济模型、社会模型等. 4、历年数学建模竞赛题目 1992 A题 施肥效果分析 1992 B题 实验数据分解 1993 A题 非线性交调的频率设计 1993 B题 足球队排名次 1994 A题 逢山开路 1994 B题 锁具装箱 1995 A题 一个飞行管理问题 1995 B题 天车与冶炼炉的作业调度 1996 A题 最优捕鱼策略 1996 B题 节水洗衣机 1997 A题 零件的参数设计 1997 B题 截断切割 1998 A题 投资的收益和风险 1998 B题 灾情的巡视路线 1999 A题 自动化车床管理投资的收益和风险 1999 B题 钻井布局 1999 C题 煤矸石堆积 1999 D题 钻井布局 2000 A题 DNA序列分类 2000 B题 钢管订购和运输 2000C 题 飞越北极 2000 D题 空洞探测 2001 A题 血管的三维重建 2001 B题 公交车调度 2001 C题 基金使用计划 2001 D题 公交车调度 2002 A题 车灯线光源的优化设计 2002 B题 彩票中的数学 2002 C题 车灯线光源的计算 2002 D题 赛程安排 2003 A题 SARS的传播 2003 B题 露天矿生产的车辆调度 2003 C题 SARS的传播 2003 D题 抢渡长江 2004 A题 奥运会临时超市网点设计 2004 B题 电力市场的输电阻塞管理 2004 C题 饮酒驾车 2004 D题 公务员招聘 2005 A题 长江水质的评价和预测 2005 B题 DVD在线租赁 2005 C题 雨量预报方法的评价 2005 D题 DVD在线租赁 2006 A题 出版社的资源配置 2006 B题 艾滋病疗法的评价及疗效的预测 2006 C题 易拉罐形状和尺寸的最优设计 2006 D题 煤矿瓦斯和煤尘的监测与控制 2007 A题 中国人口增长预测 2007 B题 乘公交,看奥运 2007 C题 手机“套餐”优惠几何 2007 D题 体能测试时间安排 2008 A题 数码相机定位 2008 B题 高等教育学费标准探讨 2008 C题 地面搜索 2008 D题 NBA赛程的分析与评价 2009 A题 制动器试验台的控制方法分析 2009 B题 眼科病房的合理安排 2009 C题 卫星和飞船的跟踪测控 2009 D题 会议筹备 2010 A题 储油罐的变位识别与罐容表标定 2010 B题 2010年上海世博会影响力的定量评估 2010 C题 输油管的布置 2010 D题 对学生宿舍设计方案的评价 2011年   (A)城市表层土壤重金属污染分析   (B)交巡警服务平台的设置与调度   (C)企业退休职工养老金制度的改革 (D)天然肠衣搭配问题 2012年 (A)葡萄酒的评价 (B)太阳能小屋的设计 (C)脑卒中发病环境因素分析及干预 (D)机器人避障问题 二、数学建模实例 A、人口预报问题 1.问题 人口问题是当前世界上人们最关心的问题之一.认识人口数量的变化规律,作出较准确的预报,是有效控制人口增长的前提.下面介绍两个最基本的人口模型,并利用表1给出的近两百年的美国人口统计数据,对模型做出检验,最后用它预报2000年、2010年美国人口. 表1 美国人口统计数据 年(公元) 人口(百万) 1790 3.9 1800 5.3 1810 7.2 1820 9.6 1830 12.9 1840 17.1 1850 23.2 年(公元) 人口(百万) 1860 31.4 1870 38.6 1880 50.2 1890 62.9 1900 76.0 1910 92.0 1920 106.5 年(公元) 人口(百万) 1930 123.2 1940 131.7 1950 150.7 1960 179.3 1970 204.0 1980 226.5 1990 251.4 2.指数增长模型(马尔萨斯人口模型) 此模型由英国人口学家马尔萨斯(Malthus1766—1834)于1798年提出. [1] 假设:人口增长率是常数(或单位时间内人口的增长量与当时的人口成正比). [2] 建立模型: 记时刻t=0时人口数为x0, 时刻t的人口为,由于量大,可视为连续、可微函数.t到时间内人口的增量为: 于是满足微分方程: (1) [3] 模型求解: 解微分方程(1)得 (2) 表明:时,(>0). [4] 模型的参数估计: 要用模型的结果(2)来预报人口,必须对其中的参数r进行估计,这可以用表1-1的数据通过拟合得到.拟合的具体方法见本书第16章或第18章. 通过表中1790—1980的数据拟合得: =0.307. [5] 模型检验: 将x0=3.9,=0.307 代入公式(2),求出用指数增长模型预测的1810—1920的人口数,见表2. 表2 美国实际人口与按指数增长模型计算的人口比较 年 (公元) 实际人口 (百万) 指数增长模型 预测人口(百万) 误差(%) 1790 3.9 1800 5.3 1810 7.2 7.3 1.4 1820 9.6 10.0 4.2 1830 12.9 13.7 6.2 1840 17.1 18.7 9.4 1850 23.2 25.6 10.3 1860 31.4 35.0 10.8 1870 38.6 47.8 23.8 1880 50.2 65.5 30.5 1890 62.9 89.6 42.4 1900 76.0 122.5 61.2 1910 92.0 167.6 82.1 1920 106.5 229.3 115.3 从表2可看出,1810—1870间的预测人口数与实际人口数吻合较好,但1880年以后的误差越来越大. 分析原因,该模型的结果说明人口将以指数规律无限增长.而事实上,随着人口的增加,自然资源、环境条件等因素对人口增长的限制作用越来越显著.如果当人口较少时人口的自然增长率可以看作常数的话,那么当人口增加到一定数量以后,这个增长率就要随着人口增加而减少.于是应该对指数增长模型关于人口净增长率是常数的假设进行修改.下面的模型是在修改的模型中著名的一个. 3. 阻滞增长模型(logistic模型) [1]假设: (a)人口增长率为人口的函数(减函数),最简单假定(线性函数),叫做固有增长率. (b)自然资源和环境条件年容纳的最大人口容量. [2]建立模型: 当 时,增长率应为0,即=0,于是,代入得: (3) 将(3)式代入(1)得: 模型: (4) [3] 模型的求解: 解方程组(4)得 (5) 根据方程(4)作出 曲线图,见图1,由该图可看出人口增长率随人口数的变化规律.根据结果(5)作出x-t曲线,见图2,由该图可看出人口数随时间的变化规律. O x 图1 曲线图 x t O 图2 x-t曲线图 [4] 模型的参数估计: 利用表1中1790—1980的数据对和拟合得:=0.2072, =464. [5] 模型检验: 将=0.2072, =464代入公式(5),求出用指数增长模型预测的1800—1990的人口数,见表3第3、4列. 也可将方程(4)离散化,得 t=0,1,2,…, (6) 用公式(6)预测1800—1990的人口数,结果见表3第5、6列. 表3 美国实际人口与按阻滞增长模型计算的人口比较 年 实际 人口 (百万) 阻滞增长模型 公式(5) 公式(6) 预测人口(百万) 误差(%) 预测人口(百万) 误差(%) 1790 3.9 1800 5.3 5.9025 0.1137 3.9000 0.2642 1810 7.2 7.2614 0.0085 6.5074 0.0962 1820 9.6 8.9332 0.0695 8.6810 0.0957 1830 12.9 10.9899 0.1481 11.4153 0.1151 1840 17.1 13.5201 0.2094 15.1232 0.1156 1850 23.2 16.6328 0.2831 19.8197 0.1457 1860 31.4 20.4621 0.3483 26.5228 0.1553 1870 38.6 25.1731 0.3478 35.4528 0.0815 1880 50.2 30.9687 0.3831 43.5329 0.1328 1890 62.9 38.0986 0.3943 56.1884 0.1067 1900 76.0 46.8699 0.3833 70.1459 0.0770 1910 92.0 57.6607 0.3733 84.7305 0.0790 1920 106.5 70.9359 0.3339 102.4626 0.0379 1930 123.2 87.2674 0.2917 118.9509 0.0345 1940 131.7 107.3588 0.1848 137.8810 0.0469 1950 150.7 132.0759 0.1236 148.7978 0.0126 1960 179.3 162.4835 0.0938 170.2765 0.0503 1970 204.0 199.8919 0.0201 201.1772 0.0138 1980 226.5 245.9127 0.0857 227.5748 0.0047 1990 251.4 302.5288 0.2034 250.4488 0.0038 [6] 模型应用: 现应用该模型预测人口.用表1中1790—1990年的全部数据重新估计参数,可得=0.2083, =457.6. 用公式(6)作预测得: x(2000)=275; x(2010)=297.9. 也可用公式(5)进行预测. B、椅子能在不平的地面上放稳吗? 把椅子往不平的地面上一放,通常只有三只脚着地,放不稳,然而只要稍挪动几次,就可以四脚着地,放稳了.下面用数学语言证明. 一、 模型假设 对椅子和地面都要作一些必要的假设: 1. 椅子四条腿一样长,椅脚与地面接触可视为一个点,四脚的连线呈正方形. 2. 地面高度是连续变化的,沿任何方向都不会出现间断(没有像台阶那样的情况),即地面可视为数学上的连续曲面. 3. 对于椅脚的间距和椅脚的长度而言,地面是相对平坦的,使椅子在任何位置至少有三只脚同时着地. B C A x D 二、模型建立 中心问题是数学语言表示四只脚同时着地的条件、结论. 首先用变量表示椅子的位置,由于椅脚的连线呈正方形,以中心为对称点,正方形绕中心的旋转正好代表了椅子的位置的改变,于是可以用旋转角度这一变量来表示椅子的位置. 其次要把椅脚着地用数学符号表示出来,如果用某个变量表示椅脚与地面的竖直距离,当这个距离为0时,表示椅脚着地了.椅子要挪动位置说明这个距离是位置变量的函数. 由于正方形的中心对称性,只要设两个距离函数就行了,记A、C两脚与地面距离之和为,B、D两脚与地面距离之和为,显然、,由假设2知f、g都是连续函数,再由假设3知、至少有一个为0.当时,不妨设,这样改变椅子的位置使四只脚同时着地,就归结为如下命题: 命题 已知、是的连续函数,对任意,*=0,且,则存在,使. 三、模型求解 将椅子旋转,对角线AC和BD互换,由可知.令,则,由f、g的连续性知h也是连续函数,由零点定理,必存在使,,由,所以. 四、评 注 模型巧妙在于用一元变量表示椅子的位置,用的两个函数表示椅子四脚与地面的距离.利用正方形的中心对称性及旋转并不是本质的,同学们可以考虑四脚呈长方形的情形. C、双层玻璃的功效 北方城镇的有些建筑物的窗户是双层的,即窗户上装两层厚度为的玻璃夹着一层厚度为的空气,如左图所示,据说这样做是为了保暖,即减少室内向室外的热量流失. 我们要建立一个模型来描述热量通过窗户的热传导(即流失)过程,并将双层玻璃窗与用同样多材料做成的单层玻璃窗(如右图,玻璃厚度为)的热量传导进行对比,对双层玻璃窗能够减少多少热量损失给出定量分析结果. 一、 模型假设 1. 热量的传播过程只有传导,没有对流.即假定窗户的密封性能很好,两层玻璃之间的空气是不流动的; 2. 室内温度和室外温度保持不变,热传导过程已处于稳定状态,即沿热传导方向,单位时间通过单位面积的热量是常数; 3. 玻璃材料均匀,热传导系数是常数. 二、 符号说明 ——室内温度 ——室外温度 ——单层玻璃厚度 ——两层玻璃之间的空气厚度 ——内层玻璃的外侧温度 ——外层玻璃的内侧温度 ——热传导系数 ——热量损失 三、 模型建立与求解 由物理学知道,在上述假设下,热传导过程遵从下面的物理规律: 厚度为的均匀介质,两侧温度差为,则单位时间由温度高的一侧向温度低的一侧通过单位面积的热量为,与成正比,与成反比,即 (1) 其中为热传导系数. 1. 双层玻璃的热量流失 记双层窗内窗玻璃的外侧温度为,外层玻璃的内侧温度为,玻璃的热传导系数为,空气的热传导系数为,由(1)式单位时间单位面积的热量传导(热量流失)为: (2) 由及可得 再代入就将(2)中、消去,变形可得: (3) 2. 单层玻璃的热量流失 对于厚度为的单层玻璃窗户,容易写出热量流失为: (4) 3. 单层玻璃窗和双层玻璃窗热量流失比较 比较(3)(4)有: (5) 显然,. 为了获得更具体的结果,我们需要的数据,从有关资料可知,不流通、干燥空气的热传导系数(J/cm.s.C),常用玻璃的热传导系数(J/cm.s.C),于是 在分析双层玻璃窗比单层玻璃窗可减少多少热量损失时,我们作最保守的估计,即取,由(3)(5)可得: (6) 4. 模型讨论 比值反映了双层玻璃窗在减少热量损失上的功效,它只与有关,下图给出了的曲线,当由0增加时,迅速下降,而当超过一定值(比如)后下降缓慢,可见不宜选得过大. 四、模型的应用 这个模型具有一定的应用价值.制作双层玻璃窗虽然工艺复杂会增加一些费用,但它减少的热量损失却是相当可观的.通常,建筑规范要求.按照这个模型,,即双层玻璃窗比用同样多的玻璃材料制成的单层窗节约热量97%左右.不难发现,之所以有如此高的功效主要是由于层间空气的极低的热传导系数,而这要求空气是干燥、不流通的.作为模型假设的这个条件在实际环境下当然不可能完全满足,所以实际上双层玻璃窗的功效会比上述结果差一些. 三、怎样撰写数学建模的论文 四、 论文检索及其他 信息来源: 1、传统资源.图书馆纸质书籍期刊。 2、网络资源。 数据库:中国期刊网,超星,书生之家 (图书馆首页-->数据库导航) 搜索引擎:google学术、google图书(google搜索技巧 ) 新浪共享资料、豆丁网 百度文库、CSDN、人大经济论坛 各大高校BBS论坛、FTP资源 数学中国论坛 国家统计局 维基百科(英文版) 信息检索技术: 1、利用搜索引擎,关键词搜索 2、数据库中,利用题名、摘要、作者等分类搜索 3、从参考文献入手 4、从维基百科(英文版)词条的reference入手 5、从在该领域有名的教授的论文入手 建模网站推荐: • -竞赛) • (中国数学建模网) • 数学中国(数学建模交流社区) • (用关键字数学建模或者数学建模竞赛搜索) • 百度百科 参考书籍 • 1.《数学建模与数学实验》第三版 赵静等编 (有电子版) • 2.《数学模型》第三版 姜启源等(有电子版) • 3.其他建模书籍 专题2:Matlab软件基本使用 第一节:数学软件与Matlab简介 一、 数学软件概述 数学建模的过程告诉我们建立一个较理想的数学模型需要必要的数学理论,高度的洞察力,过硬的分析能力和大量的经验积累。但在模型求解,分析与验证过程中则更需要一个计算能力相当强的工具——数学软件。 数学软件(或数学软件包)是一种处理数学问题的应用软件,出现在20世纪70年代,这些软件是由标准算法程序发展而来的,具有较强的图形学功能,成为用计算机解决科学技术各领域中所提出的数学问题的手段和工具. 数学软件列表: 1、Matlab、 Maple、 Mathmatica、MathCad 2、Lindo与Lingo (优化软件) 3、SAS与SPSS (统计软件) 数学建模(matlab-数值计算,Lingo优化,spss统计) 二、Matlab简介 它是一种功能强大的科学计算软件(数值计算、符号运算、图形处理等)。 Matlab——Matrix Laboratory, 该语言是美国New Mexico大 学计算机系主任Cleve Moler在70年代后期首先设计的. 并于80年代初开发了 第二代专业版. 1984年, Cleve Moler和John Litter成立了Math works公司, 并开始把Matlab推向市场. (迈斯沃克公司) 1、MATLAB发展历史时间表 70s后期 MATLAB(MATrix和LABoratory)-FORTRAN 语言 -美国新墨西哥大学计算机科学系主任 Cleve-Moler教授 1984 MathWorks公司(Little、Moler、Steve Bangert ) 推向市场-C语言 1993 第一个windows版本问世 (1993年MathWorks公司从加拿大滑铁卢大学购得Maple的使用权,以Maple为“引擎” 开发了Symbolic Math Toolbox 1.0。MathWorks公司此举加快结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。) 2001 MATLAB 6.1 2002 MATLAB 6.5 2005 MATLAB 7.1 2009 MATLAB 7.8/7.9 2010 MATLAB 7.10/7.11 2011 MATLAB 7.12/7.13 2012 MATLAB 7.14/8.0 2013 MATLAB 8.1 2、MATLAB语言特点 n 功能强大(数值计算、符号运算、图形处理) 矩阵变换及运算、多项式运算、微积分运算、线性与非线性方程求 解、常(偏)微分方程求解、插值与拟合、统计与优化等问题 n 语言简单 它允许用户以数学形式的语言编写程序,比B、C、F等更接近书写计算 公式的思维方式.用C,C++编写,程序流控制语句与C较接近. n 扩充能力强,可开发性强 完全的开放系统、直接查看函数源程序.也可创建自己的库.也与C、F语 言及maple软件有接口. n 编程易、效率高 不需编译 3、 MATLAB应用领域 目前,Matlab 已经成为国际上最流行的科学与工程计算的软件 工具,它已经不仅仅是一个“矩阵实验室”了,而成为了一种具有广泛应用前景的全新的计算机高级编程语言,有人称它为“第四代”计算机语言。 就影响而言,至今仍然没有一个别的计算软件可与 Matlab 匹敌。 在欧美各高等院校,Matlab已经成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。 4、 应用工具箱 基本部分和各种可选的工具箱。 1) 基本部分中有数百个内部函数。 2) 其工具箱分为两大类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。学科性工具箱专业性比较强,如控制系统工具箱、信号处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱等,用户可以直接利用这些工具箱进行相关领域的科学研究。 可做工作列表: n ● 数值分析 n   ● 数值和符号计算 n   ● 工程与科学绘图 n   ● 控制系统的设计与仿真 n   ● 数字图像处理 技术 n   ● 数字信号处理 技术 n   ● 通讯系统设计与仿真 n   ● 财务与金融工程 常用的工具箱: Matlab Main Toolbox——matlab主工具箱   Control System Toolbox——控制系统工具箱   Communication Toolbox——通讯工具箱   Financial Toolbox——财政金融工具箱   System Identification Toolbox——系统辨识工具箱   Fuzzy Logic Toolbox——模糊逻辑工具箱   Higher-Order Spectral Analysis Toolbox——高阶谱分析工具箱   Image Processing Toolbox——图象处理工具箱   LMI Control Toolbox——线性矩阵不等式工具箱   Model predictive Control Toolbox——模型预测控制工具箱    μ-Analysis and Synthesis Toolbox——μ分析工具箱   Neural Network Toolbox——神经网络工具箱   Optimization Toolbox——优化工具箱   Partial Differential Toolbox——偏微分方程工具箱   Robust Control Toolbox——鲁棒控制工具箱   Signal Processing Toolbox——信号处理工具箱   Spline Toolbox——样条工具箱   Statistics Toolbox——统计工具箱   Symbolic Math Toolbox——符号数学工具箱   Simulink Toolbox——动态仿真工具箱   Wavele Toolbox——小波工具箱 5、 进入与工作界面 当你计算机中成功地安装了Matlab6.5版后,在window桌面上就会出现matlab6.5图标。双击就可进入matlab的界面。 n 5个窗口、10个按钮控件、6个下拉式菜单 n 1)、主窗口 不能进行任何计划任务操作,只用来进行一些整体环境参数的设置; n 2)、命令窗口(Command window)用户的主要工作平台,所有指令都在该窗口输入; n 3)、历史窗口(Command History)自安装之日起所有使用过的命令均记录在此; n 4)、当前目录窗口(Current Directory)显示或修改当前目录; n 5)、发行说明书窗口(Launch pad)说明用户所拥有的Mathworks公司产品的工具包、演示及帮助信息;(6.5版本没有) n 6)、工作间管理窗口(Workspace)显示目前内存中存放的所有变量,这些变量均可通过数据文件(.mat)存盘. n 6、 Maltab的运行方式 Matlab提供了两种运行方式:命令行方式和M文件方式。 命令行运行方式通过直接在命令窗口中输入命令行来实现计算或作图功能,但这种方式在处理比较复杂的问题和大量数据时相当困难。 而M文件运行方式则先在一个以m为扩展名的M文件中输入一系列数据和命令,然后让Matlab执行这些命令。Matlab的M文件有两种类型:脚本M文件和函数M文件。 一个比较复杂的程序常常要作反复的调试,这时可以建立一个脚本M文件并将其储存起来,以便随时调用计算。脚本M文件就是命令的简单叠加。建立M文件的方法是:在Matlab窗口中单击File菜单,然后依次选择New—M file,打开M文件编辑窗口,在该窗口中输入程序文件,再以m为扩展名储存。要运行该M文件,只需在M文件编辑窗口的Debug菜单中选择Run即可。 7、 初识Matlab • 例1-1 绘制正弦曲线和余弦曲线。 x=[0:0.5:360]*pi/180; plot(x,sin(x),x,cos(x)); • 例1-2 求方程 3x4+7x3 +9x2-23=0的全部根。 p=[3,7,9,0,-23]; %建立多项式系数向量 x=roots(p) %求根 例1-3 求积分 quad(x.*log(1+x),0,1) • 例1-4 求解线性方程组。 a=[2,-3,1;8,3,2;45,1,-9]; b=[4;2;17]; x=inv(a)*b • 例1-5:幻方(n阶幻方,由1…n^2) • Matlab实现: magic(3) • 例1-6 :模拟掷骰子9000次,来验证大数定律. • for n=1:9000 • x(n)=1+floor(6*rand(1)); • end • x; • for i=1:6 • f(i)=length(find(x==i)); • pc(i)=length(find(x==i))/9000-1/6; • end • f • pc 8、 Matlab软件学习 n 要掌握更多的内容需要自学,help 在线帮助系统(demos-图形演示),可十分方便地在线学习Matlab的各种函数的内涵及其用法,但这需要顽强的毅力。 n 带着问题去学(从问题出发、解决你的问题) n 软件是相通的(标准Windows界面、详细的帮助系统、 快捷键) 多“折腾”(连蒙带猜地试探,找门路) 动手、动眼、动脑 数学课程学习抽象性与理论性,而数学软件的学习是实用性和实践性 • 远程帮助系统 在MathWorks公司的主页()上可以找到很多有用的信息,国内的一些网站也有丰富的信息资源。 • demo intro 在线演示、入门演示 • doc+命令 在线帮助 • open+命令 打开源程序 • help+命令 源程序部分注释 • funtool 图形计算器 • lookfor 利用lookfor指令,它可以从你键入的关键字(key-word)(即使这个关键字并不是MATLAB的指令)列出 所有相关的题材,例如lookfor cosine, lookfor sine • help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。 lookfor命令只对M文件的第一行进行关键字搜索。若在lookfor命令加上-all选项,则可对M文件进行全文搜索。 • 模糊查询 MATLAB 6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。 • 让我们一起进入Matlab具体内容的学习。 • Let’s go! 第二节:matlab矩阵及基本运算 MATLAB建立在向量、数组和矩阵的基础上,使用方便,人机界面直观,输出结果可视化. 矩阵是MATLAB的核心. 特殊变量表 特殊变量 取 值 ans 用于结果的缺省变量名 pi 圆周率 eps 计算机的最小数,和1相加时产生一个比1大的数 flops 浮点运算数 inf 无穷大,如1/0 NaN 不定量,如0/0 i,j i=j= nargin 所用函数的输入变量数目 nargout 所用函数的输出变量数目 realmin 最小可用正实数 realmax 最大可用正实数 2. 数学运算符号及标点符号 + 加法运算,适用于两个数或两个同阶矩阵相加. — 减法运算 * 乘法运算 .* 点乘运算 / 除法运算 ./ 点除运算 ^ 乘幂运算 .^ 点乘幂运算 \ 反斜杠表示左除. (1)MATLAB的每条命令后,若为逗号或无标点符号, 则显示命令的结果;若命令后为分号,则禁止显示结果. (2)“%” 后面所有文字为注释. (3) “...”表示续行. 3. MATLAB数学函数 MATLAB提供了许多数学函数,函数的自变量规定为矩阵变量(数,向量,矩阵都可),运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。 函数使用说明: (1) 三角函数以弧度为单位计算。 (2) abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。 (3) 用于取整的函数有fix(靠0)、floor(向左)、ceil(向右)、round(四舍五入),要注意它们的区别。 (4) rem与mod函数的区别。rem(x,y)和mod(x,y)要求x,y必须为相同大小的实矩阵或为标量。 } format short 小数点后4位(缺省) } format long 小数点后15位 } format bank 小数点2位 } format rat 355/113 最接近的有理数 } format short e 5位科学计数法 } format long e 15位科学计数法 数组1程序: x=[1 2 3 4 5 8 7 18] y=1:7 z=3:2:9 v=[y z] u=linspace(2,9,11) 数组2程序: x=1:9 y=x(2:2:8) z=[x(1) x(6) x(8)] Shuzu3程序: a=[1 2 3 4] c=2 a1=a+c a2=a*c a3=a./c a4=a.\c a5=a.^c a6=c.^a Shuzu4程序: a=[2 2 2] b=[3 3 3] c1=a+b c2=a.*b c3=a./b c4=a.\b c5=a.^b • 在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如 A=[1,2,3;4,5,6]; A(3) ans = 2 • Matrix2 程序: a=[1 2 3;4 5 6;7 8 9] a1=a(2,:) a2=a(:,2) a3=a(:) a4=a(1:2,2:3) a5=a(2:-1:1,:) a6=a(:,3:-1:2) a7=a;a7(1:2,:)=[] a8=a;a8(:,1)=[] a9=[a a2] a10=[a;a1] 补:1、reshape 是将矩阵元素以列为单位进行重组。 如:A=[1 2 3 4 5 6;7 8 9 10 11 12] reshape(A,3,4) 2、Matlab内部函数fliplr (它对矩阵进行左右旋转) Flipud 上下翻转 Rot90 对矩阵进行各种90度的旋转。 Matrix3 程序: a=[1 2 3 4 5 6] b=[1 2 1 2 1 2] c1=a+a c2=a*b c=[2 7 3;3 9 4;1 5 3] c3=det(c) c4=inv(c) [v,d]=eig(c) 4 .关系运算与逻辑运算 关系运算 MATLAB提供了6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。 关系运算符的运算法则为: (1) 当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。 (2) 当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。 (3) 当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。 例: 产生5阶随机方阵A,其元素为[10,90]区间的随机整数,然后判断A的元素是否能被3整除。 (1) 生成5阶随机方阵A。 A=fix((90-10+1)*rand(5)+10) (2) 判断A的元素是否可以被3整除。 P=rem(A,3)==0 其中,rem(A,3)是矩阵A的每个元素除以3的余数矩阵。此时,0被扩展为与A同维数的零矩阵,P是进行等于(==)比较的结果矩阵。 逻辑运算 MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。 逻辑运算的运算法则为: (1) 在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。 (2) 设参与逻辑运算的是两个标量a和b,那么, a&b a,b全为非零时,运算结果为1,否则为0。 a|b a,b中只要有一个非零,运算结果为1。 ~a 当a是零时,运算结果为1;当a非零时,运算结果为0。 (3) 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。 (4) 若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成。 (5) 逻辑非是单目运算符,也服从矩阵运算规则。 (6) 在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。 例: 建立矩阵A,然后找出大于4的元素的位置。 (1) 建立矩阵A。 A=[4,-65,-54,0,6;56,0,67,-45,0] (2) 找出大于4的元素的位置。 find(A>4) 补充强调几个内容: • 不论是行向量或列向量,我们均可用相同的函数找出其元素个数、最大值、最小值等length(x) • size(x) • 小整理:适用於向量的常用函数有: • min(x): 向量x的元素的最小值 (若x为矩阵则输出一个行向量,它由每一列最小元素组成, min(x,5)-最小就是5-意思是大于5,都替换成5,小于的就不改变) • max(x): 向量x的元素的最大值 • mean(x): 向量x的元素的平均值 • median(x): 向量x的元素的中位数 • std(x): 向量x的元素的标准差 • diff(x): 向量x的相邻元素的差 • sort(x): 对向量x的元素进行排序 • length(x): 向量x的元素个数 • norm(x): 向量x的欧氏(Euclidean)长度 • sum(x): 向量x的元素总和 • prod(x): 向量x的元素总乘积 • cumsum(x): 向量x的累计元素总和-维数不变 • cumprod(x): 向量x的累计元素总乘积 • dot(x, y): 向量x和y的内积 • cross(x, y): 向量x和y的外积 2.几个命令和几个键盘符号 • matlab工作区 • clc • clear clear all who whos • quit diary(建立文本文件记录) • dir • 命令行编辑: • 键盘上面左右上下箭头,home,end,esc,del 3.几个特殊符号 符号: 空格 , ( ) [ ] : … % :产生向量,用于循环V=1:3;v=-1:0.5:3; ,用于分割命令或者元素 ;命令结束符号,运算结果不显示;用于创建矩阵分行 例:A=[1 2 3; 4 5 6],B=A^2; • for i=1:3, • for j=1:4, • tmp=j, • m(i,j)=i*100+j; • end • end 4、 Matlab常用函数 1) ones 产生元素均为一的矩阵 常见用法: ones(n) 产生nn矩阵 ones(m,n)或ones([m n]) 产生mn矩阵 ones(size(A)) 产生与A同样维数的矩阵 举例: ones(3,5) ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2) zeros产生0矩阵,用法与ones相同 用法: zeros(n) zeros(m,n)或zeros([m n]) zeros(size(A)) 3) length 返回向
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!