查看: 257|回复: 12|关注: 0
打印 上一主题 下一主题

[已解决] 有人知道用find函数搜索矩阵中的元素,对矩阵长度是否有限制?是不是超过50000长度的元素就搜索不到了?

[复制链接]

新手

12 麦片

财富积分


050


1

主题

13

帖子

0

最佳答案
本帖最后由 无然歆羡 于 2019-6-21 10:16 编辑

如题,find函数搜索矩阵中的元素,对矩阵长度是否有限制?是不是元素位置超过50000长度的(比如在54901乘2的矩阵中)就搜索不到了?如此,得到的元素位置为空?

MATLAB 基础讨论
版块优秀回答者

入门

403 麦片

财富积分


50500


8

主题

194

帖子

24

最佳答案
  • 关注者: 5
2#
发表于 2019-6-21 10:04:11 | 只看该作者
本帖最后由 皮皮小龙虾 于 2019-6-21 10:15 编辑

你说的是矩阵的长度还是维度?
50000维度?这么大维度第一次听说。。。如果是矩阵长度的话,50000也是可以用find搜索到的

新手

12 麦片

财富积分


050


1

主题

13

帖子

0

最佳答案
3#
 楼主| 发表于 2019-6-21 10:25:58 | 只看该作者
皮皮小龙虾 发表于 2019-6-21 10:04
你说的是矩阵的长度还是维度?
50000维度?这么大维度第一次听说。。。如果是矩阵长度的话,50000也是可以 ...

描述错误,已更改,是在54901*2的矩阵中搜索元素位置,但是超过50000后返回值一直为空???

MATLAB 基础讨论
版块优秀回答者

入门

403 麦片

财富积分


50500


8

主题

194

帖子

24

最佳答案
  • 关注者: 5
4#
发表于 2019-6-21 10:30:06 | 只看该作者
方便的话要不发一下数据,我试一下,按理说应该不会这样,我有这样用过,十几万的点也可以找到的

新手

12 麦片

财富积分


050


1

主题

13

帖子

0

最佳答案
5#
 楼主| 发表于 2019-6-21 10:33:21 | 只看该作者
皮皮小龙虾 发表于 2019-6-21 10:30
方便的话要不发一下数据,我试一下,按理说应该不会这样,我有这样用过,十几万的点也可以找到的 ...

稍等下,我自己在修改跑一下试试

新手

12 麦片

财富积分


050


1

主题

13

帖子

0

最佳答案
6#
 楼主| 发表于 2019-6-21 11:00:04 | 只看该作者
本帖最后由 无然歆羡 于 2019-6-21 11:15 编辑
皮皮小龙虾 发表于 2019-6-21 10:30
方便的话要不发一下数据,我试一下,按理说应该不会这样,我有这样用过,十几万的点也可以找到的 ...

P=[0.0100:0.0001:5.5000]';
n=0;
for i=4.0000:0.0001:5.5000
    [k1,k2]=find(PPre==i);
    n=n+1;
    K(n,:)=[k1,k2];
end
K

新手

12 麦片

财富积分


050


1

主题

13

帖子

0

最佳答案
7#
 楼主| 发表于 2019-6-21 11:04:13 | 只看该作者
本帖最后由 无然歆羡 于 2019-6-21 11:15 编辑

这种的就跑不通

MATLAB 基础讨论
版块优秀回答者

入门

403 麦片

财富积分


50500


8

主题

194

帖子

24

最佳答案
  • 关注者: 5
8#
发表于 2019-6-21 15:02:28 | 只看该作者
无然歆羡 发表于 2019-6-21 11:00
P=[0.0100:0.0001:5.5000]';
n=0;
for i=4.0000:0.0001:5.5000

是不是 ppre 这个矩阵里没有那个数值呀,要不你把这个矩阵发一下,还有你运行的时候的错误信息发一下

新手

12 麦片

财富积分


050


1

主题

13

帖子

0

最佳答案
9#
 楼主| 发表于 2019-6-21 15:41:36 | 只看该作者
皮皮小龙虾 发表于 2019-6-21 15:02
是不是 ppre 这个矩阵里没有那个数值呀,要不你把这个矩阵发一下,还有你运行的时候的错误信息发一下 ...

哦,我写错了,是PPre就是P

P=[0.0100:0.0001:5.5000]';

% 情况1,直接搜索矩阵P中的某一元素
[k1,k2]=find(P==5.4)

% 情况2,for循环搜索矩阵P中的多个元素
n=0;
for i=5.3:0.0001:5.5
    [k1,k2]=find(P==i);
    n=n+1;
    K(n,:)=[k1,k2];
end
K

新手

12 麦片

财富积分


050


1

主题

13

帖子

0

最佳答案
10#
 楼主| 发表于 2019-6-21 15:45:29 | 只看该作者
皮皮小龙虾 发表于 2019-6-21 15:02
是不是 ppre 这个矩阵里没有那个数值呀,要不你把这个矩阵发一下,还有你运行的时候的错误信息发一下 ...


                               
登录/注册后可看大图

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表