TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

A Fractal de Newton

Por:   •  29/3/2020  •  Trabalho acadêmico  •  444 Palavras (2 Páginas)  •  141 Visualizações

Página 1 de 2

import matplotlib.pyplot as plt

import numpy as np

import time as t

#função

t1 = t.time()

def f(z): return z**3 - 8.0

def df(z): return 3.0*(z**2)

#dominio

Xmin = -0.5

Xmax = 1.0

Ymin = -0.5

Ymax = 1.0

#tamanho da imagem

tamanho_imagem = 809

deltax=((Xmax-Xmin)/tamanho_imagem)

deltay=((Ymax-Ymin)/tamanho_imagem)

#cria uma matriz cheia de zeros

frac = np.zeros((tamanho_imagem, tamanho_imagem))

math = np.zeros((tamanho_imagem, tamanho_imagem))

#metodo de newton

def newt(f, df, z):

#fazer no máximo 15 iterações

for i in range(15):

z2 = z - f(z)/df(z)

# Confere se o método convergiu

if abs(z2 - z) < 10e-8:

z = z2

break

z = z2

return(z,i)

for x in range(tamanho_imagem):

for y in range(tamanho_imagem):

z0 = complex(Xmin+x*deltax, Ymin+y*deltay)

#chamar o método de newton

raiz, it = newt(f,df,z0)

# criar um if para ver qual raiz foi encontrada

if abs((-(2)**(1/3)) - raiz) < 0.01:

frac[x,y] = 1000

math[x,y] = it

elif abs((complex(-1,-1.7321) - raiz)) < 0.01:

frac[x,y] = 2000

math[x,y] = it

elif abs((complex(-1,1.7321) - raiz)) < 0.01:

frac[x,y] = 3000

math[x,y] = it

elif abs(2**(1/3) - raiz) < 0.01:

frac[x,y] = 4000

math[x,y] = it

else:

frac[x,y] = 5000

math[x,y] = it

"""

...

Baixar como (para membros premium)  txt (1.9 Kb)   pdf (33.4 Kb)   docx (8.1 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com