24小时热门版块排行榜    

查看: 1838  |  回复: 4

lgxsam

木虫 (正式写手)

[求助] 问个关于matlab里find函数的问题!

最近用matlab里find函数的时候出现点问题,怎么也弄不明白,希望知道的人指教一下!问题之这样的:
有这么几个语句:
x = 59.8:0.1:148.7;
b = [121;122;123;124;125];
i = 633;
find(b(:,1)==x(i)) % 这时候的x(i)=123
但是find函数返回的是empty matrix。然而当我用
find(b(:,1)==123)
的时候,find返回的是3!
请问有没有人知道这是什么原因?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
lgxsam(金币+5): 2011-12-17 01:36:02
cenwanglai(金币+3): 感谢回复~ 2011-12-20 09:06:43
x(i)=123.000与123在matlab里面不是相等的

>> x = 59.8:0.1:148.7;
>> b = [121;122;123;124;125];
>> i = 633;
>> x(i)

ans =

  123.0000
>> find(b(:,1)==x(i)) % 这时候的x(i)=123

ans =

   Empty matrix: 0-by-1

>> find(b==ceil(x(i))) % 这时候的x(i)=123

ans =

     3
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
2楼2011-12-17 00:13:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangyuewu08

木虫 (著名写手)


dbb627(金币+1): 感谢应助 2011-12-17 11:40:53
判断两个数值是否相等,最好不要直接使用等于号,因为经过运算后,计算机可能会用浮点数来表示,这个时候通过比较差值的绝对值比较好,在楼主的代码中步长是0.1,可以把误差取为0.001,查找语句改为find(abs(b(:,1) - x(i)) ≤ 0.001)。
因为是用手机写的,符号可能不是很准确,绝对值的函数也记不太清,可能是fabs,但意思已经表达清楚了。
往事并不如烟
3楼2011-12-17 09:25:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangyuewu08

木虫 (著名写手)

判断两个数值是否相等,最好不要直接使用等于号,因为经过运算后,计算机可能会用浮点数来表示,这个时候通过比较差值的绝对值比较好,在楼主的代码中步长是0.1,可以把误差取为0.001,查找语句改为find(abs(b(:,1) - x(i)) ≤ 0.001)。
因为是用手机写的,符号可能不是很准确,绝对值的函数也记不太清,可能是fabs,但意思已经表达清楚了。
往事并不如烟
4楼2011-12-17 09:25:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baby_wolf

新虫 (初入文坛)


dbb627(金币+1): 欢迎交流 2011-12-19 19:01:12
楼上两位说的对。
请看:
>> x = 59.8:0.1:148.7; x(633)-123

ans =

   -1.421085471520200e-014
5楼2011-12-19 18:22:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lgxsam 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +3 启萌科技 2026-08-12 11/550 2026-08-13 22:57 by 启萌科技
[文学芳草园] 阿姨 +4 汪汪锅 2026-08-09 4/200 2026-08-13 19:43 by arzu_hma
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 28/1400 2026-08-13 17:51 by 医学老男孩
[基金申请] filecode +14 documentary 2026-08-10 16/800 2026-08-13 16:39 by 润生71
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +9 家与远方 2026-08-10 14/700 2026-08-13 09:41 by 臭臭不臭01
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +22 Lanmanbaby 2026-08-09 36/1800 2026-08-12 22:50 by sdfapple719
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +7 布布和一二 2026-08-10 10/500 2026-08-12 09:12 by 布布和一二
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[硕博家园] 读博的好处 +3 lnee 2026-08-11 3/150 2026-08-11 18:10 by 希望我好好的
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
信息提示
请填处理意见