matlab中的find函数的使用

大家好!我看过help,但有些不懂。看下面代码,我对r的理解如下:1,2为第1列非零元素的行数;1为第2列非零元素的行数;2,3为第3列非零元素的行数。v则是按列排序的非... 大家好!我看过help,但有些不懂。看下面代码,我对r的理解如下:1,2为第1列非零元素的行数;1为第2列非零元素的行数;2,3为第3列非零元素的行数。v则是按列排序的非零元素数值。我这样理解对吗。
不过我对c看不懂,请指教
X =

3 2 0
-5 0 7
0 0 1
[r,c,v] = find(X)
returns a vector of row indices of the nonzero entries of X
r =
1
2
1
2
3
a vector of column indices of the nonzero entries of X
c =
1
1
2
3
3
and a vector containing the nonzero entries of X.
v =
3
-5
2
7
1
展开
 我来答
xuemantian008
2010-04-25 · TA获得超过112个赞
知道小有建树答主
回答量:101
采纳率:100%
帮助的人:81.3万
展开全部
相当正确,[r,c,v] = find(X)讲的是找出X中大于0的数,列出他们所在的行,列,值。顺序是先找第一列的从上到下,再找第二列的从上到下,依次类推。
如果是[r,c,v] = find(X>0)的话,v会变成都是1的向量,可以看做是对X>0的判断,值为1表示它是大于0的。
lskyp
2010-04-25 · TA获得超过337个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:146万
展开全部
r和c一块来看。
r = 1 2 1 2 3
c = 1 1 2 3 3
就是X里面不为零的点的位置为第一行第一列,第二行第一列,第一行第二列,第二行第三列,第三行第三列(行号为r,列号为c),v为不为零的数据元素。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者UZFFeMGHqO
2019-12-18 · TA获得超过3907个赞
知道大有可为答主
回答量:3101
采纳率:26%
帮助的人:219万
展开全部
输出是对的。因为他找到的是B(2:n,2)中的第一个元素。
你可以好好看看find函数的作用。
你如果写下面代码应该就对了:
A
=
B(2:n,2);
A(q=find(B(2:n,2)==max(abs((B(2:n,2))))))
这个输出就是第二列的第二个元素。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式