2021-05-12 14:32:11
Matlab中矩陣資料存取的N種方式
2019-12-25 05:04:21
Matlab提供了靈活的矩陣存取操作方式,下面介紹常用的方式。
1
方法一,用冒號「:」一次性取矩陣中的所有元素,這在對矩陣所有元素求和時很有用,求矩陣的最大最小值等時很有用,只需調一次相應的函數:
clc
a1=1:6
A=reshape(a1,2,[])
a2=A(:)
sA1=sum(sum(A))
sA2=sum(A(:))
maxA1=max(max(A))
maxA2=max(A(:))
執行結果可以看出,matlab中矩陣是按列存,與C語言中的陣列不同。
2
方法二,用冒號加數位存取指定區域元素:
clc
a1=1:16
A=reshape(a1,4,[])
subA1=A(2:4,1:3)
3
方法三,巧妙利用end關鍵詞,獲取某維最後位置的元素:
clc
a1=1:12
A=reshape(a1,3,[])
last=A(end)
subA1=A(2:end,3:end)
4
方法四,獲取多個指定位置的數:
clc
a1=1:12
A=reshape(a1,3,[])
eles=A([1 4 5 6 9 end])
5
方法五,巧妙用真值矩陣獲取滿足一定條件的資料:
clc
a1=1:12
A=reshape(a1,3,[])
mask1=A>6
eles1=A(mask1)
6
方法六、巧妙利用find函數:
clc
a1=1:9
A=reshape(a1,3,[])
ind=find(A>5)
eles1=A(ind)
相關文章