Baixe o app para aproveitar ainda mais
Prévia do material em texto
Teste 1 - Algoritmos Numéricos- DI NOME: . 1. (1.5) Pode se obter aproximações para I = ∫ b a f(x)dx, usando um método simples: a regra dos retângulos. Nesta regra, divide-se o intervalo [a, b] em N subintervalos de largura fixa h = (b− a)/N (gerando os pontos x0 = a, ..., xN = b) e, então, soma-se as áreas dos N retângulos, ou seja, via: I ≈ ∑N−1 i=0 h ∗ f(xi). Suponha que se queira obter I = ∫ b=1.5 a=0.3 (1/x 2)dx por esta regra. O algoritmo, abaixo, calcula esta aproximação, usando uma posśıvel versão e usando N = 4: Algoritmo Integracao Retangulos. INICIO N=4 a=0.3 h = (1.5-0.3)/N x= a soma=0 Para i de 1 ate N q = x*x f = 1/q soma = soma + f Escreva(’Neste ponto f e soma valem:’, f, soma) %linha (*) x=x+h Fim %{para i} IntRet = h* soma Escreva (’O valor da Integral e: ’, IntRet) %linha (**) FIM Obs: o simbolo % refere -se a comentario a informação inicial refere-se ao número da linha do código. (a)(1.0) Calcule o valor de I, por esta regra, fornecido por este algoritmo, simulando as operações executadas por um computador que opere com aritmética de ponto flu- tuante normalizado, com t = 3 d́ıgitos significativos na mantissa, base 10 e expoente (inteiro) em [−10, 10]. Mostre os valores das variáveis f e soma na linha “linha (*)” e o valor de IntRet na na linha indicada por “linha (**)”. OBS: (1) Os arredondamentos devem ser feitos por corte (chopping) isto é, desprezar todos os d́ıgitos partir do (t+ 1) ésimo d́ıgito. (2) Não é necessário ficar escrevendo os valores numéricos obtidos usando potências de 10 (mas, se preferir, pode empregá-las). É importante mostrar o valor que fica armazenado na memória após cada cálculo. (b) (0.5) Há erro de arredondamento no valor de I obtido em (a)? Justifique a sua resposta. 2. (1.0) Dado um sistema linear triangular superior ax = b, de ordem n, não singular (det a 6= 0). Uma forma de obter a solução deste sistema é via a substituição regressiva, que consiste em calcular a solução obtendo primeiro a solução da última equação e “indo” até a primeira. Considere um sistema ainda mais espećıfico: seja triangular superior mas tenha apenas duas incógnitas nas equações de indices 1 até (n − 1), ou seja, tenha a seguinte configuração: a1,1x1 + a1,2x2 + 0 + ... + 0 = b1 a2,2x2 + a2,3x3 + 0... + 0 = b2 . . . ... ... ... = ... ai,ixi + ai,i+1xi+1 + 0 = bi . . . ... ... = ... an−1,n−1xn−1 + an−1,nxn = bn−1 an,nxn = bn Neste caso, a solução pode ser obtida, ainda, via substituição regressiva mas fazendo menos operações. (a)(0.5) Escreva as seguintes expressões (matemáticas): a expressão para a obtenção da incógnita xn a partir da última equação a expressão para a obtenção da incógnita xn−1 a partir da penúltima equação a expressão para a obtenção da incógnita xi a partir da i ésima equação (a)(0.5) Escreva o código (em octave) para resolver um sistema linear ax = b, dimensão n qualquer, com a configuração descrita acima, via substituição sucessivas, tirando proveito (isto é, não fazendo operações desnecessariamente) do fato que o sistema, além de ser triangular superior, apresenta esta configuração particular. Considere que os elementos de a e b já foram lidos (ou seja, já estão na memória, e que pode ser de qualquer dimensão, com dimensões compat́ıveis). Se quiser, considere também que o valor de n também já foi fornecido. Faça referência aos elementos de a usandos 2 ı́ndices, isto é, algo do tipo a(i, j) para os elementos de a e um ı́ndice para os elementos de b. Invente um problema de dimensão 4x4 (n = 4) que quiser e rode o seu código para este exemplo. O sistema inventado tem que apresentar as caracteŕıscas mencionadas no enunciando acima. Indique o exemplo escolhido e a solução obtida. Obs: só para não haver dúvidas, o algoritmo deve ser projetado para resolver pro- blema de dimensão n qualquer.
Compartilhar