Найти - Пользователи
Полная версия: Задача со случайными матрицами
Начало » Python для новичков » Задача со случайными матрицами
1
Mur.mouse
Уважаемые форумчане!
Только начинаю осваивать 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

Заранее благодарю!
doza_and
Тут надо не случайные матрицы создавать а перебрать все возможные матрицы и посчитать какая доля из них имеет нулевой детерминант
py.user.next
Не стал превращать всё это в одну строчку, чтобы сохранить читаемость для новичка.
  
>>> 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
>>>
Mur.mouse
doza_and
Тут надо не случайные матрицы создавать а перебрать все возможные матрицы и посчитать какая доля из них имеет нулевой детерминант
py.user.next
Не стал превращать всё это в одну строчку, чтобы сохранить читаемость для новичка.
Благодарю вас за быстрые ответы, вы мне очень помогли!

P.S. подскажите, пожалуйста, в чем суть подстрочного символа _ после for?
py.user.next
Mur.mouse
в чем суть подстрочного символа _ после for?
Во многих языках программирования такая идиома используется в тех случаях, когда в каком-то месте обязательно должна стоять переменная какая-то, но в данный момент она не нужна. Поэтому вместо имени ставят подчёркивание.
xam1816
Mur.mouse
в чем суть подстрочного символа _ после for?
если итерируемое значение в цикле не используется указывают “_”
Mur.mouse
py.user.next
xam1816
Спасибо вам за то, что делитесь знаниями, вы очень добры!
Я могу в этой теме задавать вопросы, если они ещё возникнут по задачам? Чтобы не создавать новые темы..
py.user.next
Mur.mouse
Я могу в этой теме задавать вопросы, если они ещё возникнут по задачам?
Перейди в Центр помощи и там для каждой отдельной задачи создавай отдельную тему.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB