Crie uma matriz
com elementos aleatórios no intervalo [0, 20]:
Imprima a matriz triangular superior, em relação à diagonal principal.
Imprima a matriz triangular superior, em relação à diagonal principal.
Passo 1
O enunciado pede para criar uma matriz 10×10 com valores aleatórios no intervalo [0,20] e então imprimir apenas a parte triangular superior em relação à diagonal principal. O conteúdo aqui envolve geração de números aleatórios e extração de matriz triangular.
Passo 2
Para gerar a matriz aleatória, podemos usar a função randint da biblioteca NumPy, que retorna inteiros uniformemente distribuídos. Queremos 100 valores (10×10) entre 0 e 20, inclusive, então usamos np.random.randint(0,21,(10,10)).
Passo 3
A matriz triangular superior de uma matriz A é definida por manter A_{ij} quando i≤j (acima e na diagonal) e zerar os elementos em que i>j (abaixo da diagonal). Matematicamente, podemos escrever:
— Se A é a matriz original, então a matriz triangular superior U tem componentes
— Se A é a matriz original, então a matriz triangular superior U tem componentes
Passo 4
Em Python, o NumPy já fornece a função np.triu(A) que faz exatamente essa operação.
Passo 5
Implementamos em Python os seguintes passos: gerar A, extrair U e imprimir U.
Resposta
Segue um exemplo de implementação em Python usando NumPy:
import numpy as np
# Passo 1: gerar matriz 10×10 com valores aleatórios de 0 a 20
A = np.random.randint(0, 21, (10, 10))
# Passo 2: extrair a triangular superior em relação à diagonal principal
U = np.triu(A)
# Passo 3: imprimir o resultado
print("Matriz A original:")
print(A)
print("\nMatriz triangular superior de A:")
print(U)
Ao executar, você verá na saída a matriz A completa e, abaixo, sua parte triangular superior (com zeros abaixo da diagonal).