第1章数据分析与MATLAB软件.docx

上传人:李司机 文档编号:6664068 上传时间:2023-12-10 格式:DOCX 页数:50 大小:365.39KB
返回 下载 相关 举报
第1章数据分析与MATLAB软件.docx_第1页
第1页 / 共50页
第1章数据分析与MATLAB软件.docx_第2页
第2页 / 共50页
第1章数据分析与MATLAB软件.docx_第3页
第3页 / 共50页
第1章数据分析与MATLAB软件.docx_第4页
第4页 / 共50页
第1章数据分析与MATLAB软件.docx_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《第1章数据分析与MATLAB软件.docx》由会员分享,可在线阅读,更多相关《第1章数据分析与MATLAB软件.docx(50页珍藏版)》请在三一办公上搜索。

1、第1章数据分析与MATLAB软件目前,我们正处于数据时代”,每天都接触大量的数据。数据里有黄金屋”-无数事实证明:数据是一种重要的资源,里面包含着大量宝贵的信息,采用合适的方法对数据进行分析,就能够发现这些信息。1.1数据分析概述原始数据需要采用一定的方法进行分析,然后才能挖掘出其中蕴含的信息。目前,人们已经开发出多种数据分析方法,在很多行业中都取得了令人满意的效果。1.1.1数据时代科研人员几乎每天都要接触大量的数据:一方面,自己通过实验测量、测试获得数据;另一方面,查阅资料时也能获得很多前人积累的数据。而且,近年来,随着实验测试技术的提高,人们获得数据的数量更多、速度更快。在这些浩如烟海的

2、数据里,隐含着大量重要的信息,如果能通过数据分析,把这些信息提取、挖掘出来,对下一步的工作就可以起到很好的指导作用。比如,通过分析材料的化学成分、工艺参数、显微结构、性能之间的关系,就可以发现它们之间存在的规律,从而预测新材料的性能,或按照自己预定的性能要求,去有目的地设计新材料和新工艺,这样就能有效地缩短研发周期,降低成本,提忘效率。近年来,数据分析技术在很多行业和领域,如材料、化学、机械、生物、通信、经济、管理、互联网、电子商务等方面获得了广泛应用,对产品研发、市场营销、风险控制、经营管理、规划决策等起到了重要作用。阿里巴巴的马云曾预测:未来的时代将是数据技术(DataTeChnok)gy

3、,DT)的时代。所以,对科研和生产来说,数据是最重要的资源之一,它们的价值不可估量。1.1.2数据分析的意义和作用从一个有趣的故事一一啤酒和尿布”,可以看出数据分析的作用。世界著名的沃尔玛公司有一次在分析销售数据时,发现啤酒和尿布的销售额之间存在密切的关系。然后,公司对这个现象进行了详细的研究,发现在很多家庭里,丈夫一般负责给孩子买尿布,买完尿布后再顺便买一些啤酒。发现这个规律后,沃尔玛公司让自己的连锁店调整了商品布局:把啤酒和尿布放在一起。这个措施使二者的销售额大大增加了!由于数据的重要性,有人把它们比喻为一座座金矿。但是,金矿要想实现最终的价值,需要进行开采,开采出来后还要进行深入的加工,

4、最后才能获得真正有价值的产品。而且,大家知道,金矿的含金量有高有低,开采和加工技术也各有优劣,有的技术能够从含金量很低的矿石里提取出黄金,而有的技术即使从含金量很高的矿石中也提取不到黄金。对数据“金矿”来说,也是一样的道理。所以,要想从数据里获得有用的信息,就需要采用合适的方法和技术,对数据进行加工和处理,即数据分析。1.1.3数据分析方法具体的数据分析方法有多种,人们一般把它们分为3类,即描述性分析、探索性分析和验证性分析。(1)描述性分析一般采用传统的统计学方法,描述数据的一些基本特征,如平均值、最大值、最小值等,这种方法可以使人们了解数据的基本特征。(2)探索性分析是进一步揭示数据的内在

