matlab数组中如何找某个值的坐标

matlab数组中如何找某个值的坐标,第1张

1、实现方法

使用find()函数:[m,n]=find(A==x)

2、解析

A==x:将矩阵A的每个元素与x比较,如果相等,相应位置的元素就等于1,否则为0。

find(X):返回X中非零元素的索引(即行列位置)。

3、实例演示:找出矩阵A中所有等于信森3的元素的行列位置

打开matlab,在命令窗口运行如下代码:液岩

>>

A=[1

2

3

4

56

7

3

1

2]

>>

[m,n]=find(A==3)

从运行结果可知,找到A中元素3的位置为:第1行第3列

第闹坦御2行第3列。

读入每一行,用正则表达式来查找:

clear all

pat = 'DT=(?<time>.*)SEC'

fr = fopen ('data.txt', 'r')

while feof(fr) ~= 1          

    str = fgetl(fr) 

    n=regexp(str,pat,'names')

    if(size(n,1)>0)

        time = str2double( n(1).time)

     雹余橘   毁答fclose(fr)

        return

    end

end  

fclose(fr)  

------------------

time =

  源团  0.0500

matlab find函数用于返回所需要元素悔轮的所在位置 (位置的判定:在矩阵中,第一列开始,自上而下,依次为1,2,3...,然后再从第二列,第三列依次往后数)

find(A)返回矩阵A中非零元素所在位置

>>A = [1 0 4 -3 0 0 0 8 6]

>>X = find(A)

X =

1 3 4 8 9

find(A>5)返回矩阵A中大于5的元素所在位置

>>find(A>5)

ans =

8 9

[i,j,v]=find(A) 返回矩阵A中非零元素所在碧没信的行i,列j,和元素的值v(按所在位置先后顺序输出)

>>察氏 A=[3 2 0-5 0 70 0 1]

>>[i,j,v]=find(A)

i =

1

2

1

2

3

j =

1

1

2

3

3

v =

3

-5

2

7

1

find(A>m,4)返回矩阵A中前四个数值大于m的元素所在位置

也是自己理解,如有不正之处,还望指正!希望我可以帮上点小忙!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12557179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存