Crie uma matriz
com elementos aleatórios no intervalo [0, 20]:
Imprima a matriz triangular inferior, em relação à diagonal secundária.
Imprima a matriz triangular inferior, em relação à diagonal secundária.
Passo 1
O enunciado pede para gerar uma matriz 10×10 com valores aleatórios no intervalo [0,20] e, a partir dela, imprimir apenas a parte que fica abaixo (e incluindo) a diagonal secundária.
Passo 2
Para resolver, vamos usar como conteúdo de teoria o conceito de diagonal secundária de uma matriz quadrada: numa matriz n×n, a diagonal secundária é formada pelos elementos cujos índices (i,j) satisfazem i + j = n + 1. A região triangular inferior em relação a essa diagonal são todos os pares (i,j) tais que i + j ≥ n + 1.
Passo 3
Vamos criar a matriz M usando uma função de números aleatórios inteiros. Em Python, por exemplo, poderíamos usar
import numpy as np
np.random.seed(0) # só para reproduzir o exemplo
M = np.random.randint(0, 21, size=(10,10))
np.random.seed(0) # só para reproduzir o exemplo
M = np.random.randint(0, 21, size=(10,10))
Depois definimos uma máscara booleana Mask onde
Mask[i,j] = True se i + j >= 11 (pois n=10, então n+1=11)
Mask[i,j] = False caso contrário
Mask[i,j] = False caso contrário
Passo 4
Aplicamos a máscara para zerar ou ocultar os elementos fora da região desejada:
M_tri_sec = np.where(Mask, M, 0)
e então imprimimos M_tri_sec. Cada elemento M_tri_sec[i,j] será igual a M[i,j] se i+j ≥ 11, ou 0 caso contrário.
Resposta
A matriz triangular inferior em relação à diagonal secundária é dada por
Para 0 ≤ i,j ≤ 9 (índices base 0),
Isto é, mantemos M(i,j) sempre que i+j≥10 (em índice base 0) e zeramos os outros elementos.