MATLAB | 您所在的位置:网站首页 › MATLAB的find函数 › MATLAB |
文章目录
一、函数调用格式及说明1. k=find(X)2. k=find(X,n)3. k=find(X,n,direction)4. [row,col] = find(___)5. [row,col,v] = find(___)
二、函数应用示例1. 查找矩阵中的零元素和非零元素位置2. 查找满足特定条件的元素
一、函数调用格式及说明
1. k=find(X)
返回数组X中非零元素的位置 1.1 如果X为一个非零数,则find返回1;如果X为0,则find返回空数组 X=5; k1=find(X); Y=0; k2=find(Y); 1.2 如果X为向量,则find返回的也是一个向量; X1=[0,5,8,0,2,0]; %X1为行向量 k1=find(X1); %返回的k1也是一个行向量 X2=[0;5;8;0;2;0]; %X2为列向量 k2=find(X2); %返回的k2也是一个列向量 1.3 如果X为多维数组,则find按列查找非零元素的位置; X=[7,6,0;6,3,9;0,0,4]; %X为3×3的二维数组 k1=find(X); %find按列查找非零元素的位置,并返回一个列向量 Y=zeros(4,2,3); %创建一个4行2列3维的全零数组 Y([1 12 19 21])=1; %令三维数组的第1、12、19、21个元素的值为1 [row,col]=find(Y); %row返回非零元素的行下标,col返回的是相当于将三维数组全部放到二维上的列下标1.4 如果X全部为零元素或为空,则find返回一个空数组。 X=[]; k1=find(X); Y=[0,0;0,0;0,0]; k2=find(Y); 2. k=find(X,n) 返回与X中的非零元素对应的前n个位置 X=[0,6,0;6,3,9;0,0,4]; k1=find(X,6); k2=find(X,4); k3=find(X,1); 3. k=find(X,n,direction)direction可以为’first’(默认)或’last’; direction为’first’,查找与X中的非零元素对应的前n个位置; direction为’last’,查找与X中的非零元素对应的后n个位置。 X=[0,6,0;6,3,9;0,0,4]; k1=find(X); k2=find(X,4,'first'); k3=find(X,4,'last'); k4=find(X,1,'last'); 4. [row,col] = find(___)返回数组X中每个非零元素的行和列下标分别存储在row数组和col数组中,查找元素的顺序依旧是按列查找 X=[0,6,0;6,3,9;0,0,4]; [row,col]=find(X); 5. [row,col,v] = find(___)返回数组X中每个非零元素的行和列下标及X中所有非零元素的值,以向量形式返回 X=[0,6,0;6,3,9;0,0,4]; [row,col,v]=find(X); 二、函数应用示例 1. 查找矩阵中的零元素和非零元素位置 X=[1 0 2;0 1 1;0 0 4]; k1=find(X); %按列查找X中非零元素位置,并返回列向量 k2=find(~X); %对X使用逻辑not运算符查找零值 2. 查找满足特定条件的元素 %%%%%%%%%% 查找满足一个特定条件的元素位置 %%%%%%%%%% X1=[1 0 2 5;8 0 1 1;0 7 0 4]; k1=find(X10&X3 |
CopyRight 2018-2019 实验室设备网 版权所有 |