Форум сайта python.su
0
Уважаемые форумчане!
Только начинаю осваивать python, решаю задачи по линал. Буду крайне признательна за помощь!
Само задание: найдите вероятность того, что определитель 10000 случайно выбранных матриц (2x2, где компоненты от 0 до 9) - равен нулю.
Написала вариант кода, но он не работает(( такое чувство, что проверяется одна матрица, а не 10000
for i in range(10000): # пытаюсь проверить 10000 случайных матриц 2Х2 zero = [] # сюда записываю результаты проверки определителей i = np.random.randint(0,10,[2,2]) if int(np.linalg.det(i)) == 0: # сравниваю определитель одной случайной матрицы с 0 zero.append(1) # если определитель случайной матрицы равен 0, то в переменную zero добавляю 1 else: zero.append(0) # если определитель случайной матрицы отличен от 0, то в переменную zero добавляю 0 # пытаюсь оценить вероятность появления линейно-зависимых матриц среди 10000 случайных p = sum(zero)/10000
Отредактировано Mur.mouse (Фев. 26, 2022 14:09:02)
Офлайн
253
Тут надо не случайные матрицы создавать а перебрать все возможные матрицы и посчитать какая доля из них имеет нулевой детерминант
Офлайн
857
Не стал превращать всё это в одну строчку, чтобы сохранить читаемость для новичка.
>>> import numpy as np >>> >>> zero = [] >>> for _ in range(10000): ... det = np.random.randint(0, 10, [2, 2]) ... if int(round(np.linalg.det(det))) == 0: ... zero.append(1) ... >>> p = sum(zero) / 10000 >>> print(p) 0.0557 >>>
Отредактировано py.user.next (Фев. 26, 2022 15:26:25)
Офлайн
0
doza_and
Тут надо не случайные матрицы создавать а перебрать все возможные матрицы и посчитать какая доля из них имеет нулевой детерминант
py.user.nextБлагодарю вас за быстрые ответы, вы мне очень помогли!
Не стал превращать всё это в одну строчку, чтобы сохранить читаемость для новичка.
Офлайн
857
Mur.mouseВо многих языках программирования такая идиома используется в тех случаях, когда в каком-то месте обязательно должна стоять переменная какая-то, но в данный момент она не нужна. Поэтому вместо имени ставят подчёркивание.
в чем суть подстрочного символа _ после for?
Офлайн
124
Mur.mouseесли итерируемое значение в цикле не используется указывают “_”
в чем суть подстрочного символа _ после for?
Офлайн
0
py.user.next
xam1816Спасибо вам за то, что делитесь знаниями, вы очень добры!
Офлайн
857
Mur.mouseПерейди в Центр помощи и там для каждой отдельной задачи создавай отдельную тему.
Я могу в этой теме задавать вопросы, если они ещё возникнут по задачам?
Отредактировано py.user.next (Фев. 27, 2022 12:38:43)
Офлайн