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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab数组中如何找某个值的坐标相关的知识,希望对你有一定的参考价值。

1 2 3 4 5,我想知道所有值为3的数在数组中的坐标,随便写的比如我有一个2行3列的数组

参考技术A

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
5;6
7
3
1
2]
>>
[m,n]=find(A==3)
从运行结果可知,找到A中元素3的位置为:第1行第3列

第2行第3列。

在matlab中,怎么把图片中的图像轮廓坐标找出来?

要二值图像才行
格式:B = bwboundaries(BW,conn)(基本格式)

作用:获取二值图中对象的轮廓。B是一个P×1的cell数组,P为对象个数,每个cell是Q×2的矩阵,对应于对象轮廓像素的坐标。Q内每一行表示连通体的边界像素的位置坐标(第一列是纵坐标Y,第二列是横坐标X),Q为边界像素的个数。追问

我现在能够找到轮廓,可是不会把这个轮廓的坐标输出来,还请指教。我不会编程,还请说细一点,谢谢。

参考技术A B = bwboundaries(BW,conn);

A=ind2sub(B*(B==255));

程序解析:
1、第一条指令,首先将图像变成一维的;
2、其次:依次取出每个像素判断是不是255(白色)找出是255的 那一段来;
3、然后确定255那段的 中心。用ind2sub()函数肯定能精确定位的。
参考技术B simple(S),采用多种方法化简多项式,包括simplify,expand、factor、combine、radsimp、convert、collect

采用radsimp结果就是x

估计程序问题
>> syms x
>> s=x^(2)^(1/2);
>> simple(s)

simplify:
csgn(x)*x

radsimp:
x

combine(trig):
(x^2)^(1/2)

factor:
(x^2)^(1/2)

expand:
(x^2)^(1/2)

combine:
(x^2)^(1/2)

convert(exp):
(x^2)^(1/2)

convert(sincos):
(x^2)^(1/2)

convert(tan):
(x^2)^(1/2)

collect(x):
(x^2)^(1/2)

mwcos2sin:
(x^2)^(1/2)

ans =
x

以上是关于matlab数组中如何找某个值的坐标的主要内容,如果未能解决你的问题,请参考以下文章

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

在matlab中,怎么把图片中的图像轮廓坐标找出来?

获取高于某个值的二维数组中的局部最大值坐标

如何将matlab中的坐标系进行旋转

matlab三维图怎么找到z坐标某值对应的x和y值

在MATLAB中知道多个点的位置坐标,怎样求各个点之间的距离?