Considere duas matrizes quadradas F[i, j] e G[i, j], onde i e j=(1,2, ldots, n). Crie duas matrizes ( F e G) com números aleatórios uniformemente distribuídos [0,1). Em seguida, escreva o código em Python para calcular o Erro Médio Absoluto. O Erro Médio Absoluto (EMA) é a soma da diferença absoluta de cada ponto das matrizes, dividido pelo produto das dimensões da matriz, conforme a Equação 1.
E M A=1n * n sumi=1^n sumj=1^n|F[i, j]-G[i, j]|

Passo 1

Beleza, o enunciado pede para a gente criar duas matrizes quadradas e de tamanho preenchidas com números aleatórios uniformes em , e depois calcular o Erro Médio Absoluto (EMA) entre elas. O conteúdo aqui envolve:
  • Geração de números aleatórios em Python
  • Manipulação de matrizes (listas de listas ou arrays)
  • Cálculo de diferença absoluta e média
    Pra resolver você vai precisar do módulo random do Python e usar loops duplos (i, j) pra percorrer as matrizes.

Passo 2

Gerar as matrizes e .
Teoria rápida:
  • “Uniformemente distribuído em ” significa que cada número tem a mesma chance de aparecer nesse intervalo.
  • Em Python, random.random() retorna um float aleatório em .
Exemplo de criação de e com listas de listas:
import random
n = 4 # ou qualquer outra dimensão
F = [[random.random() for j in range(n)] for i in range(n)]
G = [[random.random() for j in range(n)] for i in range(n)]

Passo 3

Calcular a soma das diferenças absolutas .
Teoria da diferença absoluta:
  • Para dois números e , é a distância numérica entre eles, sempre um valor não-negativo.
  • Em Python, usamos abs(a - b).
Fazendo com loops:
soma = 0.0
for i in range(n):
for j in range(n):
soma += abs(F[i][j] - G[i][j])

Passo 4

Dividir essa soma por EMA = 1n cdot n sumi=1^nsumj=1^n |F[i,j] - G[i,j]| para obter o EMA:
Em código, se soma já for o total das diferenças:
ema = soma / (n * n)

Passo 5

Código completo em Python, juntando tudo:
import random
def calcula_ema(n):

Passo 6

F = [[random.random() for j in range(n)] for i in range(n)]
G = [[random.random() for j in range(n)] for i in range(n)]

Passo 7

soma = 0.0
for i in range(n):
for j in range(n):
soma += abs(F[i][j] - G[i][j])

Passo 8

ema = soma / (n * n)
return ema
# Exemplo de uso  
n = 4  
resultado = calcula_ema(n)  
print(f"Erro Médio Absoluto para n={n}: {resultado}")

Resposta

O código acima gera duas matrizes EMA = 1n^2sumi=1^nsumj=1^n|F[i,j]-G[i,j]| com valores aleatórios em e calcula o EMA de acordo com
Basta chamar calcula_ema(n) pra obter o valor.

Exercícios relacionados