《第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程序的正确性很多读者会想:经常听别人说,他们编程时动不动要花几个星期的时间,语句有几百行甚至几千行。这个程序这么简单,会不会有毛病呢?这个程序到底有问题吗?或者,有人会嘀咕:这就是计算机程序吗?所以,我们下一步就用MATLAB运行它,看看能不能得到结果、结果是不是正确?用MATLAB运行程序也很简单-只需要按回车键(即Entei键)就可以。程序的运行结果(省略了空行及一些空格,后同)为:ans=4第一个程序及其运行结果如图2-3所示。4MATlABR2012a(o/J图2-3第一个程序及其运行结果可以看到:这个程序可以运行,而且结果也正确。这就说明,编写的这个程序没问题。现在,我们可以发现,用