] Моя проблема в следующем:
У меня есть список [] список [
], и я хочу перебрать этот список и подсчитать, сколько раз каждое значение от 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 знаков после запятой. [
] [] Я подумал, может быть, это проблема с синхронизацией, но не знаю, как это исправить. [
] [] Любая помощь будет принята с благодарностью. [
]