matlab中,运用find寻找数组中某个数(设为a)的位置,但是结果却是Empty matrix: 1-by-0

我很肯定的是我的数组中存在a是这样子的命令>>d=1:0.01:5;find(d==1.7)ans=Emptymatrix:1-by-0到底是怎么回事呀?d里面明明就有1... 我很肯定的是我的数组中存在a
是这样子的命令
>> d=1:0.01:5;
find(d==1.7)

ans =

Empty matrix: 1-by-0
到底是怎么回事呀?d里面明明就有1.7的呀
展开
 我来答
xazhuyuchen
2012-06-20 · TA获得超过403个赞
知道小有建树答主
回答量:278
采纳率:100%
帮助的人:104万
展开全部
y=[1 2 3 4 5];
u=find(y==4);
>> u
u =
4
也可以
u=find(y==max(y));
>> u
u =
5
返回的就是满足要求的下标。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oqqai123
推荐于2017-11-25 · 超过12用户采纳过TA的回答
知道答主
回答量:40
采纳率:100%
帮助的人:31.7万
展开全部
把程序贴出来看看,估计是你调用格式不正确。对二维矩阵,调用格式为[x y]=find(arr==a)
追问
是这样子的命令
>> d=1:0.01:5;
find(d==1.7)

ans =

Empty matrix: 1-by-0
到底是怎么回事呀?d里面明明就有1.7的呀,谢谢啦
追答
这个问题很常见。对于由二进制码表示的浮点数,有一部分值是无法精确达到的。你可以输入命令vpa(d(71),20)   ans =1.7000000000000001776。vpa的意思是显示d(71)到小数点后20位,这时你就可以看到,这个值只是非常非常接近1.7,但是不等于它。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式