Аналог функции Matlab "randsrc" - PullRequest
0 голосов
/ 21 мая 2019

Я ищу функцию в Python, которая похожа на randsrc в MATLAB.

Я хотел бы переписать:

data_points=32;
M=4;
data_source = randsrc(1, data_points, mslice[0:M - 1]);

Что является аналогом randscrc в Python?

1 Ответ

1 голос
/ 21 мая 2019

Python имеет случайный модуль, который вы можете использовать. Если вы хотите создать список случайных элементов (как в вашем примере), вы можете использовать random.choice и генератор списков:

[random.choice([1,2,'A',4]) for _ in range(15)]

, который вернет вам:

['A', 1, 'A', 1, 1, 4, 1, 2, 1, 4, 2, 4, 4, 2, 1]

Если вы хотите столбец случайных элементов, добавьте скобки в генератор:

[[random.choice([111,2,333,4])] for _ in range(15)]

[[2],
 [333],
 [4],
 [2],
 [4],
 [2],
 [111],
 [333],
 [333],
 [333],
 [111],
 [333],
 [2],
 [111],
 [2]]

Если вы хотите случайную матрицу, разверните генератор:

[[random.choice([1,2,3,4]) for _ in range(5)] for _ in range(5)]

[[1, 2, 4, 3, 4],
 [4, 2, 1, 1, 1],
 [3, 1, 2, 1, 3],
 [1, 2, 3, 3, 3],
 [2, 1, 3, 1, 2]]

Вы можете хранить любые элементы в алфавите choice s.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...