资源描述:
《Mathematica使用教程(进阶)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Mathematica教程进阶篇一.Mathematica中的表(★好好看,很重要★)。(1.以下用小麦表示mathematica。2.下面提到的任何一个函数都需要你实际操作一次。)◆1.1什么是表,以及表的结构。在小麦里,形如“{{},{}}”的结构表示“表”(Table)。表是一些表达式聚集成的一个整体。这些表达式称为这个表的元素。例如2是表{2,x,y}的一个元素,这个表一共有三个元素。表的元素是有序的,依次分别被叫做表的第一个元素,第二个元素……。前面这个表的第二个元素是x。由于表的元素还可以是表(表的内部可以嵌套子表,比如:a={{1,2,3},{4,5,6},{7,8,9}},其中
2、{1,2,3}是表a的元素,但其本身仍然是一个表,表的结构可以很复杂,感兴趣的可以自己尝试构造一些复杂的表),人们也把上面所说的表元素称为表的第一层元素。作为一种特殊情况,一个表可以没有元素,这样的元素成为“空表”,空表只有一个,就是{}。(空表有其特殊的作用,比如建立一个空表来盛放符合条件的数据)。◆1.2理解表的作用。表可以作为表示结构,小麦系统本身就这样使用了表,比如它表示平面或者空间点的坐标。另外表在系统内部还被用于表示向量、矩阵和集合。比如:☆表示四个坐标:(1,2)、(3,4)、(4,5)、(6,7)。尝试用ListPlot[]函数绘制这四个点坐标:输入:就可以得到散点图。☆表示矩
3、阵:biao1看做矩阵的话,就是一个4行2列的矩阵。尝试用MatrixForm[]函数将biao1用矩阵的形式输出。(可以等价使用biao1//MatrixForm)。☆表示向量:一层的表用于表示向量,这个是非常直截了当的。例如{1,2,3}表示空间向量(1,2,3)。◆1.3如何生成表。诚然通过键盘一个一个输入可以构造出需要的表,但是在数据量很大的时候工作量就很大你懂得,挨个输入就显得鸡肋了。小麦同样提供了生成表的众多函数,比如Range,Table等。我们先来学习下这两个函数的功能和用法(另外感兴趣的可以通过帮助系统学习Array,DiagonalMatrix,IdentityMatrix
4、等函数的功能和用法)。☆Range函数。尝试用Range函数生成{1,2,3.,…,99,100};☆Table函数。Table函数相对与Range函数功能更强,用法有两种。;下面对Table函数给出两个实例:(1)生成1至12的所有偶数。(2)生成形如(1…8,11…18,21…28,31…38)的表。☆常用函数Import和Export在实际问题中(尤其是建模竞赛),附件经常会提供Excel文件,小麦调入的Excel或者txt文档同样也是一个表。你可以尝试在F盘新建一个名为“123”的Excel表格,打开表格在里面的单元格随机输入几个数字并保存。调用Import函数导入这个表。(Excel
5、文档后缀为xls)同样可以用Export函数导出处理好的表。这时候在F盘就可以找到名为“biao1”的Excel文档了。◆1.4如何使用表和如何获取表的信息。对于已经生成的表,在使用中常常有取出表中的某几个元素,去除表中的某几个元素,添加元素等操作。我们定义biao2={{1,2,3},{4,5,6},{7,8,9}},这是一个三行三列的表。▲利用:的结构提取biao2第a行第b个元素另外形如biao2[[a]]的结构则取出biao2中第a行的所有元素。☆AppendTo和PrependToAppendTo函数用于将值添加到表的后面,我们定义biao3={1,2,3,4};将5添加到biao2
6、中。PrependTo函数则恰恰相反,它的作用是将值添加到表的前面,你可以尝试将0添加到biao3的前面。AppendTo和PrependTo函数都有很广的应用,在处理数据时,常常建立一个空表,将数据中符合要求的值添加到空表里面进行进一步的处理。☆Take和Drop函数。Take函数用于取出表中的元素,Drop函数则用于删除表中的元素。这两个函数需要你运用小麦的帮助系统,Uknow也就是自学。对于一个表(尤其是Excel导入的表),常常需要知道这些表的一些信息,最基本的就是表的“长度”(行数)。使用Length函数可以很方便的做到这点,我们继续使用F盘刚刚刚刚创建的123.xls文档。可以看
7、到biao4的长度为1,但是你或许觉得biao4是三行三列的,它的长度应该为3,实际上我们处理的时候也希望得到3。小麦没犯错误,你也没有,在导入Excel表的时候,Excel中的数据往往被放置到一个“大表”里面来输出,我们期望得到的是“大表”的一个元素,即“大表”的第一行。所以以后在导入Excel表的时候要有提出表第一个元素的习惯这时候输出的表则去除了最外层的{};我们得到的Length变成了3。