Страница 22 из 24 ПерваяПервая ... 122021222324 ПоследняяПоследняя
Показано с 211 по 220 из 239

Тема: Временная тема

  1. #211

    По умолчанию

    Цитата Сообщение от rovki Посмотреть сообщение
    RND1024 для фиксированного количества CЧ ,я же говорю о не прерывной генерации .И если не будет повторений в 1024 числах ,то в следующей генерации все повторится .Если вы этот массив 1024 не успеете обработать и запустится новый процесс генерации ,то этот массив затрется новыми значениями .
    Так код же в состоянии понять "закончилась ли прошлая генерация или нет".
    Там ставится один счётчик (СTU? или как он там?), который и проверяет "начался ли новый цикл".
    И ничего не затрётся.

  2. #212
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,125

    По умолчанию

    Генерация то закончилась ,а обработка значений НЕТ!Все ухожу ...
    электронщик до мозга костей и не только

  3. #213

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вы показывали работу ПК, а где скрин с реально работающего плк, обрабатывающий генерацию случайных 32-битных чисел, xorshift не проходит тест. Собственно чего это я, опять сейчас услышу, что законы математики везде одинаковы и кому то достаточно результатов на ПК
    ЗЫ если побежали проверять на плк, чтоб не было фраз у меня вышло, договаривайте сколько добавили лишних символов в код, не говорю про строки, всё помещается может и в одну
    capzap, я позволю себе НЕ бегать за ПЛК, а найду ошибку в вашем коде. Надеюсь, после этого вы ещё раз подумаете над тем "проходит ли xorshift128 тест frequency".

    Вот вы показывали пример, где, якобы, "значение sum выходит за все мыслимые границы":
    Цитата Сообщение от capzap Посмотреть сообщение
    ну в общем то пару замеров на ночь глядя не показатель, сегодня при 5000 генераций всё нормально, при 10000 с чего то вдруг переменная sum начала принимать значения в 3 раза больше максимально возможных единиц, хотя среднее показывает как обычно в пределах 0.5, от метода не зависит
    Вложение 25467
    ЗЫ выложил еще один генератор, как должен был бы выглядеть генератор от И.Петрова
    Ошибка в первом условии IF count < idx+1 THEN.
    Должно быть <=. Т.е. IF count <= idx+1 THEN

    Сейчас получается, что вы значение stuff[idx+1] не записываете, а потом пытаетесь из него читать.

    На вашей же картинке ясно видно, что stuff[count] == 16177 и count==idx+1. Ну не может такое число быть результатом операции BOOL_TO_INT.

    И, да, переменная sum это сумма -1 или +1. Сумма 10001 таких чисел никак не может выйти за диапазон -10001...+10001. У вас получилось 32144, что должно было вас насторожить, но вы почему-то сделали вывод "генератор плохой", а должны были сделать вывод "в коде ошибка".

    Ещё раз картинка, про которую я говорю: Вложение 25467

  4. #214
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    да в онлайн Вы видите не соответствие якобы. Но на этой картинке обратите внимание на последнюю строчку в окне объявлений она показывает каким индексом должен заканчиваться массив, соответственно stuff[count+1] вызовет ошибку. Тут вернее будет поставить IF count <= idx THEN.
    По остальному, ну не может плохой код нормально работать в случае когда в коде меняется одна переменная idx с десяти на пять тысяч и артачиться когда вновь перехожу на 10000. Меня насторожило и я поделился со всеми, а вот Вы могли бы и вспомнить предыдущие мои посты где я упоминал, что не всегда плк готов загружать обновленный проект, если я выставлю максимум массиву более 6000. Может все же начать верить что плк это не ПК и пускай законы математики везде одинаковы но не везде выполняются, мне в принципе не трудно и исходник выложить этого поу. И я опять же говорил что среднее, это переменная maxi соответствует норме, а в случае если бы там было число 16177, оно бы не получилось приближенно равным 0.5

    ЗЫ я не устану повторять, что метод прост, соответствует ГСЧ, но плк это особая вещь, возможно мне не хватает цикла, хотя все параметры из модуля статистики говорят об обратном
    Последний раз редактировалось capzap; 20.07.2016 в 21:17.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #215

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    да в онлайн Вы видите не соответствие якобы. Но на этой картинке обратите внимание на последнюю строчку в окне объявлений она показывает каким индексом должен заканчиваться массив, соответственно stuff[count+1] вызовет ошибку. Тут вернее будет поставить IF count <= idx THEN.
    Читаем ещё раз код по слогам: максимально возможный номер элемента в массиве stuff, в который будет запись равен idx.
    Т.к. вы пишете через stuff[count], а при count >= idx+1 в ветку записи выполнение не заходит.

    А при чтении вы используете FOR t:=0 TO (idx+1) DO.
    Т.е. t может принимать значение idx+1, и вы в итоге пытаетесь прочитать значение stuff[idx+1], а это значение не инициализировано.

    Давайте вы всё-таки поправите эту ошибку любым удобным вам образом (массив побольше, или убрать idx+1 из границы FOR цикла), и сделаете эксперимент ещё раз?


    Цитата Сообщение от capzap Посмотреть сообщение
    По остальному, ну не может плохой код нормально работать
    Ошибка есть? Есть.
    Давайте править, а потом уже обсуждать "как такое может быть"?
    Вы же код больше любите, чем теорию.


    И, да. Конкретно для теста frequency сам массив не нужен.
    Можно просто прибавлять новое значение к sum (+1 или -1) и считать количество (ну, чтобы потом на корень из n поделить). Таким образом можно и 100'000 и больше бит тестировать.

    Цитата Сообщение от capzap Посмотреть сообщение
    ЗЫ я не устану повторять, что метод прост, соответствует ГСЧ, но плк это особая вещь, возможно мне не хватает цикла, хотя все параметры из модуля статистики говорят об обратном
    Давайте всё-таки сначала исправим сам код, а потом уже будем делать выводы?
    На всякий случай: эту вашу позицию я услышал, и сразу соглашусь с ней/признаю что был неправ и всё такое, если появятся реальные подтверждения, что ГСЧ на ПЛК работает не так как на ПК (ну, T_PLS_MS не считается -- тут само собой понятно, что на ПК и ПЛК будут отличия).

    Да, у вас была неплохая заявка на доказательство, но, к сожалению в коде ошибка.
    Последний раз редактировалось Владимир Ситников; 20.07.2016 в 22:02.

  6. #216
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    да, это ошибка, видимо неудачный копипаст.
    Только это как раз очень убедительная заявка, сейчас смотрел двухминутное видео и ни как она не влияла на работу
    вот тоже с ПК не могу загрузить видюшный файл

  7. #217

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    да, это ошибка, видимо неудачный копипаст.
    Только это как раз очень убедительная заявка, сейчас смотрел двухминутное видео и ни как она не влияла на работу
    вот тоже с ПК не могу загрузить видюшный файл
    Выложите проект. Может, там ещё ошибки есть.

  8. #218
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    в циклах я убрал единицу
    Вложения Вложения
    • Тип файла: rar MCOMM.rar (915 байт, Просмотров: 5)
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #219

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    да, это ошибка, видимо неудачный копипаст.
    Только это как раз очень убедительная заявка, сейчас смотрел двухминутное видео и ни как она не влияла на работу
    вот тоже с ПК не могу загрузить видюшный файл
    Так, теперь не понимаю что имеется ввиду под "ошибка никак не влияла на работу".

    Каков у вас критерий?
    На основе чего решаете "прошёл тест или нет"?
    Неужели прямо на первой итерации при использовании xorshift значение freq оказывается меньше 1?

    PS. В выложенном проекте по-прежнему ссылка на hill.res. Вы точно именно xorshift, а не hill тестировали после исправления ошибки?

  10. #220
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    #173 пост, на скрине результат остановки по невыполнение критерия,а не из-за того что сумма зашкалила, добавленная единица в цикл уже тогда присутствовала, останов тот произошёл где то на пятый шестой прогон. а в этом коде да hill надо убрать,в объявлении я его удалил и заменить на tst или что там у меня. еще забыл в экспорт добавить оскатовский корень


    зы там где два скрина выкладывал оба метода показал что останавливаются
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 22 из 24 ПерваяПервая ... 122021222324 ПоследняяПоследняя

Похожие темы

  1. Тема для диплома
    от Gordan007 в разделе Трёп (Курилка)
    Ответов: 13
    Последнее сообщение: 18.01.2014, 13:08
  2. Бродит тема..
    от energohran в разделе Разработки
    Ответов: 3
    Последнее сообщение: 10.04.2012, 13:53
  3. МОДУС: тема защиты прошивки
    от Elka в разделе Модус 5684-0
    Ответов: 1
    Последнее сообщение: 28.11.2011, 23:39
  4. Язык ST. Временная задержка.
    от neoarey в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 26.03.2011, 01:15
  5. Ответов: 61
    Последнее сообщение: 12.09.2008, 10:49

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •