Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #FELIPE SUEMITSU, NICOLAS NEBELUNG
- import numpy as np
- # =================================================================================================================
- # ==================================== BISSECÇÃO ===============================================
- # =================================================================================================================
- def funcaoBissecao(x):
- y = x**2 + x -1
- return y
- def bissecao():
- a=float(input('Digite o valor de a:'))
- b=float(input('Digite o valor de b:'))
- precisao=float(input('Digite a precisão:'))
- print('Precisão recomendada: 0.001')
- x = 0
- cp = 0.1
- ultimoValor = 0
- for k in range (1, 1000):
- x = (a+b)/2
- fA = funcaoBissecao(a)
- fX = funcaoBissecao(x)
- d = fA*fX
- if d > 0:
- a = x
- # Teste da bissecção - condição
- if d < 0:
- b = x
- try:
- cp = abs((x - ultimoValor)/x)
- except ZeroDivisionError:
- cp = 0.1
- if cp < precisao:
- print("Critério de parada ativado!")
- break
- ultimoValor = x
- print('Raíz: ' ,x)
- # =================================================================================================================
- # ========================================= FUNÇÃO NEWTON ==================================================
- # =================================================================================================================
- def funcaonewton(x):
- y=x**2 + x -1
- return y
- def DerivadaNewton(x):
- h = 1./1000.
- a = funcaonewton(x + h) - funcaonewton(x)
- # TESTA A DERIVADA DE NEWTON != 0
- if rise == 0:
- print('A derivada é 0!')
- return False
- b = h
- derivative = a / b
- return derivative
- def newton():
- ultimoValor=float(input('Valor inicial aproximado: '))
- precisao=float(input('Precisão desejada: '))
- for k in range (1,1000):
- fX = funcaonewton(ultimoValor)
- dX = DerivadaNewton(ultimoValor)
- Xk = ultimoValor - (fX/dX)
- cp=abs(Xk-ultimoValor)/abs(Xk)
- if cp < precisao:
- print('Critério de parada ativado!')
- break
- ultimoValor=Xk
- print('Raíz:' , Xk)
- # =================================================================================================================
- # ======================================== FUNÇÃO SECANTES =================================================
- # =================================================================================================================
- def funcaosecantes(x):
- y=x**2 + x -1
- return y
- def secantes():
- v = [1, 1.1]
- x0 = float(input('Valor Xo:'))
- x1 = float(input('Valor X1:'))
- if (x0 - x1) == 0:
- print('Os valores não podem ser idênticos!!')
- return False
- v.append(x0)
- v.append(x1)
- precisao = float(input('Precisão desejada:'))
- for k in range (1,1000):
- try:
- Xk = (v[len(v)-1]*funcaosecantes(v[len(v)-2])-v[len(v)-2]*funcaosecantes(v[len(v)-1]))/(funcaosecantes(v[len(v)-2])-funcaosecantes(v[len(v)-1]))
- v.append(Xk)
- try:
- cp = abs((Xk - v[len(v)-1])/Xk)
- except ZeroDivisionError:
- cp = 0.1
- if cp < precisao:
- print("Critério de parada ativado!")
- break
- except ZeroDivisionError:
- pass
- print(v[len(v)-1])
- # =================================================================================================================
- # ======================================== ELIMINAÇÃO GAUSS =================================================
- # =================================================================================================================
- def eliminacaogauss():
- A = []
- B = []
- Coef = []
- m=int(input('Insira o numero de linhas: '))
- matriz=np.zeros([m,m])
- A=np.zeros([m,m])
- #B=np.zeros([m,m])
- print('Insira os elementos da matriz')
- for l in range(0,m):
- for c in range(0,m):
- matriz[l,c]=(input('Elemento a['+str(l+1)+","+str(c+1)+"] da matriz A (coeficientes): "))
- matriz[l,c]=float(matriz[l,c])
- A[l,c]=matriz[l,c]
- for j in range(0, m):
- Coef.append(0)
- B.append(0)
- B[j] = float(input('Elemento[' +str(j+1)+ '] da matriz B:'))
- for k in range (0, m-1):
- # Testa se A[k][k] é diferente de zero:
- if A[k][k] == 0:
- print('A[k][k] é zero! erro na matemática básica ;)')
- break
- return False
- for i in range (k+1, m):
- # Pivot
- aux = (A[i][k]/A[k][k])
- for j in range (k, m):
- A[i][j] = A[i][j]- A[k][j]*aux
- B[i] = B[i] - B[k]*aux
- if k == m-2:
- print('Apresentando o sistema escalonado:')
- print('Matriz A (coeficientes):', A)
- print('Matriz B:', B)
- print('Sistema escolanado apresentado com sucesso!')
- for u in range (m , 0, -1):
- c = 0
- parte = 0
- for v in range (0 , m, 1):
- parte += A[u-1][m-1-v]*Coef[m-1-v]
- c = (B[u-1] - parte) / A[u-1][u-1]
- Coef[u-1] = float(c)
- for w in range (0, len(Coef)):
- print('Coeficiente ' + str(w+1) + ":", Coef[w])
- # =================================================================================================================
- # ======================================== DECOMPOSIÇÃO LU ================================================
- # =================================================================================================================
- def decomplu():
- CoefY = []
- CoefX = []
- B = []
- print('Decomposição LU em matrizes quadradas')
- m=int(input('Insira o numero de linhas: '))
- matriz=np.zeros([m,m])
- U=np.zeros([m,m])
- L=np.zeros([m,m])
- print('Favor inserir os elementos da matriz:')
- for l in range(0,m):
- B.append(0)
- CoefY.append(0)
- CoefX.append(0)
- for c in range(0,m):
- matriz[l,c]=(input('Elemento a['+str(l+1)+","+str(c+1)+"]: "))
- matriz[l,c]=float(matriz[l,c])
- U[l,c]=matriz[l,c]
- for p in range(0,m):
- valorvetorB = float(input('Elemento B['+str(p+1)+']: '))
- B[p] = valorvetorB
- #operaçoes para zerar abaixo da diagonal principal
- for k in range(0,m):
- for l in range(0,m):
- if (k==l):
- L[k,l]=1
- if (k<l):
- fator=(matriz[l,k]/matriz[k,k])
- L[l,k]=fator
- for c in range(0,m):
- matriz[l,c]=matriz[l,c]-(fator*matriz[k,c])
- U[l,c]=matriz[l,c]
- print('Apresentação dos resultados:')
- print('Matriz L:')
- print(L)
- print('Matriz U:')
- print(U)
- # RESOLUÇÃO DE LY=B
- for u in range (0 , m, 1):
- c = 0
- parte = 0
- for v in range (0 , m, 1):
- parte += L[u][v]*CoefY[v]
- c = (B[u] - parte) / L[u][u]
- CoefY[u] = float(round(c, 4))
- print('Resultado LY=B:' , CoefY)
- # RESOLUÇÃO DE UX=Y
- for u in range (m , 0, -1):
- c = 0
- parte = 0
- for v in range (0 , m, 1):
- parte += U[u-1][m-1-v]*CoefX[m-1-v]
- c = (CoefY[u-1] - parte) / U[u-1][u-1]
- CoefX[u-1] = float(round(c, 4))
- print('Resultado UX=Y:' , CoefX)
- # =================================================================================================================
- # ===================================== JACOBI E GAUSS-SEIDEL ==============================================
- # =================================================================================================================
- def verificaMatriz ():
- # Já implementado internamente
- pass
- def Jacobi ():
- verificaMatriz()
- A = []
- B = []
- Coef = []
- x = []
- xnew = []
- m=int(input('Insira o numero de linhas: '))
- precisao = float(input('Precisão desejada:'))
- matriz=np.zeros([m,m])
- A=np.zeros([m,m])
- #B=np.zeros([m,m])
- print('Insira os elementos da matriz')
- for l in range(0,m):
- for c in range(0,m, 1):
- matriz[l,c]=(input('Elemento a['+str(l+1)+","+str(c+1)+"] da matriz A (coeficientes): "))
- matriz[l,c]=float(matriz[l,c])
- A[l,c]=matriz[l,c]
- for j in range(0, m):
- Coef.append(0)
- B.append(0)
- B[j] = float(input('Elemento[' +str(j+1)+ '] da matriz B:'))
- for l in range (0, m):
- valorx = float(input('Digite um valor para x'+str(l+1)+': '))
- x.append(valorx)
- xnew.append(0.1)
- #x1, x2, x3 = funcaoAux()
- tempList = [0., 0., 0.]
- # Ajeita a matriz
- for u in range (0 , m):
- pivot = A[u][u]
- B[u] = B[u] / A[u][u]
- for v in range (m , 0, -1):
- A[u][v-1] = A[u][v-1] / pivot
- valorxnew = 0
- for t in range (0, 1000, 1):
- for c in range (0, m, 1):
- parte = 0
- for d in range (0, m, 1):
- if d != c:
- parte += A[c][d]*x[d]
- valorxnew = B[c] - parte
- tempList[c] = valorxnew
- for i in range (0, len(x), 1):
- x[i] = tempList[i]
- print(x)
- try:
- cp = abs(xnew[len(xnew)-1] - valorxnew) / abs(xnew[len(xnew)-1])
- if cp < precisao:
- print('Critério de parada ativado!')
- print('O cálculo foi completado em apenas: ' + str(t) + ' processos!')
- break
- for i in range (0, len(xnew), 1):
- xnew[i] = x[i]
- except ZeroDivisionError:
- pass
- print('Conjunto de soluções:', xnew)
- def GaussSeidel ():
- verificaMatriz()
- A = []
- B = []
- Coef = []
- x = []
- xnew = []
- m=int(input('Insira o numero de linhas: '))
- precisao = float(input('Precisão desejada:'))
- matriz=np.zeros([m,m])
- A=np.zeros([m,m])
- #B=np.zeros([m,m])
- print('Insira os elementos da matriz')
- for l in range(0,m):
- for c in range(0,m, 1):
- matriz[l,c]=(input('Elemento a['+str(l+1)+","+str(c+1)+"] da matriz A (coeficientes): "))
- matriz[l,c]=float(matriz[l,c])
- A[l,c]=matriz[l,c]
- for j in range(0, m):
- Coef.append(0)
- B.append(0)
- B[j] = float(input('Elemento[' +str(j+1)+ '] da matriz B:'))
- for l in range (0, m):
- valorx = float(input('Digite um valor para x'+str(l+1)+': '))
- x.append(valorx)
- xnew.append(0.1)
- # Ajeita a matriz
- for u in range (0 , m):
- pivot = A[u][u]
- B[u] = B[u] / A[u][u]
- for v in range (m , 0, -1):
- A[u][v-1] = A[u][v-1] / pivot
- valorxnew = 0
- for t in range (0, 1000, 1):
- for c in range (0, m, 1):
- parte = 0
- for d in range (0, m, 1):
- if d != c:
- parte += A[c][d]*x[d]
- valorxnew = B[c] - parte
- x[c] = valorxnew
- print(x)
- try:
- cp = abs(xnew[len(xnew)-1] - valorxnew) / abs(xnew[len(xnew)-1])
- if cp < precisao:
- print('Critério de parada ativado!')
- print('O cálculo foi completado em apenas: ' + str(t) + ' processos!')
- break
- for i in range (0, len(xnew), 1):
- xnew[i] = x[i]
- except ZeroDivisionError:
- pass
- print('Conjunto de soluções:', xnew)
- # =================================================================================================================
- # ===================================== INTERPOLADOR DE LAGRANGE ==============================================
- # =================================================================================================================
- def multiplicadorPolinomial(a, b):
- # a = n° de polinomios
- # b = lista contendo os valores de cada polinômio
- m = a
- EstruturaDePol = []
- MeuResultado = []
- Pol = []
- for i in range (0, m):
- Pol.append(0)
- for i in range (0, m+1):
- EstruturaDePol.append(0)
- MeuResultado.append(0)
- for i in range (0, m):
- Pol[i] = b[i]
- # Constrói o primeiro polinômio base - (k + j)
- #A = K1*K2
- #B = J1 + J2
- #C = J1*J2
- # Modelo básico: Ck = Ck*Kn + Bk-1*Jn
- MeuResultado[0] = 1
- MeuResultado[1] = Pol[0] + Pol[1]
- MeuResultado[2] = Pol[0]*Pol[1]
- # Construtor de polinômio
- for k in range (0 ,m):
- EstruturaDePol[k] = MeuResultado[k]
- if (m > 2):
- for i in range (2, m):
- for k in range (0, m+1):
- if k == 0:
- MeuResultado[k] = EstruturaDePol[k]*1
- if k == m:
- MeuResultado[k] = EstruturaDePol[k-1]*Pol[i]
- else:
- MeuResultado[k] = EstruturaDePol[k]*1 + EstruturaDePol[k-1]*Pol[i]
- for j in range (0 , m+1):
- EstruturaDePol[j] = MeuResultado[j]
- return MeuResultado
- def interpolLagrange():
- m = int(input('Insira o grau do polinômio: '))
- matriz=np.zeros([m+1])
- A=np.zeros([m+1,m+1])
- B=np.zeros([m+1])
- print("Insira os pontos:")
- listaAuxiliar = []
- l = np.zeros([m+1,m+1])
- for e in range(0, m+1):
- matriz[e]=(input('X' + str(e+1) + ": "))
- B[e]=(input('Y' + str(e+1) + ": "))
- #l.append(0)
- listaAuxiliar.append(matriz[e])
- if matriz[e] in listaAuxiliar:
- if listaAuxiliar.count(matriz[e]) > 1:
- print("Erro, há dois valores iguais!")
- return False
- valorDesconhecido = float(input("Valor a ser calculado no polinômio: "))
- for i in range (0, m):
- listaAuxiliar2 = []
- den = 1
- for k in range (0, m+1):
- if k == i:
- pass
- else:
- listaAuxiliar2.append((-1)*matriz[k])
- den = den*(matriz[i]-matriz[k])
- num = multiplicadorPolinomial(len(listaAuxiliar2), listaAuxiliar2)
- # Divide a lista (coeficientes) pelo denominador
- for k in range (0, m+1):
- l[i][k] = B[i]*(num[k] / den)
- x = []
- for a in range (0, m+1):
- soma = 0
- for b in range (0, m+1):
- soma += l[b][a]
- x.append(soma)
- print(x)
- meuPolinomio = ""
- for b in range (1, len(x)):
- meuPolinomio += " (" + str(round(x[b], 2)) + "x^" + str(b) +") + "
- print('Polinômio interpolador: ' + str(round(x[0], 2)) + " + " + meuPolinomio)
- resultadoValorDesconhecido = 0
- for i in range (0, len(x), 1):
- resultadoValorDesconhecido += x[i]*(valorDesconhecido**i)
- print('Pn('+ str(valorDesconhecido) + ') = ' + str(resultadoValorDesconhecido))
- print('Coeficientes:' , x)
- print('Formato dos coeficientes: c1 + c2*x + c3*x^2 + ... + cn*x^n')
- # =================================================================================================================
- # ===================================== INTERPOLADOR DE NEWTON ==============================================
- # =================================================================================================================
- def multiplicadorPolinomial(a, b):
- # a = n° de polinomios
- # b = lista contendo os valores de cada polinômio
- m = a
- EstruturaDePol = []
- MeuResultado = []
- Pol = []
- for i in range (0, m):
- Pol.append(0)
- for i in range (0, m+1):
- EstruturaDePol.append(0)
- MeuResultado.append(0)
- for i in range (0, m):
- Pol[i] = b[i]
- # Constrói o primeiro polinômio base - (k + j)
- #A = K1*K2
- #B = J1 + J2
- #C = J1*J2
- # Modelo básico: Ck = Ck*Kn + Bk-1*Jn
- MeuResultado[0] = 1
- MeuResultado[1] = Pol[0] + Pol[1]
- MeuResultado[2] = Pol[0]*Pol[1]
- # Construtor de polinômio
- for k in range (0 ,m):
- EstruturaDePol[k] = MeuResultado[k]
- if (m > 2):
- for i in range (2, m):
- for k in range (0, m+1):
- if k == 0:
- MeuResultado[k] = EstruturaDePol[k]*1
- if k == m:
- MeuResultado[k] = EstruturaDePol[k-1]*Pol[i]
- else:
- MeuResultado[k] = EstruturaDePol[k]*1 + EstruturaDePol[k-1]*Pol[i]
- for j in range (0 , m+1):
- EstruturaDePol[j] = MeuResultado[j]
- return MeuResultado
- def interpolNewton():
- q = 1
- m = int(input('Insira o grau do polinômio: '))
- PolNewton = np.zeros([m+1])
- matriz=np.zeros([m+1])
- X=np.zeros([m+1])
- Y=np.zeros([m+1])
- Dif=np.zeros([m+1, m+1])
- print("Insira os pontos:")
- listaAuxiliar = []
- for e in range(0, m+1):
- X[e]=(input('X' + str(e+1) + ": "))
- Y[e]=(input('Y' + str(e+1) + ": "))
- listaAuxiliar.append(matriz[e])
- if matriz[e] in listaAuxiliar:
- if listaAuxiliar.count(X[e]) > 1:
- print("Erro, há dois valores iguais!")
- return False
- valorDesconhecido = float(input("Valor a ser calculado no polinômio: "))
- listaParalela = np.zeros([m+1, m+1])
- # Diferenças divididas
- # Diferença - f[x]
- for k in range (0, m+1):
- Dif[0][k] = Y[k]
- for i in range (1, m+1):
- for v in range (0, m-i+1):
- Dif[i][v] = (Dif[i-1][v+1] - Dif[i-1][v]) / (X[v+i] - X[v])
- #print(Dif[0])
- #print(Dif[1])
- #print(Dif[2])
- PolNewton[len(PolNewton)-1] = Dif[0][0]
- # Polinômio interpolador de newton
- # Calcula cada "parte" do polinômio de Newton
- TermoPolinomial = np.zeros([m+1])
- # Representas cada "parte" (X-X10)*f[X0,X1] ...
- for i in range (0, m):
- if i == 0:
- #TermoPolinomial[m] = 1
- TermoPolinomial[len(TermoPolinomial)-1] = Dif[0][0]
- TermoPolinomial[len(TermoPolinomial)-1] = TermoPolinomial[len(TermoPolinomial)-1] + (X[0]*(-1) * Dif[1][0])
- TermoPolinomial[len(TermoPolinomial)-2] = Dif[1][0]
- else:
- ListaTest = []
- for j in range (0, m):
- ListaTest.append(X[j]*(-1))
- Lista = multiplicadorPolinomial(i+1, ListaTest)
- # Produtório & Somatório
- for k in range (len(Lista)-1, -1, -1):
- TermoPolinomial[len(TermoPolinomial)-len(Lista)+k] = TermoPolinomial[len(TermoPolinomial)-len(Lista)+k] + (Lista[k] * Dif[i+1][0])
- print("Diferenças:")
- print(str(Dif))
- print("Coeficientes: " + str(TermoPolinomial))
- print('Formato dos coeficientes: c1*x^n + c2*x^n-1 + c3*x^n-2 + ... + cn*x^0')
- resultadoValorDesconhecido = 0
- for i in range (0, len(TermoPolinomial), 1):
- exp = len(TermoPolinomial) - i - 1
- resultadoValorDesconhecido += TermoPolinomial[i]*(valorDesconhecido**exp)
- print('Pn('+ str(valorDesconhecido) +') = ' + str(resultadoValorDesconhecido))
- # =================================================================================================================
- # ======================================= TRAPÉZIO ==========================================
- # =================================================================================================================
- def funcaoTrapezio(x):
- y = x**2 + 10*x
- return y
- def trapezio ():
- h = float(input("Diferencial (h): "))
- a = float(input("Intervalo inferior (a): "))
- b = float(input("Intervalo superior (b): "))
- n = (b-a) / h
- n = int(round(n , 0))
- soma = 0
- for i in range (1, n):
- soma += funcaoTrapezio(a+h*i)
- f0 = funcaoTrapezio(a)
- fn = funcaoTrapezio(a+h*n)
- Integral = (h/2) * (f0 + 2*(soma) + fn)
- print('Valor da integral numérica:' , Integral)
- # =================================================================================================================
- # ======================================= SIMPSON 1/3 ==========================================
- # =================================================================================================================
- def funcaoSimpson13(x):
- y = x**2 + 10*x
- return y
- def simpson13 ():
- h = float(input("Diferencial (h): "))
- a = float(input("Intervalo inferior (a): "))
- b = float(input("Intervalo superior (b): "))
- n = (b-a) / (2*h)
- n = int(round(n , 0))
- soma = 0
- for i in range (1, 2*n):
- ## Checa se é par
- if (i % 2 == 0):
- soma += 2*funcaoSimpson13(a+h*i)
- else:
- soma += 4*funcaoSimpson13(a+h*i)
- f0 = funcaoSimpson13(a)
- fn = funcaoSimpson13(a+(h*2*n))
- Integral = (h/3) * (f0 + soma + fn)
- print('Valor da integral numérica:' , Integral)
- # =================================================================================================================
- # ======================================= SIMPSON 3/8 ==========================================
- # =================================================================================================================
- def funcaoSimpson38(x):
- y = x**2 + 10*x
- return y
- def simpson38 ():
- h = float(input("Diferencial (h): "))
- a = float(input("Intervalo inferior (a): "))
- b = float(input("Intervalo superior (b): "))
- n = (b-a) / (3*h)
- n = int(round(n , 0))
- soma = 0
- k = 0
- for i in range (1, 3*n):
- ## Checa se é núltiplo de três
- if (k == 2):
- soma += 2*funcaoSimpson38(a+h*i)
- k = 0
- else:
- soma += 3*funcaoSimpson38(a+h*i)
- k += 1
- f0 = funcaoSimpson38(a)
- fn = funcaoSimpson38(a+(h*3*n))
- Integral = (3*h/8) * (f0 + soma + fn)
- print('Valor da integral numérica:' , Integral)
- # =================================================================================================================
- # ======================================= RUNGE-KUTTA ==========================================
- # =================================================================================================================
- def funcaoRungeKutta(x , y):
- dy = - y + x + 2
- return dy
- def rungeKutta ():
- h = float(input("Diferencial (h): "))
- a = float(input("Intervalo inferior (a): "))
- b = float(input("Intervalo superior (b): "))
- Xn = float(input("X(0): "))
- Yn = float(input("Y(0): "))
- n = (b-a) / (h)
- n = int(round(n , 0))
- #k1 = 0
- #k2 = 0
- #k3 = 0
- #k4 = 0
- for i in range (0, n):
- k1 = funcaoRungeKutta(Xn, Yn)
- print("n = "+str(i+1)+ " k1 = " , k1)
- k2 = funcaoRungeKutta(Xn + h/2, Yn + (k1*h)/2)
- print("n = "+str(i+1)+ " k2 =" , k2)
- k3 = funcaoRungeKutta(Xn + h/2, Yn + (k2*h)/2)
- print("n = "+str(i+1)+ " k3 =" , k3)
- k4 = funcaoRungeKutta(Xn + h/2, Yn + (k3*h))
- print("n = "+str(i+1)+ " k4 =" , k4)
- Xn = Xn + h
- Yn = Yn + (h/6)*(k1 + 2*k2 + 2*k3 + k4)
- print("Xn:" , Xn)
- print("Yn:" , Yn)
- print('')
- print('')
- print( "(X(" + str(i + 1) + ") , Y(" + str(i + 1) + ")) = (" + str(round(Xn, 4)) + " , " + str(round(Yn, 4)) + ")" )
- # =================================================================================================================
- # ======================================= CORPO PRINCIPAL DO PROGRAMA ==========================================
- # =================================================================================================================
- while True:
- print('*******************************************************************************')
- print('* MENU *')
- print('* *')
- print('*ESCOLHA O ASSUNTO: *')
- print('* *')
- print('*⬛ 1. RAÍZES *')
- print('* *')
- print('*⬛ 2. SISTEMA DE EQUAÇÕES LINEARES *')
- print('* *')
- print('*⬛ 3. INTERPOLAÇÃO *')
- print('* *')
- print('*⬛ 4. INTEGRAÇÃO NUMÉRICA *')
- print('* *')
- print('*⬛ 5. EQUAÇÕES DIFERENCIAIS ORDINÁRIAS *')
- print('* *')
- print('*******************************************************************************')
- resposta= input('Digite o número correspondente ao assunto desejado ou s para encerrar:')
- if resposta == '1':
- print('*******************************************************************************')
- print('*ESCOLHA O MÉTODO: *')
- print('* *')
- print('*⬛ 1. BISSECÇÃO *')
- print('* *')
- print('*⬛ 2. NEWTON *')
- print('* *')
- print('*⬛ 3. SECANTES *')
- print('* *')
- print('*******************************************************************************')
- resposta2= input('Digite o método desejado:')
- if resposta2=='1':
- bissecao()
- if resposta2=='2':
- newton()
- if resposta2=='3':
- secantes()
- if resposta == '2':
- print('*******************************************************************************')
- print('*ESCOLHA O MÉTODO: *')
- print('* *')
- print('*⬛ 1. ELIMINAÇÃO DE GAUSS *')
- print('* *')
- print('*⬛ 2. DECOMPOSIÇÃO LU *')
- print('* *')
- print('*⬛ 3. JACOBI RICHARDSON *')
- print('* *')
- print('*⬛ 4. GAUSS SEIDEL *')
- print('* *')
- print('*******************************************************************************')
- resposta2= input('Digite o método desejado:')
- if resposta2 == '1':
- eliminacaogauss()
- if resposta2 == '2':
- decomplu()
- if resposta2 == "3":
- Jacobi()
- if resposta2 == "4":
- GaussSeidel()
- if resposta == '3':
- print('*******************************************************************************')
- print('*ESCOLHA O MÉTODO: *')
- print('* *')
- print('*⬛ 1. LAGRANGE *')
- print('* *')
- print('*⬛ 2. NEWTON *')
- print('* *')
- print('*******************************************************************************')
- resposta3= input('Digite o método desejado:')
- if (resposta3 == "1"):
- interpolLagrange()
- if (resposta3 == "2"):
- interpolNewton()
- if resposta == '4':
- print('*******************************************************************************')
- print('*ESCOLHA O MÉTODO: *')
- print('* *')
- print('*⬛ 1. TRAPÉZIO *')
- print('* *')
- print('*⬛ 2. 1/3 SIMPSON *')
- print('* *')
- print('*⬛ 3. 3/8 DE SIMPSON *')
- print('* *')
- print('*******************************************************************************')
- resposta4= input('Digite o método desejado:')
- if (resposta4 == "1"):
- trapezio()
- if (resposta4 == "2"):
- simpson13()
- if (resposta4 == "3"):
- simpson38()
- if resposta == '5':
- print('*******************************************************************************')
- print('*ESCOLHA O MÉTODO: *')
- print('* *')
- print('*⬛ 1. RUNGE KUTTA 4ª ORDEM *')
- print('* *')
- print('*******************************************************************************')
- resposta5= input('Digite o método desejado:')
- if resposta5 == '1':
- rungeKutta()
- if resposta == 's':
- print('Obrigado por usar nosso programa! Esperamos que tenha gostado da experiência!')
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement