] Подсчет вхождений в списке в Mathematica (с кодом, но не полностью работающим) [

] [

] Моя проблема в следующем: У меня есть список [] список [], и я хочу перебрать этот список и подсчитать, сколько раз каждое значение от 0 до 1 встречается в нем с размером шага [] step []. Я написал следующий код: [

] [
list = {0.2, 0.2, 0.7, 0.8, 0.17};

countingfornormal[list_, step_] := Module[{temp, num, res, i},
temp = Round[list, step];
num = {};
For[i = 0, i <= 1, i += step, {
   res = Count[temp, i];
   AppendTo[num, {i, res}];
}];
num
]
] [

] Однако при размере шага 0,01 кажется, что на выходе подсчитываются только значения до 0,17. Меня это действительно расстраивает, и я не могу понять почему. Я также заметил, что при размере шага 0,02 на выходе учитываются значения до 0,34. [

] [

] Я округляю вначале, потому что изначально я использовал большой список со значениями примерно до 7 знаков после запятой. [

] [

] Я подумал, может быть, это проблема с синхронизацией, но не знаю, как это исправить. [

] [

] Любая помощь будет принята с благодарностью. [

]
5
задан Mr.Wizard 16 August 2011 в 23:43
поделиться