matlab 中 find() 函数用法
一、 功能:
寻找非零元素的索引和值
二、相关函数语法:
ind = find(X)
ind = find(X, k)
ind = find(X, k, 'first')
ind = find(X, k, 'last')
[row,col] = find(X, ...)
[row,col,v] = find(X, ...)
三、说明:
index= find(X)
找出矩阵X中的所有非零元素,并将这些元素的线性索引值(linear indices:按列)返回到向量index中。
如果X是一个行向量,则index是一个行向量;否则,index是一个列向量。
如果X不含非零元素或是一个空矩阵,则index是一个空矩阵。
index = find(X, k) 或 3. index = find(X, k, 'first')
找到前K个不为0的线性索引值。k必须是一个正数,但是它可以是任何 数字数值类型。
index = find(X, k, 'last')
找到后k个不为零元素的线性索引值。
[row,col] = find(X, ...)
返回矩阵X中非零元素的行和列的索引值。这个语法对于处理稀疏矩阵 尤其有用。
如果X是一个N(N>2)维矩阵,col包括列的线性索引。
[row,col,v] = find(X, ...)
返回X中非零元素的一个列或行向量v,同时返回行和列的索引值。如果X是一个逻辑表示,则v是一个逻辑矩阵。输出向量v包含通过评估X表示得到的逻辑矩阵的非零元素。
四、解释
I.用法一:
b=find(a),a是一个矩阵,查询非零元素的位置,如果X是一个行向量,则返回一个行向量;否则,返回一个列向量。如果X全是零元素或者是空数组,则返回一个空数组,例子如下所示,也可以用b=find(a>2),这句的意思是在a中找到比较2大的元素
a=[1 3;0 4]
b=find(a)
输出
a =
1 3
0 4
b =
1
3
4
解释一下为什么会得到b的值
a(1)
ans =
1
a(2)
ans =
0
II.用法二:
b=find(a,2),找出a中最先出现的2个不为零的数,a是你所要找的矩阵,2参数是指数量所下
a=[1 3;0 4]
b=find(a,2)
输出
a =
1 3
0 4
b =
1
3
III.用法三:
c=find(a,2,'first')用法和二基本一样,如下
a=[1 3;0 4]
b=find(a,2,'first')
输出
a =
1 3
0 4
b =
1
3
IV.用法四:
c=find(a,2,'last') 这句的意思是从最后一个非零元素起,找2个不为零的元素,如下
a=[1 3;0 4]
b=find(a,2,'last')
输出
a =
1 3
0 4
b =
3
4
V.用法五:
[a1,a2]=find(a),找出a矩阵中非零元素所在行和列,并存在a1,a2中
a=[1 3;0 4]
[a1,a2]=find(a)
输出
a =
1 3
0 4
a1 =
1
1
2
a2 =
1
2
2
VI.用法六:
[a1,a2,v]=find(a),找出矩阵中非零元素所在行和列,并存在a1,a2中,并将结果放在v中,如下所示,这个得到的v是a中第几行第几列的**非零**元素
a=[1 3;0 4]
[a1,a2,val]=find(a)
输出
a =
1 3
0 4
a1 =
1
1
2
a2 =
1
2
2
val =
1
3
4
VII.用法七:
[a1,a2,val]=find(a>2),返回一个单位列向量,这里不满足a>2,如下所示
a=[1 3;0 4]
[a1,a2,val]=find(a>2)
a =
1 3
0 4
a1 =
1
2
a2 =
2
2
val =
2×1 logical 数组
1
1
val就是说矩阵中第1行第2列和第2行第2列的元素满足X>2为真用1来表示。
注意一下VI与VII的区别
X = [4 2 0; -4 0 6; 0 0 2]
[a1,a2,val1]=find(X)
[a3,a4,val2]=find(X>2)
输出
X =
4 2 0
-4 0 6
0 0 2
a1 =
1
2
1
2
3
a2 =
1
1
2
3
3
val1 =
4
-4
2
6
2
a3 =
1
2
a4 =
1
3
val2 =
2×1 logical 数组
1
1
*注意val1的值。
matlab 中 find() 函数用法的更多相关文章
- matlab 中max函数用法
Matlab中max函数在矩阵中求函数大小的实例如下:(1)C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的 ...
- MATLAB中cell函数用法
cell元包是matlab中提供的一种数据类型,功能强大. 关于cell的创建: 1.跟一般创建举证一样,直接使用C = {A B D E}这种形式,不过这里把"[]"改成了}&q ...
- Matlab中Rand()函数用法
一.理论准备 matlab函数randn:产生均值为0,方差 σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数. 用法:Y = randn(n),返回一个n*n的随机项的矩阵.如果n不是 ...
- MATLAB中stem函数用法
stem(Y) 将数据序列Y从x轴到数据值按照茎状形式画出,以圆圈终止.如果Y是一个矩阵,则将其每一列按照分隔方式画出. stem(X,Y)在X的指定点处画出数据序列Y. stem(...,'fil ...
- matlab中patch函数的用法
http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...
- matlab中norm函数的用法
格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM Matrix or vecto ...
- matlab中repmat函数的用法(堆叠矩阵)
matlab中repmat函数的用法 B = repmat(A,m,n) B = repmat(A,[m n]) B = repmat(A,[m n p...]) 这是一个处理大矩阵且内容有重复时使用 ...
- Matlab中imfilter()函数的用法
Matlab中imfilter()函数的用法 功能:对任意类型数组或多维图像进行滤波.用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,... ...
- MATLAB中“fitgmdist”的用法及其GMM聚类算法
MATLAB中“fitgmdist”的用法及其GMM聚类算法 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 高斯混合模型的基本原理:聚类——GMM,MA ...
随机推荐
- 【转载】计算机程序的思维逻辑 (82) - 理解ThreadLocal
本节,我们来探讨一个特殊的概念,线程本地变量,在Java中的实现是类ThreadLocal,它是什么?有什么用?实现原理是什么?让我们接下来逐步探讨. 基本概念和用法 线程本地变量是说,每个线程都有同 ...
- Serverless 的资源评估与成本探索
Serverless 布道师在讲解 Serverless 架构和云主机等区别的时候,总会有类似的描述: 传统业务开发完成想要上线,需要评估资源使用.根据评估结果,购买云主机,并且需要根据业务的发展不断 ...
- ZOJ 4067 Books (2018icpc青岛J) (贪心)
题意 给你一个长度为n的数组,代表每一个物品的价格.你有一个初始钱数\(x\),采用以下方法贪心: 从\(1\)到\(n\)扫一遍,如果\(x\)不比\(a[i]\)小,就买下它,买不起就跳过. 给你 ...
- 视觉光盘,只有我可以贴全世界唯一,Windows上最高级的DOCKER客户端数字, 夜晚点击一个都没有,值班的小编辛苦了
继上一篇视觉光盘,只有我可以贴全世界唯一,你永远截不到的图片(小编请用人性化语言解释移出首页) 合体了 晚上的小编, 呆了吗? 我看到了少于150字的随笔不允许发布到网站首页 我决定了用我专业的龟式输 ...
- Go语言实现:【剑指offer】包含min函数的栈
该题目来源于牛客网<剑指offer>专题. 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数. 时间复杂度应为O(1). Go语言实现: var myList = ...
- MySql Docker的一些操作方法
偶尔有需求,涉及到数据库的改动,那一定要表结构改动.程序调试都先在测试环境淬炼千百遍. 现在流行微服务.docker部署,很容易拉起一整套环境. Compose File Demo mysql: im ...
- 《C# 爬虫 破境之道》:第二境 爬虫应用 — 第七节:并发控制与策略
我们在第五节中提到一个问题,任务队列增长速度太快,与之对应的采集.分析.处理速度远远跟不上,造成内存快速增长,带宽占用过高,CPU使用率过高,这样是极度有害系统健康的. 我们在开发采集程序的时候,总是 ...
- FFmpeg命令读取RTMP流如何设置超时时间
子标题:FFmpeg命令录制RTMP流为FLV文件时如何设置超时时间 | FFmpeg命令如何解决录制产生阻塞的问题0x001: 前言 今天在测试程序时遇到两个问题.Q1:ffmpeg录制RTMP流并 ...
- 图像里的"白噪声"——电视机搜不到台时雪花斑点的形成原因
作者:❄️固态二氧化碳❄️ (主页) 链接:图像里的"白噪声"--电视机搜不到台时雪花斑点的形成原因 - 固态二氧化碳的博客 - CSDN博客 来源:CSDN博客 发表时间:201 ...
- 14-Response
今日知识 1. response 2. ServletContext对象 response * 功能:设置响应消息 1. 设置响应行 1. 格式:HTTP/1.1 200 ok 2. 设置状态码:se ...