Prévia do material em texto
3- QUESTÃO 4 a) SPLICE CÚBICA: POLINOMIO DE APROXIMAÇÃO: APROXIMAÇÃO INTERPOLAÇÃO: Segundo o IBGE, a população no Brasil no ano 2000 foi de 169.799.170, ou seja 169,799170 milhões, portanto o que melhor se aproximou do valor real foi a aproximação Splice cúbica que apresentou 163,139 milhões de habitantes. b) Interpolação polinomial: import numpy as np # Dados de entrada ano = [1872, 1890, 1900, 1920, 1940, 1950, 1960, 1970, 1980, 1991] habitantes = [9.9, 14.3, 17.4, 30.6, 41.2, 51.9, 70.2, 93.1, 119.0, 146.2] # Interpolação polinomial coeficientes = np.polyfit(ano, habitantes, len(ano) - 1) p = np.poly1d(coeficientes) # Estimando quando a população ultrapassa 100 milhões ano_estimado = np.arange(1872, 2000, 1) populacao_estimada = p(ano_estimado) for i, populacao in enumerate(populacao_estimada): if populacao > 100: ano_ultrapassou_100_milhoes = ano_estimado[i] break print(f"A população ultrapassou 100 milhões em torno do ano {ano_ultrapassou_100_milhoes}") A população ultrapassou 100 milhões em torno do ano 1973 SPLICE CÚBICA: import numpy as np from scipy.interpolate import CubicSpline # Dados de entrada ano = [1872, 1890, 1900, 1920, 1940, 1950, 1960, 1970, 1980, 1991] habitantes = [9.9, 14.3, 17.4, 30.6, 41.2, 51.9, 70.2, 93.1, 119.0, 146.2] # Criando a função de interpolação cúbica cs = CubicSpline(ano, habitantes) # Estimando quando a população ultrapassa 100 milhões ano_estimado = np.arange(1872, 2000, 1) populacao_estimada = cs(ano_estimado) for i, populacao in enumerate(populacao_estimada): if populacao > 100: ano_ultrapassou_100_milhoes = ano_estimado[i] break print(f"A população ultrapassou 100 milhões em torno do ano {ano_ultrapassou_100_milhoes}") A população ultrapassou 100 milhões em torno do ano 1973 MÉTODO DE APROXIMAÇÃO: import numpy as np # Dados de entrada ano = [1872, 1890, 1900, 1920, 1940, 1950, 1960, 1970, 1980, 1991] habitantes = [9.9, 14.3, 17.4, 30.6, 41.2, 51.9, 70.2, 93.1, 119.0, 146.2] # Aproximação polinomial coeficientes = np.polyfit(ano, habitantes, 3) p = np.poly1d(coeficientes) # Estimando quando a população ultrapassa 100 milhões ano_estimado = np.arange(1872, 2000, 1) populacao_estimada = p(ano_estimado) for i, populacao in enumerate(populacao_estimada): if populacao > 100: ano_ultrapassou_100_milhoes = ano_estimado[i] break print(f"A população ultrapassou 100 milhões em torno do ano {ano_ultrapassou_100_milhoes}") A população ultrapassou 100 milhões em torno do ano 1974 A população brasileira em 1972 era de 99,86 mi e em 1973 era 102,26 mi, portanto, o Brasil ultrapassou 100 milhões de habitantes em 1973, ou seja, a interpolação polinomial, e aproximação foram as mais precisas e acertaram o ano. Aps2 - Cálculo Numerico.pdf Imagem4 Aps2 - Cálculo Numerico QUESTÃO 4