Есть ли способ генерировать случайные числа от 0 до 500, но если первое число равно 300, не отклоняться более чем на 20 для следующего?

#labview

#labview

Вопрос:

Есть ли способ генерировать случайные числа от 0 до 500, но если первое число, например, равно 300, не отклоняться более чем на 20 для следующего? Я не хочу 500, затем 0, затем 399, затем 1. Спасибо.

Комментарии:

1. Тогда вам вообще не нужны случайные числа. Случайные числа не соответствуют правилам, например, я не хочу 500, затем 0, затем 399, затем 1 ` или * Я не хочу дубликатов , потому что случайные числа случайны, и допустимая последовательность вполне может быть 500, 0, 399, 1, 0, 500 .

2. @KenWhite Я думаю, вы что-то пропустили. В этом вопросе нет ничего плохого, кроме того, что он немного тривиален

Ответ №1:

Просто подключите первое случайное число обратно к встроенному VI «Случайное число (диапазон)».

введите описание изображения здесь

введите описание изображения здесь

Бонус Используйте регистр сдвига, чтобы найти новое случайное число в диапазоне от последнего случайного числа:

введите описание изображения здесь

Комментарии:

1. Имейте в виду ситуацию, когда 1-е случайное число будет равно 499, а затем следующие случайные числа могут быть больше 500 🙂 То же самое относится к нижнему пределу.

Ответ №2:

Предыдущий ответ относится к использованию минимальной версии LabVIEW 2019.

Числовая библиотека OpenG имеет аналогичную функцию для генерации случайных чисел в указанном диапазоне и поддерживает более ранние версии LabVIEW.

Кроме того, на основе описания задачи — если я правильно понял — в любом случае случайные числа должны находиться в диапазоне от 0 до 500; поэтому нам нужно дополнительно проверить, не приведет ли смещение /- 20 к «переполнению» числа.

Позвольте мне приложить фрагмент решения, которое его реализует. Обратите внимание, что функции выбора, которые я использовал, просто для того, чтобы показать весь код в одном фрагменте (вместо того, чтобы иметь регистровую структуру со страницами).

Фрагмент кода генерации случайных чисел

Передняя панель