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(),讀者請自己學習。
總結
以上是生活随笔為你收集整理的matlab创建数组对象,MATLAB一维数组(向量)的定义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 非净值型理财产品是什么意思
- 下一篇: matlab画孔斯曲面,CAD CAM技