# Lista 3 Grupo --- João Vitor Prado Larissa Toledo Kaleb Alves Os enunciados dos 7 exercícios desta lista se encontram [aqui](https://drive.google.com/file/d/1QTGabd1bW2FtmLKFmmd2UpwesjBRimKN/view). [toc] ## Exercício 1 Código: ![image](https://i.imgur.com/jVAAg78.png) ![image](https://i.imgur.com/xIAO50Q.png) ![image](https://i.imgur.com/CoTJb5y.png) ![image](https://i.imgur.com/RIASsrE.png) ![image](https://i.imgur.com/v3fEY6a.png) ![image](https://i.imgur.com/6M2d8EJ.png) ![image](https://i.imgur.com/enaaXMA.png) ## Exercício 2 Para essa questão, uma vez definido o polinômio como: $C2*X^2+C1*X+C0= P(x)$, e fazendo uso dos pontos apresentados P(1)=-32, P(2)=1 e P(4)=3, teremos o seguinte sistema: ![image](https://i.imgur.com/Axkj1Q4.jpg) Para resolver, usaremos as matrizes A, X e B, respectivamente: ![image](https://i.imgur.com/Sdzzm14.jpg) Onde: $A*X=B$ $A^-*A*X=A^-*B$ $X=A^-*B$ e obteremos: C0= -17, C1=13 e C2= -2 Portanto: $P(X)=-2*X^2+13*X-17$ Gráfico: ![image](https://i.imgur.com/ds5M4UV.jpg) --- Código em Python: ``` import numpy as np #declarar as matrizes A = np.array([[1,-1,1],[4,2,1],[16,4,1]]) B = np.array([[-32],[1],[3]]) #encontrar a inversa de A A_inversa = np.linalg.inv(A) #encontrar x X = np.dot(A_inversa,B) print (X) ``` ## Exercício 3 O Método de Interpolação Polinomial de Newton resulta em um polinômio parecido com o dado no exercício em questão. Após calcularmos os K's, substituímos em um polinômio para resolvê-lo. $\ K_1$ $$ s1 =f(x_1)-f(x_0) \over x_1 - x_0 $$ $$ s2 =f(x_2)-f(x_1) \over x_2 - x_1 $$ $$ s3 =f(x_3)-f(x_2) \over x_3 - x_2 $$ $\ K_2$ $$ u_1 = s2 - s1 \over x_2 - x_0 $$ $$ u_2 = s3 - s2 \over x_3 - x_1 $$ Após isso é só substituir no polinômio a seguir: $$ P(x)= f(x_0)+(x-x_0)*K_1+(x-x_0)*(x-x_1)K_2 $$ Fazendo a substituição direta dos pontos em P(x): | | $f(x)$ | x | $K_1$ | $K_2$ | | -------- | -------- | -------- | -------- |-------| | $x_0$ | -32 | -1 | 11 | -2 | | $x_1$ | 1 | 2 | 1 | | | $x_2$ | 3 | 4 | | | Criando o sistema: ![](https://i.imgur.com/MXcpegj.png) Resolvendo: ![](https://i.imgur.com/dsO3tuq.png) Fazendo as substituições, chegamos em: $P(x)=-32+11(x+1)-2(x+1)(x-2)$ ## Exercício 4 Dada a função $f(x) = e^x$ | | $x$ | $f(x)$ | | -------- | -------- | -------- | | $x_0$ | 0 | 1 | | | | $x_1$ | $1 \over 2$ | $\sqrt e$ | | | | $x_2$ | 1 | $e$ | | | Para encontrarmos a função de interpolação, basta acharmos os K's ou deltas e susbstituirmos na equação abaixo: $P(x) = f(x_0) + (x – x_0)*K_1 + (x – x_0)*(x – x_1) K_2$ #### Método de La Grange O método de La Grange genericamente se utiliza quando pretendemos determinar o polinómio interpolador de grau menor ou igual a n sendo conhecidos (n+1) pontos. $L_0=(x-0,5)(x-1)(0-0,5)(0-1)$ $L_0=2x^2-3x+1$ $L_1=-4x^2+4x$ $L_2=2x^2-x$ Substituindo: $P(x)=(2x^2-3x+1)+1,648721271(-4x^2+4x)+2,71828182(2x^2-x)$ $P(x)=0,841678572x^2+0,876603256x+1$ Plotando o gráfico: ``` x=[0:.2:1] y=exp(x) y2= ((21/25)*((x)^2)) + (((22/25)*(x))+1) my=[y; y2]' plot2d(x,[my]) ``` Obs: Se analisarmos uma função $e^x$ e nosso polinômio, no mesmo interval, as curvas serão muito parecidas: ![](https://i.imgur.com/aUgCOkn.png) ## Exercício 5 Dados os pontos da tabela, realizamos uma interpolação linear e sobrepomos o gráfico obtido com $f(x)=cos(x)$ no intervalo dado. (Aproximando a escala, temos um valor de x(0.96 , 0.56)). ![](https://i.imgur.com/PhV46KZ.png) Vamos assumir 3 valores próximos do cruzamento das funções: $(x_0, y_0) = (0,500; 0,011)$ $(x_1, y_1) = (1,000; 0,600)$ $(x_2, y_2) = (1,500; 0,990)$ Podemos utilizar o método de Lagrange para resolver esse problema. $P(x)=f(x_0)L_0(x)+f(x_1)L_1(x)+f(x_2)L_2(x)$ Calculando $L_0,L_1,L_2$: $L_0=$ $(x-1,000)(x-1,500) \over (0,500-1,000)(0,500-1,500)$ $L_1=$ $(x-0,500)(x-1,500) \over (1,000-0,500)(1,000-1,500)$ $L_2=$ $(x-0,500)(x-1,000) \over (1,500-0,500)(1,500-1,000)$ Temos: $L_0=$ $2x²-5x+3$ $L_1=$ $-4x²-8x+3$ $L_2=$ $2x²-3x+1$ Substituindo no polinômio $P(x)$, temos: $P(x)=-0,398x²+1,775x-0,777$ ``` function[P]=lagrange(X,Y) n=length(X) x=poly(0,"x");P=0; for i=1:n, L=1; for j=[1:i-1,i+1:n] L=L*(x-X(j))/(X(i)-X(j));end P=P+L*Y(i); end endfunction X=[0;0.5;1;1.5;2;2.5;3];Y=[-0.85;0.011;0.6;0.99;1.233;1.361;1.4];P=lagrange(X,Y) P = - 0.85 + 2.0492333x - 0.7103778x^2 + 0.1091667x^3 + 0.0092222x^4 - 0.0084x^5 + 0.0011556x ^6 ``` Gráfico gerado: ![](https://i.imgur.com/Aqevas4.png) $cos(x)=-0.85+2.0492333*x-0.7103778*x^2+0.1091667*x^3+0.0092222*x^4-0.0084*x^5+0.0011556*x^6$ ``` program L real::g,s,xa real, dimension(5)::x real, dimension (5)::y read*,xa x=(/0.0,0.5,1.1,5.2,2,5.3/) y=(/-0,85.0,011.0,6.0,99.1,233.1,361.1,4/) S=0.0 do i=1,5 g=1.0 do j=1,5 if (i.eq.j) cycle g=g*((xa-x(j))/(x(i)-x(j))) end do s=s+g*y(i) end do end program L ``` Podemos resolver como um **sistema linear** também de tal forma: $a0+0,500*a1+0,250*a2=0,011$ $a0+1,000*a1+1,000*a2=0,600$ $a0+1,500*a1+2,250*a2=0,990$ Aplicando Cramer: $a0 = -0,777$ $a1 = 1,775$ $a2 = -0,398$ Substituindo na eq inicial: $h(x)= -0,398x²+1,755x-0,777$ ## Exercício 6 Plotando os dados da tabela dada no exercício, temos o seguinte gráfico: ![](https://i.imgur.com/OoEfsUH.png) O objetivo aqui é ajustar uma reta do tipo $y=ax+b$ ![](https://i.imgur.com/4Vo4mta.png) Encontrar a por: ![](https://i.imgur.com/6PGBQFm.png) Passando os dados para uma tabela: ![](https://i.imgur.com/ebplA0u.png) Calculando a: $$ a = (11856121,5 - 16*[(32024*5923,3)/162]) \over 64096376- 16*(32024/162) $$ $a=1,87221$ Substituindo na equação anterior: $b = 5923,3/16 - a*(32024/16) = -3377,01448$ Ou seja, a equação da reta é: $y(x) = 1,87221x - 3377,01448$ ## Exercício 7 |T(Celsius) | 79 | 190 | 357 | 524 | 690 | | -------- | -------- | -------- | -------- |-------|------| | K | 1.000 | 0.932 | 0.839 | 0.759 | 0.693 | Se possuímos raízes e precisamos verificar se a equação de uma curva conhecida se aproxima dos pontos de um gráfico, podemos usar o método dos mínimos quadrados: $f(x) = ax²+bx+c$. Podemos transformar essa equação em uma matriz: $[f]=[x²+1] * \begin{bmatrix}x_1\\x_2\\x_3\\\end{bmatrix}$ onde $x²+1 = \phi$ e a matriz de ${x_1,x_2,x_3} = \theta$ Construindo tabela: ![](https://i.imgur.com/eT4oent.png) onde $g= \phi*\theta$ e $\theta=[\phi*T\phi]^⁻1*\phi T*g$ Resolvendo o sistema, chegamos em: $K=aT²+bT+c =>$ $K=0,0000023098560T²+0,00068706T+1,0525894404$ Resolução por código: ``` T=[6241 79 1;36100 190 1;127449 357 1;274576 524 1;476100 690 1]; G=[1;0.932;0.839;0.759;0.693]; O=T'*T; I=inv(O); thetai=I*T'; thetaf=thetai*G; thetaf format(16);thetaf thetaf= a = 0.0000002309856 b = - 0.0006807400010 c = 1.0525894404658 ``` ![](https://i.imgur.com/QqxRoER.png) #### Referências - Coelho et al. Ajuste de curvas pelo método dos mínimos quadrados (MMQ). Material didático apresentado para a disciplina Métodos Experimentais em Engenharia, Universidade Federal do ABC, 3º quadrimestre de 2016. Disponível em: <https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnx1ZmFiY21lZWJjMTcwN3xneDoyN2FkN2NjMjc2MzY4ZTI2>. Acesso em 05 de novembro de 2016. - RUGGIERO, Márcia A. Gomes. Cálculo Numérico: aspectos teóricos e computacionais. 2. ed. São Paulo: Pearson Makron Books, 1996.