MATLAB基本運算單元為矩陣,所以我們需要了解對矩陣的一些簡單的語法操作。
1、如何生成一個矩陣(來自百度)
(1)元素輸入法
(2)設定步長生成
形式為: A=a:inc:b
可以看出a為初值,inc為步長,b為終值(界限) 相當於生成了一個等差數列
注意當省略步長的時候,默認步長為1
(3)均勻采樣生成
格式為 A=linspace(a,b,n)
可以看出,a為初值,b為終值,n為分成的份數,也是生成了一個等差數列
(4)特殊矩陣的生成方法
- A=[] %空矩陣
- A=zeros(2,3) %生成元素全為零的2x3矩陣
- A=ones(2,3) %生成元素全為1的2x3矩陣
- A=rand(2,4) %生成隨機的2x5矩陣
- 矩陣的提取(ps:矩陣提取還可以通過其他方式提取,通過邏輯矩陣,暫時不介紹):
A=[1:5;6:10;3:7]
B=A(2:3,2:4) %提取矩陣A的第2,3行與第2,3,4列交叉處的元素。
- A=magic(3) %創建魔方矩陣。
- A=eye(3,4) %使用eye(m,n)可得到一個允許的最大單位矩陣,其余處補0。
此處特別講解一下矩陣的提取
涉及到冒號:的使用,之前其實已經講過
先舉一個簡單的例子
現在想提取位於第2-3行 第2-4列的元素
當然也可以隔行隔列提取
如果想要提取所有的行,第1 3 5列的元素
這里還有一個技巧:
end的使用用於提取矩陣
歸納:B=A(i,j)
i j可以是數 也可以是向量
當i 為向量時,比如i=[1 2 4]; 即提取A的第1 2 4行 j同理
ps: 還有一種常用的提取矩陣元素的方法
當A為二維矩陣
有如下方法:
想必大家對於第二種方法有疑問,這里就涉及到MATLAB中矩陣存儲形式了,不管怎么樣,計算機是串行存取數據的,
那么矩陣又是如何存儲的,肯定要先按成一維向量存取,最后知道分界線即可!!!(個人猜測)
然后介紹一些矩陣的簡單操作
基本上這些,剩余對矩陣操作的命令都可以百度的,哈哈