3 Equações, 3 incógnitas

Publicado por Perfil removido 15/08/2008

[ Hits: 19.221 ]

Download cramer.py




Meu primeiro script tem como intenção auxiliar na resolução de um sistema de 3 equações, com 3 incógnitas pelo método de Cramer.

Agiliza muito os cálculos, já que você não precisa mais ficar mexendo com matrizes, etc!

  



Esconder código-fonte

# -*- coding: utf-8 -*-
## Script que resolve um sistema de 3 equações com 3 incógnitas!
## Por Daniel S. Koda
import sys

# Introdução

print "\n Programa em Python para resolver um sistema de equações com três incógnitas"
print "\n Estou definindo um sistema de três equações com três incógnitas desta forma:"
print "\n \n ax + by + cz = R1 \n dx + ey + fz = R2 \n gx + hy + iz = R3 \n"
print "\n Digite os valores para: \n"

# O usuário dá valores aos coeficientes

a = input("a \n")
b = input("b \n")
c = input("c \n")
r1 = input("r1 \n")
d = input("d \n")
e = input("e \n")
f = input("f \n")
r2 = input("r2 \n")
g = input("g \n")
h = input("h \n")
i = input("i \n")
r3 = input("r3 \n")

# Aqui é a regra de Cramer, propriamente dita.

det = ((a * e * i) + (b * f * g) + (c * d * h)) - ((c * e * g) + (a * f * h) + (b * d * i))
detx = ((r1 * e * i) + (b * f * r3) + (c * r2 * h)) - ((c * e * r3) + (r1 * f * h) + (b * r2 * i))
dety = ((a * r2 * i) + (r1 * f * g) + (c * d * r3)) - ((c * r2 * g) + (a * f * r3) + (r1 * d * i))
detz = ((a * e * r3) + (b * r2 * g) + (r1 * d * h)) - ((r1 * e * g) + (a * r2 * h) + (b * d * r3))

# Define os valores das incógnitas, com casas decimais.

if det == 0:
   print "Divisão por zero! Não é possível completar a operação!"
   sys.exit()
else:
   x = (round(detx, 3) / round(det, 3))
   y = (round(dety, 3) / round(det, 3))
   z = (round(detz, 3) / round(det, 3))

# Mostra os resultados finais
print "\n Os resultados são (aproximados com 4 casas decimais):"
print "\n x = %.4f" % x
print "\n y = %.4f" % y
print "\n z = %.4f" % z
print

# Fim

Scripts recomendados

Calculadora de Operações Básicas

Gerador de grafos no formato .gif

O número 3025 possui a seguinte característica: 30 + 25 = 55 -> 55*55 = 3025

Números divisíveis

Calculadora Completa


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts