[an error occurred while processing this directive] [an error occurred while processing this directive]
Можно так
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено OVP 28 февраля 2002 г. 11:30
В ответ на: Как сделать нормальный генератор псевдослучайных чисел ? Может есть сурцы (С, асм avr/51/86) ? отправлено DmitryRyvkin 28 февраля 2002 г. 09:18

// Подпрограмма генерации "белого шума" (псевдошум)
// Возвращает отсчет шума (диапазон от 0 до 1), в *last_value
// сохраняется
// последнее значение рабочей подпоследовательности.
// начальное значение last_value должно быть равно (pi+e)

double nose(double *last_value)
{
double pi = 0.314159265359; // число pi/10
double e = 0.271828; // число e/10
double u3, u2, u1;
int i, i_part;

u3 = 0.0;
for (i=0; i<12; i++)
{
i_part = (*last_value) \ 1; //убираем
(*last_value)=(*last_value) - i_part; //целую часть
u2 = pi; u1 = *last_value;
u3 = u3 + *last_value;
*last_value = u1 + u2;
}
return u3/12.0;
}

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru