使用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 allpat = '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的元素所在位置
也是自己理解,如有不正之处,还望指正!希望我可以帮上点小忙!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)