5、特征及它们间存在的规律,这种方法通过绘图、列表及一些复杂的分析技术,揭示数据间隐含的信息,对后面的科研和生产会起到重要的指导作用。(3)验证性分析是指在探索性分析的基础上,对揭示的规律进行验证,从而确认发现的规律。不论采用哪种分析技术,使用的具体方法和工具有多种,包括初等数学、统计学等较简单的运算,还经常涉及高等数学、线性代数、复变函数等复杂运算。简单的运算使用一些常规的分析工具就可以进行,而复杂的运算仅依靠它们就不够了,需要更合适的方法和更有力的工具。1.2MATLAB软件MATLAB是美国MathWOrkS公司开发的科学计算软件,早于1984年推出。经过几十年的完善和推广,在科学研究和工程

6、技术领域得到了广泛应用,应用领域遍及多个行业,得到了人们的广泛认可,被认为是目前最优秀的科学计算软件之一。1.2.1功能和应用MATLAB的功能全面,主要包括以下几个方面。数值计算。符号计算。绘图与可视化。信号与图像处理。系统设计与仿真等。MATLAB的应用领域很多,常见的包括以下几个。科学计算。数据分析。金融与财务分析。信号处理与通信。系统仿真。管理与决策等。涉及的行业包括教学、科学研究、工程、通信、电气、财务金融、管理等。1.2.2特点MATLAB软件具有自身的一些特点,主要包括以下几个。1.简单易学MATLAB软件的用户界面简洁,程序语言自然,用它编写的数学表达式程序语句的形式和人们平常

7、使用的特别像,所以容易学习和使用。这一点尤其对非计算机专业以及编程基础较差的人来说特别重要。本人在学习MATLAB之前,没有编写过程序,一听说编程,就感觉那是很专业、很神秘的事情,心里有一种畏惧感。有一天,偶尔看到实验室里放着一本张志涌老师编写的MATLAB书籍,封面上的一句话深深吸引了我-演算纸式的程序设计语言,从此就开始学习和使用,确实感觉用MATLAB编程时,就好像在草稿纸上列算式一样,可以说,后来就不知不觉地迷上了它。2.功能强大MATLAB中包含很多常用的函数,这些函数有的功能比较简单、很基本,而有的功能很强大,用户可以直接调用这些函数,解决自己的问题,而不需要花费很多时间去编写程序

8、实现这些功能。而且,MATLAB中还包含一些功能更全面、更专业的工具箱,如图像处理工具箱、统计工具箱、优化工具箱、金融工具箱、通信工具箱、神经网络工具箱等,这些工具箱是由相关领域的专家开发的函数集合或子程序库,它们的功能更强大,用户也可以直接调用它们,也可以以它们为基础,进一步开发自己需要的特定功能,解决自己的问题。MATLAB的这个优点,使得它的编程工作量大大减少,一些很复杂的问题,可能只需要几十行程序甚至更少就能解决。这个优势,使得MATLAB的使用者可以将自己的主要精力用于对问题本质的思考和解决上,而不需要在编程上花费太多时间和精力。3.绘图功能强大、容易实现可视化MATLAB软件具有很

9、强的绘图功能,容易实现计算结果的可视化。用它可以绘制普通的二维图形、复杂的三维图形,还可以实现一些高端绘图效果,如四维图形、动画以及图形的光照效果、颜色效果等。用户通过调用相关的函数或使用相关的工具箱,可以方便地实现上述功能,满足自己的要求。由于具有上述优点,所以,包括本人在内的很多人,一旦接触MATLAB就会深深地被它吸引了。1.3MATLAB在数据分析中的应用由于具有独特的优点,近年来,MATLAB在数据分析与处理的多个领域中都获得了应用,包括以下几个方面。(1)科学计算,包括数值计算、符号计算等。(2)数据归一化、平滑技术、降维技术,包括主成分分析、因子分析等。(3)数据绘图与可视化,包

