![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=1738915524-vV7zneEeurZXwThJVe1b8UB567sBKC7J-0-8ccef859407db7801154e926353a13f8)
(2)直接输入列向量:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_2.jpg?sign=1738915524-kUOYrABSSXfSj77mkoB46st17sQqZDE3-0-e6a6595c263fc94898efb9cd1e48ad8b)
直接输入是针对小型的一维数组的。由上述示例可知,行向量与列向量之间的区别仅仅是元素之间的符号不同,所以在使用直接输入法创建向量时应注意向量中元素之间的符号。
2.用“:”生成向量
(1)用a=j:k生成向量a=[j,j+1,…,k],示例如下:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_3.jpg?sign=1738915524-uQzHjYVxWvmGepvATGbKYCd41FQBIJfJ-0-63b4446ee705f8975e826fd25d773f65)
(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=1738915524-MtEezHJAMDjPNYNbOukHcISCx7zSToaW-0-846b814bf2366a7bbe9e57e2b3a32850)
说 明
这里创建的向量都属于等差向量,在编程时可以使用这种快捷方式创建一个等差向量。
3.用linspace()函数生成按等差形式排列的行向量
在X1和X2之间默认生成100个线性分布的数据,相邻两个数据的差保持不变,构成等差数列,示例如下:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_5.jpg?sign=1738915524-1L75KCBFyPoDEOd5zReQ6RFAzkgl7xBa-0-96af37927da53295a11d3c94ab0c2eda)
如果自动生成在1和2之间100个线性分布的数据,那么向量第一个数为1,向量的最后一个数为2,示例如下:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_6.jpg?sign=1738915524-uj0SWAxFfG3z2ZGw2CoAy21oRvs37cLI-0-76ecfd0c54eaffb951ebf605c01bccfd)
4.x=linspace(X1,X2,n)
在X1和X2之间生成n个线性分布的数据,相邻两个数据的差保持不变,同样能构成等差数列,示例如下:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_7.jpg?sign=1738915524-uoGinmw1kpDZ273nBy8412fiPvhxSyUU-0-61219a204c981f05ef3af1e0b90bf0dd)
用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=1738915524-g58ooDsoNTOpbMYlchGsYQ9L5nQJAAEq-0-24639d4e144f2f498a5a6e4dab750760)
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_9.jpg?sign=1738915524-tFIP7k4lzbbuoJ0tQ6jITKwE0JTIxPN3-0-44d360f32e1da8df45f31c7738c78ea4)
2.使用transpose()函数
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_10.jpg?sign=1738915524-XKASRkLUKSx1JGREXVlrEnsSuOEjHg8W-0-5cbeb8528400069066f5f2489613fc71)
这两种方法都可以使用,但第一种方法比较受欢迎,这是因为第一种方法比较简便,而且不用记住相关的函数,这两种方法同样适用于二维数组,具体可以参考 MATLAB帮助文档中的示例。
5.1.3 二维数组的创建
二维数组与矩阵之间有很大的相关性,二维数组是由实数或复数排列成矩形构成的,而且从数据结构上看,矩阵和二维数组没有区别。
直接输入:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_11.jpg?sign=1738915524-1lZUXZjtKBeNvk3XTEYncW1UPLeEjNE0-0-6a6429e2e0d259f8151d153b15cb0756)
读取数据,可以通过读取相关格式的文件将其中的数值保存在工作空间中,在工作空间中都是以二维数组或三维数组的形式进行存储的,如果想查看具体内容,直接双击“工作区”窗口中相对应的变量即可。
利用最常用标准数组生成函数产生标准数组的演示如下:
![img](https://epubservercos.yuewen.com/FDADB4/20266983901431206/epubprivate/OEBPS/Images/txt006_12.jpg?sign=1738915524-vUnVpbrdJCeYfONwiUIy2JLSKi3rrZkc-0-68b6823344c2b8f952b740b318a4013b)