Crie uma matriz 10 times 10 com elementos aleatórios no intervalo [0, 20]:
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
Uij = Aij, & i <= j,0, & i>j

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).

Exercícios relacionados