参见张志涌精通matlab

>> A=randn(3,4)

A =

-0.5883

0.1139

-0.0956

-1.3362

2.1832

1.0668

-0.8323

0.7143

-0.1364

0.0593

0.2944

1.6236

以逻辑数组表达满足条件的元素:

>>L=(A>0)

L =

0

1

0

0

1

1

0

1

0

1

1

1

%寻找符合条件元素位置(返回为一列,并以单下标形式表示位置,故转置为一行)

>>s=(find(L))'或者

>>

s=(find(A>0))'

s =

2

4

5

6

9

11    12

可以对满足条件的元素集体赋值

>> A(s)=0

A =

-0.5883

0

-0.0956

-1.3362

0

0

-0.8323

0

-0.1364

0

0

0

如果要以双下标形式返回符合条件的元素位置:

>> [ii,jj]=find(A==0);

>>

disp(ii'),disp(jj')

2

1

2

3

3

2

3

1

2

2

2

3

4

4

最后,与arrayfun综合运用的一个例子,问题见于simwe forum,想了下可以采用下面的两种方式来完成:

请问如何查找矩阵中相同向量的位置?

比如矩阵A=【1,2,3,1;

2,3,4,2;

3,3,8,3】

向量为b =【1;2;3】

如何能不用循环找出b在A矩阵列中的位置,loc=【1

4】呢?方法一:A=[1,2,3,1;2,3,4,2;3,3,8,3];B=[1;2;3];C=find((ismember(A',B','rows'))');方法二:A=[1,2,3,1;2,3,4,2;3,3,8,3]B=[1;2;3];[M,N]=size(A);N=1:N;P=find(arrayfun(@(n)

isequal(A(:,n),B),N));

版上回复的其它方法:

方法1:find(all(bsxfun(@eq,A,B)))方法2:find(arrayfun(@(n)

all(A(:,n)==B),1:4))方法3: find(all(~bsxfun(@minus,A,B)))方法4:

find(arrayfun(@(n) isequal(A(:,n),B)

,1:4))方法5:find(B'*A==sum(B.^2))

bsxfun和arrayfun函数非常有用,建议楼主参考帮助文档了解其用法。方法5是用了点数学方法,有时候我们多分析下问题会得到意想不到的结果。

也可以不那么复杂,我只会些简单的函数命令(其实和你的方法3一个思路)

%% 矩阵中寻找向量

clc

clear all

A=[1 2 3;1 2 3;2 3 4;3 4 5]'

B=repmat([1:3]',1,4)

D=find(~all(B-A,1))

%B = all(A, dim) tests along the dimension of A specified by

scalar dim.

%dim=1:每一列都为非0,该列取1,否则取0,缺省;dim=2:行;dim=3:页,以此类推

matlab取矩阵满足条件,[MATLAB]矩阵中寻找满足条件的元素相关推荐

  1. excil mysql查询 条件_excel多条件查找 Excel中实现多条件查找的15种方法

    excel多条件查找 Excel中实现多条件查找的15种方法,平凡的世界平凡的你,努力学习使我们变得不平凡,今天要介绍的知识是excel多条件查找的相关知识,你准备好学习excel多条件查找 Exce ...

  2. matlab筛选矩阵列,【转载】[Matlab]在矩阵中寻找满足条件的元素

    参见张志涌精通matlab >> A=randn(3,4) A = -0.5883    0.1139   -0.0956   -1.3362 2.1832    1.0668   -0. ...

  3. matlab取中间的几位数,Excel中取前几位数、中间几位数、后几位数的方法

    在Excel中,我们可能会遇到取一组数据前几位数,中间几位数,或者后几位数的问题,这该怎么办呢?今天就教大家在Excel中用left.mid.right函数分别取出前几位数.中间几位数和后几位数的方法 ...

  4. excel按条件查询mysql_Excel中实现多条件查找的15种方法

    如下图所示,根据第9行的产品和型号,从上面表中查找"销售数量",结果如C10所示 1.SUM函数 公式{=SUM((A2:A6=A9)*(B2:B6=B9)*C2:C6)} 公式简 ...

  5. python中多条件语句_Python中的带条件语句

    所以我编写了这段代码:它的调用方式如下: with c_with(needs_with(), lambda: get_stuff()) as gs: ##DOESN't call get_stuff( ...

  6. [LeetCode题解]从两个有序数组的并集中寻找第k小元素

    Given two sorted arrays A, B of size m and n respectively. Find the k-th smallest element in the uni ...

  7. python同时满足两个条件_python算法-快速寻找满足条件的两个数

    题目前提是一定存在这样两个数 解法一就不写了...一般想不到吧 一开始想到的是解法二最后的用hash表 (其实是想到创建一个跟target一样大的数组啦..存在就写入index,但是要全部找出,那得二 ...

  8. LeetCode 378. 有序矩阵中第K小的元素(二分查找)

    文章目录 1. 题目 2. 解题 2.1 暴力法 2.2 二分查找 1. 题目 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素. 请注意,它是排序后的第k小元素,而 ...

  9. 【Groovy】集合遍历 ( 使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 | 代码示例 )

    文章目录 一.使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 1.闭包中使用 == 作为 findAll 方法的查找匹配条件 2.闭包中使用 is 作为 findAll 方法的查找匹 ...

最新文章

  1. HDU 2717 Catch That Cow(BFS)
  2. ubuntu16配置ZooKeeper集群(这里用的是Zookeeper3.4.10)
  3. Java文件字节流和字符流FileInputStream,FileOutputStream,FileReader,FileWriter
  4. svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted
  5. java util包类_java.util包下的类及常用方法
  6. opensource项目_最佳Opensource.com:教育
  7. 试题4 基础练习 闰年判断
  8. C++之安装boost库
  9. Linux系统编程二:字符设备控制之点亮LED灯、控制蜂鸣器
  10. cadence PCB走等长线设置
  11. HTML怎么让左边占满整个竖屏,关于移动端页面强制竖屏
  12. UG自定义工程图模板(一)
  13. 视频处理及MAX7456的图文解释
  14. Mozilla 考虑从 Firefox 剥离 XUL 和 XBL
  15. 手机 9006 端口 不断的闪掉
  16. JavaGUI——Java图形用户界面
  17. 萌妹子Python入门指北(二)
  18. 程序员的自我修养 --- 热爱、分享与梦(本人简历及开源社区贡献)
  19. 十六进制(二进制)编辑器
  20. 国自然申请,这些行为可能会引发学术不端

热门文章

  1. 统信软件:第一份收入破亿的答卷
  2. 插件.ignore的使用
  3. shell 判断网线插拔_shell脚本自动检测网络掉线和自动重连
  4. 用Prophet预测USDCNY走势--------仿照forecasting-stock-perfomance-with-prophet对美元人民币走势进行预测
  5. 软件实训-用例图2.0 + 简单用例描述
  6. 游戏推广免费的cps模式和游戏加盟平台选择的一个误区。
  7. Centos 安装 KVM虚拟化工具 超云服务器 VMware
  8. (47)【漏洞发现】漏扫工具合集、WAF绕过分类
  9. macbook修改账户名称
  10. QQ侧滑菜单的实现和拓展-DrawerLayout