Baixe o app para aproveitar ainda mais
Prévia do material em texto
EXERCÍCIO SOBRE FUNÇÕES EM PYTHON O código receberá como entrada um valor p e uma matriz 3×3. Você deve escrever uma função que verifica se a matriz é singular (isto é, seu determinante é nulo) ou não. O retorno deve ser True ou False. Para essa verificação, considere que uma matriz também é singular se o seu determinante está intervalo (−10−4, −10−4). Em caso afirmativo, o código prosseguirá com a matriz para calcular a potência p\geq 1p≥1 da mesma. Caso a matriz não seja singular, o código continuará com a mesma matriz dada na entrada. Por fim, você deve criar uma função para imprimir a matriz resultante. Suas funções devem ter o seguinte cabeçalho: # Verifica se a matriz é ou não singular def isSingular(M) # Recebe como entrada uma matriz M e uma potencia p # Retorna M^p def matrixPower(M, p) # Recebe uma matriz de entrada e imprime seu conteúdo def printMatrix(M) RESPOSTA: # Calcule o determinante def det(A): t1 = A[1][1]*A[2][2] - A[1][2]*A[2][1] t2 = A[1][0]*A[2][2] - A[1][2]*A[2][0] t3 = A[1][0]*A[2][1] - A[1][1]*A[2][0] return A[0][0]*t1 - A[0][1]*t2 + A[0][2]*t3 # Verifica se a matriz é ou não singular def isSingular(M): return abs(det(M)) < 1e-4 # Multiplicação de matrizes 3x3 def matrixMult(A,B): C = [] for i in range(3): linha = [] for j in range(3): cij = 0 for k in range(3): cij += A[i][k]*B[k][j] linha.append(cij) C.append(linha) return C #uahsuhsau #sauhsuahs def matrixPower(M, p): C = [[1,0,0],[0,1,0],[0,0,1]] for i in range (p): C = matrixMult(M,C) return C # Recebe uma matriz de entrada e imprime seu conteúdo def printMatrix(M): for i in range(3): print('%.2f %.2f %.2f' % (M[i][0],M[i][1],M[i][2]) )
Compartilhar