Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
== :(Я Вам дал рабочий код, дающий приемлемые результаты для прикладных задач. Плюс возможность указывать любой диапазон CЧ.
Я Вам дал рабочий код, дающий приемлемые результаты для прикладных задач. Плюс возможность указывать любой диапазон CЧ.
Ну так а ложку?
А вам, уважаемый, известно, что между любыми, сколь угодно близкими друг к другу, вещественными числами имеется бесчисленное множество вещественных чисел ?
А известно, что интервал (0,1) по мощности эквивалентен бесконечной прямой ?
Если нет - задумайтесь об этом.
Если да - правильно формулируйте свой вопрос.
Заодно попытайтесь сказать, с какой плотностью (штук на ед. длины) вы хотите иметь генерацию СЧ ?
А может вы хотите, чтобы ваш ГСЧ генерил все числа отрезка (0,1) ?
???!!!!
"А может вы хотите, чтобы ваш ГСЧ генерил все числа отрезка (0,1) ?" - это что за глупость? Теорию чисел изучал.
Ну так а ложку?
Могет быть, ещё в рот положить? :)
Могет быть, ещё в рот положить? :)
Ну поехало!
Ну поехало!Ну действительно что не можешь сам нормализовать дубль.
Ну поехало!Да хорошь! Дискретность в 32767 штук на единицу длины вполне годится. Можно конечно и в 100000000 забабахать, только зачем?!
Ну действительно что не можешь сам нормализовать дубль.
Я делаю так.
double ranD(int rsign,int rstep) { double sumR=0; for(int zr=1;zr<=2;zr++) { //---- string ran="0."; for(int z=1;z<=rstep;z++) { ran=ran+DoubleToStr(MathFloor((MathRand()/32767.0)*10),0); } double randou=StrToDouble(ran); if(rsign==1) { randou=2*randou-1; } sumR+=randou*randou; //---- } randou=randou/MathSqrt(sumR); //Print("randou = "+randou); return(randou); }
Но....gumgum, тогда попробуй вот так. Принцип тот же, но вместо генерации целых чисел от 0 до 32767 ты получишь примерно от 0 до 2^30. Каждое число - это MathRand() + MathRand()*32768. Я не исследовал, как будут распределены, но надеюсь, что для не слишком требовательных задач все будет тип-топ.
Это числа вида AB в 32768-ичной системе счисления.
А еще лучше все-таки использовать dll. Есть такая, она сразу генерит такие большие числа.
gumgum, тогда попробуй вот так. Принцип тот же, но вместо генерации целых чисел от 0 до 32767 ты получишь примерно от 0 до 2^30. Каждое число - это MathRand() + MathRand()*MathRand(). Я не исследовал, как будут распределены, но надеюсь, что для не слишком требовательных задач все будет тип-топ.
Это числа вида AB в 32768-ичной системе счисления.
Пробывал. Там все плохо.