MATLAB 您所在的位置:网站首页 MATLAB的find函数 MATLAB

MATLAB

2024-07-05 09:20| 来源: 网络整理| 查看: 265

文章目录 一、函数调用格式及说明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 实验室设备网 版权所有