matlab怎么找三维数组中数的位置 用find函数可以吗

比如一个480*640的三维矩阵用find查找64这个数的位置却出现这种情况,j的位置超出了640是什么意思,正确的查找方法是什么,求大神帮忙高分答谢... 比如一个480*640的三维矩阵 用find查找64这个数的位置 却出现这种情况,j的位置超出了640 是什么意思,正确的查找方法是什么,求大神帮忙 高分答谢 展开
 我来答
百度网友3c63e6c
2014-10-19 · TA获得超过2848个赞
知道大有可为答主
回答量:3829
采纳率:68%
帮助的人:2793万
展开全部
直接用[i,j] = find(c==64)
你这应该不是三维矩阵额,只有两个维度啊,480*640
百度网友d7b70c6de6
推荐于2016-04-04 · TA获得超过3.6万个赞
知道大有可为答主
回答量:9148
采纳率:81%
帮助的人:1711万
展开全部
[row,col,v] = find(X, ...)
返回X中非零元素的一个列或行向量v,同时返回行和列的索引值。
如果X是一个逻辑表示,则v是一个逻辑矩阵。
输出向量v包含通过评估X表示得到的逻辑矩阵的非零元素。
例如,
A= magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
[r,c,v]= find(A>10);
r', c', v'
ans =
1 2 4 4 1 3 (按列)
ans =
1 2 2 3 4 4 (按列)
ans =
1 1 1 1 1 1
这里返回的向量v是一个逻辑矩阵,它包含N个非零元素,N=(A>10)
所以不对的
不防试试下面
[i,j,z]=ind2sub(size(c),find(c==64))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百川一归大海
推荐于2018-02-12 · TA获得超过1547个赞
知道小有建树答主
回答量:4318
采纳率:55%
帮助的人:1022万
展开全部
[row,col,v] = find(X, ...)
返回X中非零元素的一个列或行向量v,同时返回行和列的索引值。
如果X是一个逻辑表示,则v是一个逻辑矩阵。
输出向量v包含通过评估X表示得到的逻辑矩阵的非零元素。
例如,
A= magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
[r,c,v]= find(A>10);
r', c', v'
ans =
1 2 4 4 1 3 (按列)
ans =
1 2 2 3 4 4 (按列)
ans =
1 1 1 1 1 1
这里返回的向量v是一个逻辑矩阵,它包含N个非零元素,N=(A>10)
所以不对的
不防试试下面
[i,j,z]=ind2sub(size(c),find(c==64))
追问
请问 最后一条语句是什么意思 有什么样的用法 
还有除了最后一条语句 前面的有用吗
追答
前面的是举例说明你错误的原因,最后一条可以求64在三维数组c中的位置。ind2sub可以将单个数字的索引位置转为哪行哪列,,。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式