(1) 如果是向量(無論是行向量還是列向量),都是直接求和
E =[1,2,3]
E =[1;2;3]sum(E)(2) 如果是矩陣,則需要根據行和列的方向作區分
E =[1,2;3,4;5,6]
按列求和(得到一個行向量)
a =sum(E)
a =sum(E,1)
按行求和(得到一個列向量)
a =sum(E,2)
對整個矩陣求和
a =sum(sum(E))
a =sum(E(:))
prod 函數(求積)
(1) 如果是向量(無論是行向量還是列向量),都是直接求積
E =[1,2,3]
E =[1;2;3]prod(E)(2) 如果是矩陣,則需要根據行和列的方向作區分
E =[1,2;3,4;5,6]
按列求積(得到一個行向量)
a =prod(E)
a =prod(E,1)
按行求積(得到一個列向量)
a =prod(E,2)
對整個矩陣求積
a =prod(prod(E))
a =prod(E(:))
max 函數(求最大值)
(1) 如果是向量(無論是行向量還是列向量),都是直接求最大值
E =[1,2,3]
E =[1;2;3]max(E)(2) 如果是矩陣,是按列求最大值
E =[1,2,3;4,5,6]max(E)
輸出:456
size 函數(求長度)
A =[1,2,3;4,5,6]% 返回一個行向量,第一個元素是矩陣的行數,第二個元素是矩陣的列數
[r,c]=size(A)
輸出: r =2
c =3% 將矩陣A的行數返回到第一個變量 r,將矩陣的列數返回到第二個變量 c
r =size(A,1)% 返回行數
c =size(A,2)% 返回列數
repmat 函數(複製)
A =[1,2,3;4,5,6]% 將矩陣A複製m×n塊,即把A作爲B的元素,B由m×n個A平鋪而成
B =repmat(A,2,1)% 複製兩行一列
輸出:123456123456
B =repmat(A,2,2)% 複製兩行兩列
輸出:123123456456123123456456
find 函數(查找非0元素)
(1) 如果是向量(無論是行向量還是列向量),都是直接返回非0元素的位置
X =[104-300086]
ind =find(X)
輸出:13489
ind =find(X,2)% 返回前2個非0的元素的位置
輸出:13(2) 如果是一個矩陣(二維,有行和列),則返回列向量或座標
X =[1-30;008;406]
ind =find(X)% 返回列向量
輸出:13489[r,c]=find(X)
輸出:
r =13123
c =11233[r,c]=find(X,1)% 只找第一個非0元素的座標
輸出:
r =1
c =1
A =[123;221;203]inv(A)
輸出:-0.42860.42860.28570.28570.2143-0.35710.2857-0.28570.1429
求特徵值和特徵向量
A =[123;221;203](1) 求矩陣A的全部特徵值,構成向量E
E =eig(A)
輸出:-1.31665.31662.0000(2) 求矩陣A的全部特徵值,構成對角陣D,並求A的特徵向量構成V的列向量
(V的每一列都是D中與之相同列的特徵值的特徵向量)
[V,D]=eig(A)
輸出:
V =0.8364-0.6336-0.2408-0.3875-0.5470-0.8427-0.3875-0.54700.4815
D =-1.31660005.31660002.0000
查看矩陣存儲方式
A=[123;456;789];A(4)% 查找元素4的位置
輸出:2A(8)% 查找元素8的位置
輸出:6A(9)% 查找元素9的位置
輸出:9
說明矩陣是按列存儲的,如下方式存儲
A =123456789
矩陣與常數的大小判斷運算
X =[1-30;008;406]
X >0
輸出:100001101
X ==4
輸出:000000100