Используя Положение правильно - PullRequest
6 голосов
/ 22 апреля 2011

В справочных документах mma для Position в разделе «Возможные проблемы»

указано следующее.
In[1]:= Position[Range[-1, 1, 0.05], 0.1]
Out[1]= {}

Там нет объяснения, хотя. Почему это происходит? Так что, если мне действительно нужно найти позицию 0.1 в Range[-1,1,0.05], как мне это сделать?

1 Ответ

9 голосов
/ 22 апреля 2011

Это проблема числовой точности: 0,1 в Range внутренне не совпадает с введенным 0,1. Обычный способ решить эту проблему - сравнить с Equal, а не с неявным SameQ.

Position[Range[-1, 1, 0.05], x_ /; x == 0.1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...