10、括二维图形、三维图形、复杂和特殊图形的绘制、图形修饰与渲染等。(4)数据的描述性分析,包括基本特征统计、频数分布、分布特征分析、离散度分析、相关性分析等。(5)方差分析,包括单因素一元方差分析、双因素-元方差分析、多因素一元方差分析、单因素多元方差分析等。(6)数据拟合与回归分析,包括一元线性回归、多元线性回归、一元非线性回归、多元非线性回归、插值等。(7)蒙特卡洛模拟及应用,包括随机数、积分、物体表而微观形貌模拟、产品性能预测与质量控制、股票价格模拟等。(8)最优化技术,包括线性规划、二次规划、非线性规划、多目标规划、最小化问题、最大化问题等。(9)判别分析、聚类分析,包括朴素贝叶斯判别法、

11、系统聚类法、K均值聚类法、模糊C均值聚类法等。(10)人工神经网络,包括人工神经网络模型的设计、材料性能预测、成分设计、影响因素的定性与定量分析、模式识别等。习题1.从网上查阅相关的例子,了解数据在互联网、电子商务、体育、管理等领域所起的作用。2.从网上查阅数据分析的典型应用案例,了解数据分析的意义。3.从网上查阅目前应用较多的数据分析软件,了解它们的特点和应用情况。4.从网上查阅MATLAB软件的资料,了解它的特点和应用领域。第2章MATLAB基础本章介绍MATLAB软件的基础知识,包括基本功能、基本操作等,掌握了这些内容,才能利用MATLAB进行更复杂的数据分析。2.1MATLAB基础本节

12、首先介绍MATLAB软件的基础,包括版本、启动和基本结构。2.1.1MATLAB软件的版本MathWorks公司每年发布两个MATLAB版本:第一个版本在上半年的3月发布,称为a版;第二个版本在下半年的9月发布,称为b版。最新的是MATLAB2019a,其他比较新的版本包括MATLAB2018、MATLAB2016.MATLAB2015、MATLAB2013等,比较老的有MATLAB6.5、MATLAB7.0等。多数初学者可能都认为版本越新越好,但实际上并不是这样。从功能上来说,时间比较接近的老版本和新版本的差别并不是特别大,而由于老版本的使用者较多,所以遇到问题时,容易寻求他们的帮助,也容易

13、找到更多的参考资料。另外,新版本的趋势是容量越来越大,比如,MATLAB7.0只有IGB左右,而MATLAB2012版有4GB左右,MATLAB2018版高达8GB左右。软件容量大,占用的硬盘空间会增多,运行时占用内存多,会大大拖慢计算机的速度。所以,在很多时候,其实没有必要追求最新的版本。2.1.2MATLAB软件的启动关于MATLAB软件的安装,本书不打算介绍了,因为很多MATLAB方面的书籍中都有详细的介绍,从网上也能很容易地找到它的安装方法和步骤。MATLAB软件安装完后,双击图标,计算机显示屏上就出现MATLAB工作窗口,如图2-1所示(本书使用的版本是MATLABR2012a)。在

14、工作窗口里,左右两侧的几个小区域(CUlTentFolder、WorkspaceCommandHistory)的用处不大,可以关掉,只保留中间的CommandWindow,它叫指令窗,如图2-2所示。2.1.3指令窗的结构MATLAB指令窗的结构和多数软件相同,包括标题栏、菜单栏、常用工具栏、指令区等。(1)标题栏:即最上方的MATLABR2012a。菜单栏:有7组菜单,即File、Edit、Debug.Parallel、DesktopWindow、HeIPo单击每组菜单,可以弹出它包含的命令及功能。菜单里的命令和功能的具体含义,这里先不介绍,后面使用时再介绍。这样做的目的是让读者尽快对MAT

15、LAB的整体有个了解,避免纠缠在一些琐碎的细节里。(3)指令区:也叫工作区,即指令窗的空白区域。用户可以在提示符号,”的后面输入指令,MATLAB软件可以执行。2.2编写第一个MATLAB程序了解了MATLAB指令窗的结构后,现在就可以利用它编写自己的第一个MATLAB程序了,相信读者马上就能领略到MATLAB的魅力了。2.2.1第一个MATLAB程序第一个MATLAB程序很简单,如计算143。在指令区里输入:1+3这就是我们编写的第一个MATLAB程序!就是这么简单。2.2.2程序的正确性很多读者会想:经常听别人说,他们编程时动不动要花几个星期的时间,语句有几百行甚至几千行。这个程序这么简单

