Matlab查找数据之find函数
? ? ? ? ? ? 目錄
1.find函數
2.find功能函數
3.find功能函數詳解
3.1?k = find(X)
3.2?k = find(X<10,5)
3.3?k = find(y==0.3)
3.4?k = find(X,4,'last')
3.5?[row,col] = find(X>0 & X<10,3)
3.5 [row,col,v] = find(X)
3.6?[row,col] = find(X)
1.find函數
功能:查找非零元素的索引和值。
2.find功能函數
-
k = find(X)
? 功能:返回一個向量,該向量包含數組X中每個非零元素的線性索引。
? 如果X是向量,則find返回與X方向相同的向量。
? 如果X是多維數組,則find返回結果線性索引的列向量。
? 如果X不包含非零元素或為空,則find返回一個空數組。
-
k = find(X,n)
? 功能:返回對應于X中非零元素的前n個索引。
-
k = find(X,n,direction)
? 功能:其中direction為'last',查找X中的最后n個非零元素。方向的默認值為'first',查找前n個非零元素。
-
[row,col] = find(___)
? 功能:使用先前語法中的任何輸入參數返回數組X中每個非零元素的行和列下標。
-
[row,col,v] = find(___)
? 功能:返回向量v,其中包含X的非零元素。
3.find功能函數詳解
3.1?k = find(X)
在3×3矩陣中找到非零元素。
%% 矩陣中的零和非零元素
% 在3×3矩陣中找到非零元素。
X = [1 0 2; 0 1 1; 0 0 4]
%%
k = find(X)
%%
% 使用邏輯| not | | X |上的運算符 找到零。
k2 = find(~X)
輸出結果如下圖:
數組k,輸出的為二維數組X的非零元素的下標(索引),是按列進行排查的;
數組k2,輸出的為二維數組X的零元素的下標(索引),是按列進行排查的;
3.2?k = find(X<10,5)
在4×4矩陣中找到小于10的前五個元素
程序如下:
%% 滿足條件的要素
% 在4 x 4矩陣中找到小于10的前五個元素
% 方陣X = magic(4)
%%
%
k = find(X<10,5)
%%
% 查看| X |的相應元素。
X(k)
輸出結果如下圖:
3.3?k = find(y==0.3)
要查找特定的整數值,請使用==運算符。 例如,在奇數的1×10向量中找到等于13的元素。
%% 等于特定值的元素
% 要查找特定的整數值,請使用| == | 操作
% 找到等于| 13 |的元素.在奇數1乘10的向量中。x = 1:2:20%%
%
k = find(x==13)%%
% 要查找非整數值,請根據您的數據使用公差值。
% 否則,由于浮點,結果有時是一個空矩陣
% 舍入錯誤。
y = 0:0.1:1%%
%
k = find(y==0.3)%%
%
k = find(abs(y-0.3) < 0.001)
輸出結果如下圖:
3.4?k = find(X,4,'last')
查找最后幾個非零元素
%% 最后幾個非零元素
% 使用所有奇數索引元素創建6×6魔術方陣
% 等于零。X = magic(6);
X(1:2:end) = 0%%
% 找到_last_四個非零。
k = find(X,4,'last')
輸出結果如下圖:
3.5?[row,col] = find(X>0 & X<10,3)
查找滿足多個條件的元素
%% 滿足多個條件的元素
% 在4×4矩陣中找到大于| 0 |的前三個元素。 并且小于| 10 |。 指定兩個輸出以將行和列下標返回到元素。X = [18 3 1 11; 8 10 11 3; 9 14 6 1; 4 3 15 21]%%
%
[row,col] = find(X>0 & X<10,3)%%
% 第一個實例是| X(2,1)|,它是| 8 |。
輸出結果如下圖:
3.5 [row,col,v] = find(X)
尋找非零元素的下標和值
%% 非零元素的下標和值
% 在3×3矩陣中找到非零元素。 指定三個輸出以返回行下標,列下標和元素值。X = [3 2 0; -5 0 7; 0 0 1]%%
%
[row,col,v] = find(X)
輸出結果如下圖:
3.6?[row,col] = find(X)
尋找多維數組的下標
%% 多維數組的下標
% 在4×2×3數組中查找非零元素。 指定兩個輸出,| row |。 和| col |,返回非零元素的行和列下標。
% 當輸入是多維數組(| N> 2 |)時,| find | 返回| col | 作為| N-1 |的線性指標 | X |的尾隨尺寸。X = zeros(4,2,3);
X([1 12 19 21]) = 1%%
%
[row,col] = find(X)
輸出結果如下圖:
總結
以上是生活随笔為你收集整理的Matlab查找数据之find函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaFX将会留下来!
- 下一篇: libero soc 11.8在官网上申