Jor*_*ith 0 comparison matlab loops
这很疯狂,多年来一直困在这个MATLAB代码上.我得到的是以下内容:
for i = 1 : 0.1 : 5
index = find(someArray == i)
%do stuff
end
Run Code Online (Sandbox Code Playgroud)
现在第一次循环运行,当i = 1时,index返回正确的值(例如45).现在,第二次循环运行时,index被设置为一组空括号 - '[]'......!(其余迭代也会发生同样的情况).
这很疯狂,因为在1.1处启动循环会将索引设置为逻辑数值.实际上,每次迭代都应该使用find为索引设置逻辑值.所以它就像'发现'不喜欢在循环内部使用......
任何想法或帮助非常感谢!
你确定它someArray包含值1.1吗?这可能只是浮点精度的问题.网上有很多关于此类事情的信息,包括:
http://www.mathworks.com/company/newsletters/news_notes/pdf/Fall96Cleve.pdf
http://www.mathworks.com/support/tech-notes/1100/1108.html
http://www.mathworks.com/help/techdoc/matlab_prog/f2-12135.html?#bqxyrhp