16、,会不会有毛病呢?这个程序到底有问题吗?或者,有人会嘀咕:这就是计算机程序吗?所以,我们下一步就用MATLAB运行它,看看能不能得到结果、结果是不是正确?用MATLAB运行程序也很简单-只需要按回车键(即Entei键)就可以。程序的运行结果(省略了空行及一些空格,后同)为:ans=4第一个程序及其运行结果如图2-3所示。4MATlABR2012a(o/J图2-3第一个程序及其运行结果可以看到:这个程序可以运行,而且结果也正确。这就说明,编写的这个程序没问题。现在,我们可以发现,用MATLAB编写程序并不神秘,每个人都可以学会。当然,这个程序的功能很简单。在后面还要进一步提高自己的编程水平,学习

17、编写一些功能比较复杂的程序,解决一些更复杂、更困难的问题。2.3编辑器的使用在很多时候,人们编写完一个程序后,希望把它保存起来,留着以后继续使用。但是如果像上节那样,直接在MATLAB的指令窗里编写程序、运行,程序是不能被保存的:因为如果关闭MATLAB软件,原来写在指令窗里的程序就找不到了!为了保存以及将来能够方便地修改、使用程序,就需要使用MATLAB软件的编辑器(Editor)o2.3.1打开编辑器第一步:打开MATLAB的指令窗。第二步:选择FiIe菜单中的NeW命令。第三步:在弹出的子菜单中选择Script命令。计算机显示屏上会弹出一个新窗口,如图2-4所示。如图2d所示的EditO

18、r窗口就是MATLAB的编辑器。2.3.2编写程序我们可以在编辑器里编写、保存、修改程序。用2.2节的那个程序做例子。第一步:把程序语句1+3写在编辑器的输入区里。第二步:程序写完后,选择File菜单里的Save(保存)命令,或直接单击常用工具栏里的Save(保存)”命令的图标,会弹出一个对话框,在该对话框里选择自己喜欢的保存位置,比如桌面上“我的MATLAB文件夹,然后输入文件名,比如ul.m(“.m是文件的扩展名,表示它是一个MATLAB文件),单击“保存”按钮就可以了。2.3.3运行程序运行MATLAB程序时,需要回到指令窗。第一步:刚才在编辑器里编写程序时,编辑器是活动窗口,所以现在需

19、要单击指令窗,把它变成活动窗口。第二步:看一下指令窗的当前路径”是什么。当前路径”在常用工具栏里面。如果程序保存在当前路径”的位置,就可以直接运行了;如果程序保存在其他位置,就需要把当前路径”改为程序的保存位置,如果二者不一致,程序就无法运行!第三步:运行程序。现在,在指令窗里输入程序文件名称ul,然后按回车键。指令窗里就会出现如下运行结果:ans=42.3.4程序的编辑和修改如果需要对现有的程序进行编辑、修改,可以直接在它的基础上进行,但最好另存一份,在这份新文件里修改,原来的留着以后使用。还是以刚才那个文件为例。第一步:在编辑器里打开文件ul.m。第二步:单击编辑器的FiIe菜单。第三步:

20、选择File菜单中的SaveAs(另存为)命令,又弹出一个对话框,和保存对话框基本一样。第四步:在该对话框里选择自己喜欢的保存路径,比如还是刚才的桌面我的MATLABw,然后输入新的文件名,如u2,再单击保存按钮就行了。第五步:修改程序。比如,把原程序里的3改成12。第六步:程序修改完后,再保存。第七步:运行程序。单击指令窗,把它变为活动窗口,然后输入新文件名u2,按回车键,可以看到运行结果:ans=13为了巩固,读者自己可以再编写几个稍微复杂一点的程序,修改并运行,以进一步熟悉MATLAB的基本操作。第二个MATLAB程序:计算4x6。程序语句为:4*6第三个程序:计算20+(2+3)。程序

21、语句为:20/(2+3)2.4MATLAB的查询和帮助功能在编写程序时,经常会遇到一些问题,比如某个指令或函数不会用,或者在运行时提示出错了,或者想使用某种功能,但是不知道该用哪个函数。所以,就需要问别人或查资料,但很多时候,可能问的人也不知道,或者查不到相关的资料。在这方面,可以说,MATLAB的开发者比较善解人意:他们在软件里提供了这方面的功能一一求助功能。它包括两个具体的功能,即帮助和查询。这两个功能的使用很方便,常用的指令分别是help和lookforo2.4.1help指令这个功能可以使用户了解某个指令或某个函数的信息。例如,想知道函数sin的信息,就可以在MATLAB的指令窗里输入

22、:helpsin,然后按回车键,屏幕上就会出现关于Sin的信息,如图2-5所示。helpsinsinSineofarguentinradians.Sin(X)isthesineoftheelementsofXSeealsoasirsind.Overloadedmethods:CodiStributeds】nReferencepageinHelpbrovserdocSuI图2-5用help指令查阅关于sin的信息2.4.2Iookfor指令Iookfor指令的作用是:用户可以根据关键词查询MATLAB中和某个指令或函数相关的信息。由它获得的结果比help指令要多,但是有的可能不是用户想要的,这就

23、需要用户从中进行筛选。比如,想了解和函数sin相关的信息,可以在MATLAB的指令窗里输入:Iookforsin,然后按回车键,屏幕上就出现图2-6所示的相关信息。 Iookfor sin BlGlndeXCdFIle Qcinline CgSIbloCk xaxes:LnPUt EXhaUSt IveSearchrr KDIreeSeairchert-Collectior, SgtParanAsInt-classalIovsrandomreadaccesstotextfilesusi11eanindexfile.-replacementversionofinlineUSinSanonymou

24、sfunctions-ConstructorforcalibrationGenerationSiiIUi.inkblockparsingmanager-CoxxstructorfortheaxesinputobjectforaListCtrl-NelghborsearchobjectUSingexhaustivesearch.Neighborsearchobjectusingakd-tree.-CreateatScollectionobjectusingtieortineseriesobjects.-resetsthevalueofanintegerparameterintheCUrrent图

25、2-6用Iookfor指令查阅的关于sin的信息(部分)常言说:求人不如求己。大多数MATLAB用户在编程序时经常使用上述两个功能,效果很好。相信它们将来也会给本书读者提供很大帮助。2.5MATLAB的运算单元及基本操作MATLAB软件以矩阵为基本运算单元,这是它和其他科学计算软件相比最突出的一个特点,由于这个特点,也使得它具有其他相关的优点。本节将介绍MATLAB的这个基本运算单元及常用的操作方法。2.5.1MATLAB的数据类型MATLAB的数据包括常量和变量两种类型。常量的表示方法和平时使用的基本相同,如8、0.2、0.16、-28等。指数的表示方法为4.00Ooe+14、6.0000e

26、-08等,分别表示4xl06x10-8。变量用字母或字母与数字结合的形式表示,如0=36、?2=-8.5等。2.5.2矩阵矩阵是MATLAB进行运算的基本单元,这种方式使得利用MATLAB编程和运算都很方便、简单,关于这一点,在后面的内容里和读者将来的实践中都会详细地体会到。1.矩阵的输入方法在MATLAB里输入矩阵时,有以下3个规定。(1)整个矩阵要用方括号括起来。(2)矩阵的行与行之间用分号;隔离,或者通过按回车键分行。(3)各个元素之间用空格或逗号“,分开。所以,输入矩阵时,常见的有以下两种方法。(1)分行输入。就是把矩阵的每行通过按回车键分开,比如:a=123456789然后保存为al

27、m文件。在指令窗里运行,可以看到输出结果如下:a=123456789注意:用MATLAB编程时,如果某个语句后面加了分号;,程序运行时,这个语句的运行结果就不会在屏幕上显示;如果想让它显示,语句后面就不加分号。刚才的矩阵a的后面没有分号(在数学中一般变量用斜体,矩阵和向量用加粗斜体表示,但本书介绍MATLAB的应用,为与程序或指令中的一致,与程序或指令直接相关的变量及矩阵、向量均用正体字母表示,不加粗,只有方程与多项式仍用正常方式表示),所以就可以在指令窗里显示出来。读者可以试试,在矩阵a的后面加上分号,然后在指令窗里运行,就显示不出这个矩阵。这种输入法的优点是,矩阵的形式和线性代数里的完全一

28、样,符合日常习惯。(2)连续输入。就是把矩阵的所有元素在一行里连续输入,元素之间用空格或逗号分隔,不同的行用分号分隔。比如:a=1,2,3;4,5,6;7,8,9然后保存为a2.m文件。在指令窗里运行,可以看到输出结果如下:a=123456789可见,输出结果和第一种方法一样。2.向量的输入方法在MATLAB编程时,也经常使用向量,包括行向量和列向量。大家都知道,实际上,向量也属于矩阵,即单行或单列矩阵,它们的输入方法和矩阵一样,包括分行输入和连续输入。(1)行向量。比如:输入行向量a=12345或a=l,2,3,4,5。分别保存、运行,可以看到,输出结果相同,都是:a=l2345(2)列向量

29、。分别输入列向量:a=1234或:=1;2;3;4分别保存、运行,输出结果也相同,都是:a=l2342.5.3矩阵的操作在很多时候,人们需要对矩阵进行操作,如转置、从里面提取元素、压缩等。1.转置矩阵的转置可以理解为就是把它的行变成列、把列变成行。有时,为了便于运算、观察矩阵的结构或其他目的,需要对矩阵进行转置。在MATLAB中,矩阵转置的指令为:a,o调用格式:b=a,o例2-1对向量a=l234进行转置。MATLAB程序代码如下:a=l234;b=a*保存后运行,结果如下:b=1234例2-2对矩阵a进行转置。MATLAB程序代码如下:a=l2345678910;b=a运行结果如下:b=1

30、62738495102.元素提取元素提取指从矩阵中提取部分元素。在编程时经常使用这种操作。(1)提取单个元素。从矩阵里提取单个元素的MATLAB指令为:a(i,j)调用格式:b=a(i,j)o作用是将矩阵a中第i行、第j列的元素提取出来。例2-3提取矩阵:a=l2345678中第二行第三列的元素。MATLAB程序代码如下:a=l2345678;b=a(2,3)保存后运行,结果如下:b=7(2)提取多个元素。从矩阵中提取元素时也可以同时提取多个元素,使用的指令为:a(m,n)。调用格式:b=a(m,n)。其中,m和n都是向量。m和n可以取冒号:,m为冒号时表示提取所有的行,n为冒号时表示提取所有

31、的列。例2-4分别提取矩阵:a=123456789101112131415161718;中第1行的第2、3歹U,第2行的第35歹Ij,第2列的所有行,第13行的第1、5、6列,第3、1行的所有列,第2、3行的第13列的元素。MATLAB程序代码如下:a=123456789101112131415161718;al=a(l,2 3) a2=a(2z 3:5) a3=a(:,2)a4=a(l:3, 1 5 6) a5=a(3 1,:) a6=a(2:3,1:3)%提取第1行的第2、3列的元素%提取第2行的第35列的元素%提取第2列的所有行的元素%提取第13行的第1、5、6列的元素%提取矩阵第3、1

32、行的所有列的元素%提取矩阵第2、3行的第13列的元素运行结果如下:al=23a2=91011a3=2814a4=15671112131718a5三131415161718123456a=7891314153.矩阵的压缩矩阵的压缩也就是压缩矩阵的规模,般通过删除矩阵的某些行或某些列来实现。在MATLAB里,进行矩阵压缩的指令为:。调用格式:a(m,;)=或a(:,n)=。其中m和n都是向量,其中之一取为冒号“:,m为冒号时表示所有的行,n为冒号时表示所有的列。例2-5对矩阵:a=123456789101112131415161718;分别进行以下操作:删除第2行所有列的元素;删除第1、2行所有列

33、的元素;删除第1列所有行的元素;删除第2、3列所有行的元素。MATLAB程序代码如下:a(2,:)=a(l 2,:)= a(:,l)=a(:,2 3)=%删除第2行所有列的元素%删除第1、2行所有列的元素%删除第1列所有行的元素%删除第2、3列所有行的元素运行结果如下:a:=123456131415161718a:=131415161718a:=23456891011121415161718A:=14567101112131617182.5.4特殊向量在解决一些问题时,需要使用一些特殊的向量。这些向量有的可以用前面叙述的方法直接输入,有的可以用MATLAB特有的功能产生,这种操作会极大地提高工

34、作效率。1.间隔相同的向量间隔相同的向量指相邻元素之差相同。在MATLAB里,生成间隔相同的向量有以下几种方法。(1)第一种方法:利用冒号“:。调用方法:a=alda2。al是向量的第一个元素,a2是最后一个元素,d是向量中相邻两个元素的间隔值。当间隔值为1时,d可以省略。例2-6分别生成以下的向量:从1到10,间隔为2;从1至打0,间隔为1:从到10,间隔为3;从10至1JI,间隔为-1;从10到1,间隔为-3。MATLAB程序代码如下:al=l:2:10 a2=l:10 a3=l:3:10 a4=10:-l:l a5=10:-3:1% % % % %生成从1到10,间隔为2的向量生成从1到

35、10,间隔为1的向量生成从1到10,间隔为3的向量生成从10到1,间隔为-1的向量生成从10到1,间隔为-3的向量运行结果如下:al=13579a2=12345678910a3=14710a410987654321a5=10741(2)第二种方法:利用线性等分指令Iinspaceo调用方法:a=linspace(al,a2,d)生成(IXd)维行向量,al是向量的第一个元素,a2是向量的最后一个元素。即在ala2间,生成d个间距相同的数据。例2-7分别生成以下向量:I到10间,2个间距相同的数据;1到10间,3个间距相同的数据;10到1间,2个间距相同的数据;IO到1间,3个间距相同的数据。M

36、ATLAB程序代码如下:al=linspace(1,10,2)a2=linspace(1,10,3)a3=linspace(10,1,2)a4=linsace(10,1,3)运行结果如下:al-110a2=1.00005.500010.0000a3-101a4N10.00005.50001.00002.对数间隔相等的向量对数间隔相等的向量指相邻元素的对数之差相同。在MATLAB里,生成这种向量使用的指令是对数等分指令Iogspaceo调用方法:a=logspace(m,n,d)。生成(IXd)维对数等分行向量,向量的第一个元素al=IOm,向量的最后一个元素ax=10An。例2-8生成(1x5

37、)维对数等分行向量,向量的第一个元素al=101,向量的最后一个元素ax=IO5MATLAB程序为:a=logspace(1,5,5)运行结果如下:a=10100100010000100000例2-9生成(1X3)维对数等分行向量,向量的第一个元素al=101,向量的最后一个元素ax=IO5MATLAB程序代码如下:a=logspace(1,5,3)运行结果如下:a=101000100000例2-10生成(IXlO)维对数等分行向量,向量的第一个元素al=10,向量的最后一个元素ax=105oMATLAB程序代码如下:a=logspace(1,5,10)运行结果如下:a=1.0e+05*0.0

38、0010.00030.00080.00220.00600.01670.04640.12920.35941.00003.与其他计算或函数相结合的向量在编程时,向量经常和其他计算或函数相结合;也有的时候,生成一些新向量时,需要与其他计算或函数相结合。例2-11在0pi(圆周率)间,生成一个向量,间隔为O.lpi。MATLAB程序代码如下:a=(0:0.1:l)*pi运行结果如下:a=00.31420.62830.94251.25661.57081.88502.19912.51332.82743.1416例2-12在02*pi间,生成一个向量,间隔为0.1pi,计算Sin(X)的值,并绘制-y的图形

39、。MATLAB程序代码如下:x=0:0.l*pi:2*piy=sin(x)plot(x,y)运行结果如下:x三00.31420.62830.94251.25661.57081.88502.19912.51332.82743.14163.45583.76994.08414.39824.71245.02655.34075.65495.96906.2832y=00.30900.58780.80900.95111.00000.95110.80900.58780.30900.0000-0.3090-0.5878-0.8090-0.9511-1.0000-0.9511-0.8090-0.5878-0.30

40、90-0.0000函数图形如图2-7所示。2.5.5向量的操作同样,人们也需要对向量进行一些操作,如元素提取、生成新向量等。1.元素提取例2-13己知向量a=l23456,分别提取向量a的以下元素:第2个;第1到第3个;第6、2、1个;第6、5、4、3个。a=l 2 3 4 5 6;bl=a(2)%b2=a(l:3)%b3=a(6 2 1)%b4=a(6:-1:3)MATLAB程序代码如下:提取向量a的第2个元素提取向量a的第1到第3个元素提取向量a的第6、2、1个元素提取向量a的第6、5、4、3个元素运行结果如下:bl = 2b2 = 1b3 = 6b4 = 622531432.生成新向量可

41、以利用现有的向量进行多种组合,生成新的向量。例2-14已知向量a和b,先将它们连接成一个新向量,然后提取:a的第4个元素、b的第3、1个元素,和7组成一个新向量。MATLAB程序代码如下:%向量a和b连接成一个新向量a=l2345;b=678;C=abd=a(4)b(31)7%提取a的第4个元素、b的第3、1个元素,和7组成一个新向量运行结果如下:C = I23d = 4865678题1.在指令窗的指令区里输入1+2+3+4+5,然后按回车键,观看运行结果。2.在MATLAB的编辑器里输入1+2+3+4+5”并保存,然后运行,观看结果。3.分别用help指令和Iookfor指令查询函数cos的

42、信息。4.分别用不同的方法输入矩阵:a=l2345678910并保存,然后运行,观看结果是否一致。5.对矩阵:235689进行转置。6.分别提取矩阵:a=l23456789101112131415第三行第四列、第二行、第五列、第一行的第三列至第五列的元素。7.生成从0到2、间隔为0.1的向量。8.生成从02*pi、间隔为0.1的向量,并计算对应的余弦函数值,绘制出图形。9.已知向量a=l2345、b=678910,先提取a的第24个元素、b的第5个元索,然后和向量c=1512以及24组成一个新向量。第3章MATLAB科学计算MATLAB软件具有非常强大的科学计算功能,这是它最突出的优势之一,所

43、以,人们公认,MATLAB是最优秀的科学计算软件之一。本章将介绍它的科学计算功能及应用。3.1数值计算科学计算包括两类,即数值计算和符号计算。在数值计算中,表达式里的变量都有确定的值,计算机处理的对象是数值,得到的结果也是数值。数值计算的优点是可以把一些复杂的问题简化,在一些工程应用领域,人们经常利用这一点。但它也存在缺点,就是有时得到的解是近似解,具有一定的误差。3.1.1基本运算基本运算包括加、减、乘、除、事、平方根、对数、三角函数等。1.加运算在MATLAB里,进行加运算的指令是符号+。1)标量相加例31计算4+5。MATLAB程序为:4+5运行结果为:9例3-2计算变量a、b之和。MA

44、TLAB程序代码如下:a=4;b=5;c=a+b运行结果如下:c=92)矩阵相加调用格式为:a+b例3-3计算矩阵a、b之和。MATLAB程序代码如下:a=l23;b=456;c=a+b运行结果为:C=5793)标量和矩阵相加调用格式:n+A或A+n。其中,n为标量,A为矩阵。例3-4计算标量2与矩阵A之和。MATLAB程序代码如下:A=123456;B=2+A运行结果如下:B=3456782.减运算在MATLAB里,进行减运算的指令是符号“-”。1)标量相减例3-5计算4-5。MATLAB程序为:运行结果为:例3-6计算变量a、b之差。MATLAB程序代码如下:a=4;b=5;c=a-b运行结果如下:2)矩阵相减调用格式为:a-b例3-7求矩阵a-b。MATLAB程序代码如下:a=l23;b=456;c=a-b运行结果如下:3)标量和矩阵相减调用格式为:n-A或A-n。其中n为标量,A为矩阵。例3-8求

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号