matlab创建数组对象,MATLAB⼀维数组(向量)的定义在 MATLAB 中,向量和矩阵主要是由数组表⽰的。
数组运算始终是 MATLAB 的核⼼内容,并且 MATLAB 区别于其他编程语⾔最⼤的优势就是数组计算。这种编程的优势使得计算程序简单、易读,程序命令更接近教科书上的数学公式,⽽且提⾼程序的向量化程度和计算效率,节省计算机的开销。
矩阵和向量的概念
矩阵其实就是由 m×n 个元素组成的⼀个 m ⾏ n 列的⼆维数组。特别地,⼀个 m×1(m ⾏ 1 列)矩阵也称为⼀个 m 维列向量,⽽⼀个1×n(1 ⾏ n 列)矩阵也称为⼀个 n 维⾏向量。
依照上⾯的定义可以看出:向量就是只有⼀⾏或者⼀列的特殊矩阵,⽽矩阵包含向量。
在 MATLAB 中,⼀维数组就是向量,⼆维数组就是矩阵。
向量(⼀维数组)的定义
在 MATLAB 中,我们可以直接输⼊向量,也可以使⽤冒号或者函数⽣成向量。
1) 直接输⼊向量
直接输⼊⾏向量:
>> a=[1,3,2,4]
a=
1 3
2 4
直接输⼊列向量:
>> a=[1;3;2;4]
a=
1
3
2
4
数学数组的定义是什么输⼊⾏向量时,各个元素之间以逗号,分隔;输⼊列向量时,各个元素之间以分号;分隔。⾏向量与列向量之间的区别仅仅是元素之间的分隔符⽽已,所以在使⽤直接输⼊创建⼀唯数组或向量时应注意元素之间的分隔符。
直接输⼊是针对⼩型的⼀维数组。
2) ⽤:⽣成等差向量
⽣成等差向量可以使⽤下⾯的格式:
a=j:k
其中 j 表⽰起始数字,k 表⽰终⽌数字,数字之间的差值是 1,或者说步长是 1。这种格式最终⽣成的向量是
a=[j, j+1, ..., k-1, k]
请看下⾯的例⼦:
>> a=2:6
a=
2 3 4 5 6
如果你想控制步长,或者控制数字之间的差值,可以使⽤下⾯的格式:
a=j:d:k
其中 j 表⽰起始数字,d 表⽰步长(数字之间的差值),k 表⽰终⽌数字。这种格式最终⽣成的向量是:
a=[j, j+d,..., j+m*d]
其中 m=fix((k-j)/d),fix() 函数⽤来向下取整。
请看下⾯的例⼦:
>> a=2:3:20
a =
2 5 8 11 14 17 20
>> a=2:3:22
a =
2 5 8 11 14 17 20
这⾥建⽴的向量都是属于等差向量,在编程时可以使⽤这种快捷的⽅式建⽴⼀个等差向量。
3) linspace() 函数
linspace() 函数⽤来⽣成按等差形式排列的⾏向量,它的第⼀种⽤法为:
x=linspace(X1, X2)
linspace() 会在 X1 和 X2 之间默认⽣成 100 个线性分布的数据,相邻两个数据的差保持不变,构成等差数列。
下⾯的例⼦会⾃动⽣成在 1~2 之间 100 个线性分布的向量,向量第⼀个数为 1,向量的最后⼀个数为 2。
>> a=linspace(1,2)
由于结果太多,在此就不⼀⼀列出了,读者可以⾃⼰运⾏⼀下。
如果你想控制⽣成的元素的数⽬,可以使⽤下⾯的格式:
x=linspace(X1, X2, n)
在 X1 和 X2 间⽣成 n 个线性分布的数据,相邻两个数据的差保持不变,同样能构成等差数列。
>> a=linspace(1,2,15)
a =
1 ⾄ 6 列
1.0000 1.0714 1.1429 1.2143 1.2857 1.3571
7 ⾄ 12 列
1.4286 1.5000 1.5714 1.6429 1.7143 1.7857
13 ⾄ 15 列
1.8571 1.9286
2.0000
⽤ linspace() 得出来的是⼀个线性分布的等差数列数组,在编程时有时需要得到按等⽐形式排列的⼀维数组,这时可以使⽤ logspace(),读者请⾃⼰学习。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论