![MATLAB R2020a从入门到精通(升级版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/74/38507074/b_38507074.jpg)
5.1 简单数组
简单数组,顾名思义就是平常建立的一维向量和二维向量。本节从创建方法的角度来描述简单数组,并介绍数组转置函数。
5.1.1 一维数组的创建
一维数组就是向量,本节主要从输入的角度来阐述一维数组。下面介绍创建一维数组的几种方法。
1.直接输入
(1)直接输入行向量:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_1.jpg?sign=1739285008-laZNi4GGPvkVzqvYR3tWm4T1C9sRKlbK-0-f7b35a9caffdd06d7f470fc794748a24)
(2)直接输入列向量:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_2.jpg?sign=1739285008-d31DDY8ebPZJUEf3lNANMoYzYDcS8Itk-0-ec32dd9dd35210de807a01d0645dc747)
直接输入是针对小型的一维数组的。由上述示例可知,行向量与列向量之间的区别仅仅是元素之间的符号不同,所以在使用直接输入法创建向量时应注意向量中元素之间的符号。
2.用“:”生成向量
(1)用a=j:k生成向量a=[j,j+1,…,k],示例如下:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_3.jpg?sign=1739285008-g7AddKgdLdjlUaBiQzRvd1igSVxfbyrH-0-8f290e38f0270f35385062a8bdbf4ef5)
(2)用a=j:d:k生成行向量a=[j,j+d,…,j+m*d],其中m=fix((k-j)/d),示例如下:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_4.jpg?sign=1739285008-FxrF8gMprTC1uoKGPavBjoj9vaYmH4RQ-0-92b8e50a412ae883e083fa3779d895d5)
说 明
这里创建的向量都属于等差向量,在编程时可以使用这种快捷方式创建一个等差向量。
3.用linspace()函数生成按等差形式排列的行向量
在X1和X2之间默认生成100个线性分布的数据,相邻两个数据的差保持不变,构成等差数列,示例如下:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_5.jpg?sign=1739285008-K9wUeBCQG94FWiRiQlcJSlnNHVeBIjJ5-0-7e90c0faee537f952c3ec25b2f903bda)
如果自动生成在1和2之间100个线性分布的数据,那么向量第一个数为1,向量的最后一个数为2,示例如下:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_6.jpg?sign=1739285008-h7UxsNtXKUCI8i4oKZwQ89oW9LOj34VW-0-41feff8298c68e3b5cf7233150c984db)
4.x=linspace(X1,X2,n)
在X1和X2之间生成n个线性分布的数据,相邻两个数据的差保持不变,同样能构成等差数列,示例如下:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_7.jpg?sign=1739285008-PDa6hd35U40Z6eqJB9plcm7fWD5shZi0-0-6cada8228a7efbee4a875ac48c9441d0)
用linspace()函数得到的是一个线性分布的等差数列数组,在编程中需要得到按等比形式排列的一维数组时,可以使用logspace()函数,具体使用方法可以参考MATLAB帮助文档。
5.1.2 行向量转置为列向量
5.1.1节介绍了一维数组的创建,下面介绍针对创建的一维数组进行相关的转置,即如何将一个行向量转置为列向量。将行向量转置为列向量有两种方法:直接转置和使用transpose()函数。
1.直接转置
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_8.jpg?sign=1739285008-H4vP0fHJ666GNcoNBM6aa4XPxTgtYJpN-0-e7f2822e12a60c89a48c8ac18a938359)
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_9.jpg?sign=1739285008-feVLFV6PX6zM99eISh5tG3LEiMCMxglj-0-d3ec2634e60031fca8be87a183687365)
2.使用transpose()函数
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_10.jpg?sign=1739285008-sV5H61PCU1skOsvcQz2DEPCxHPEnK063-0-0b748b3fed800fe26c47f825524a211f)
这两种方法都可以使用,但第一种方法比较受欢迎,这是因为第一种方法比较简便,而且不用记住相关的函数,这两种方法同样适用于二维数组,具体可以参考 MATLAB帮助文档中的示例。
5.1.3 二维数组的创建
二维数组与矩阵之间有很大的相关性,二维数组是由实数或复数排列成矩形构成的,而且从数据结构上看,矩阵和二维数组没有区别。
直接输入:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_11.jpg?sign=1739285008-aQI7ziwpS1serl634eBZJpbrF4o6CVzs-0-0106aa1332ff4274821ae51baec5f763)
读取数据,可以通过读取相关格式的文件将其中的数值保存在工作空间中,在工作空间中都是以二维数组或三维数组的形式进行存储的,如果想查看具体内容,直接双击“工作区”窗口中相对应的变量即可。
利用最常用标准数组生成函数产生标准数组的演示如下:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_12.jpg?sign=1739285008-8rIoNgMiib3jGtaVm94BfyJSPiriJMNw-0-5cbf4d30ac0d9dc3d6df2b1338c8b629)