Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
T1 QUESTÃO 1: x=(10010) um número em complemento 2 com 5 dígitos, converter para decimal SCILAB: VIDA: -1*2^7 RESPOSTA: -14 QUESTÃO 2: X = (10010) um número inteiro usando sinal e módulo, converter para decimal SCILAB: bin2dec('0010') VIDA: primeiro dígito à esquerda é o expoente que multiplica o número 1 = negativo; 0 = positivo o restante usar a lógica "normal" [(-1)^1] [(0*2^3) + (0*2^2) + (1*2^1) + (0*2^0)] = -2 RESPOSTA: -2 QUESTÃO 3: (0|1000|0100) representa qual número decimal, sabendo BIAS = 7 SCILAB: (-1)^0 *(1+2^-2)*2^(8-7) VIDA: 0 = (-1)^0 1000 = EXPOENTE = 2^3 =8 0100 = 1+ NÚMERO = 1 + 2^-2 (-1)^0 *(1+2^-2)*2^(8-7) RESPOSTA: 2.5 QUESTÃO 4: x=(101001)2 para decimal SCILAB: bin2dec('101001') VIDA: (1*2^5) + (1*2^3) + (1*2^0) RESPOSTA: 41 QUESTÃO 5: x=607.25 para Hexadecimal SCILAB: x=607 d0=modulo (x,16),x=fix(x/16) ATÉ CHEGAR A X=0 d0=15 x=37 d1=modulo (x,16),x=fix(x/16) d1=5 x=2 d2=modulo (x,16),x=fix(x/16) d2=2 x=0 x=0.25 d0=fix(16*x),x=16*x-d0 ATÉ CHEGAR A X=0 d0=4 x=0 RESPOSTA: (25F.4) QUESTÃO 6: ponto flutuante F(10, 4, -9998, 9998) = F(β,|M|,EMIN,EMAX) Considere o vetor com 3 componentes v=[v1, v2, v3] = [1+0.00001, 100000 + 1, 100000 + 1111] Qual o valor v nesta máquina? (ou seja, calcule v_1=1+0.00001, v_2=100000+1, v_3=100000+1111) VIDA: 1+0.00001 = 1.00001*10^0 100000+1 = 100001 = 1.00001*10^5 100000+1111 = 101111 = 1.01111*10^5 BASE 10 = PRECISO MOSTRAR PRIMEIRO DÍGITO 4 DÍGITOS DISPONÍVEIS CORTA 1.000*10^0 1.000*10^5 1.011*10^5 RESPOSTA: v = [1, 100000, 101100] QUESTÃO 7: Represente 12.25 em uma máquina com ponto flutuante F(2, 5, 5) e BIAS = 15 SCILAB: dec2base(12,2) 1100 y=0.25 d0=fix(2*y), y=2*y-d0 d0=0 y=0.5 d1=fix(2*y), y=2*y-d1 d1=1 y=0 (1100,01) RESPOSTA: 1.10001 * 2^10010 QUESTÃO 8: Converta x=(01D0,C)16 para decimal SCILAB: x=hex2dec('01D0') y= 12*16^-1 x+y VIDA: (0*16^3) + (1*16^2) + (13*16^1) + (0*16^0) + (12*16^-1) RESPOSTA: 464.75 QUESTÃO 9: 9^2-6+1 2*3+1 SCILAB: (9^2-6+1)/(2*3+1) VIDA: (9^2-6+1)/(2*3+1) RESPOSTA: (9^2-6+1)/(2*3+1) QUESTÃO 10: 6/1+2 6^1-2 6+1*2 6/1*2 SCILAB: - VIDA: - RESPOSTA: 8, 4, 8, 12 M1 QUESTÃO 1: Converta o número inteiro x=(101111)2 para decimal SCILAB: bin2dec('101111') VIDA: 1*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0 RESPOSTA: 47 QUESTÃO 2: Seja x=(10100) um número inteiro usando sinal e módulo, converter para decimal SCILAB: bin2dec('0100') VIDA: primeiro dígito à esquerda é o expoente que multiplica o número 1 = negativo; 0 = positivo o restante usar a lógica "normal" (-1)^1 * (1*2^2) = -4 RESPOSTA: -4 QUESTÃO 3: Seja x=(11001) um número de complemento 2 com 5 dígitos, converter x para decimal SCILAB: x=bin2dec('1001') y= (-1)*2^4 x+y VIDA: primeiro dígito à esquerda é número que multiplica 2^n-1 1 = -1; 0 = 0 o restante usar a lógica "normal" (-1)*2^4 * (1*2^2) = -7 RESPOSTA: -7 QUESTÃO 4: Converter x=(FADA.8)16 para decimal Converta x = (01D0.C)16 para decimal SCILAB: hex2dec('FADA') hex2dec('01D0') y=8*16^-1 y=C*16^-1 x+y x+y VIDA: 15*16^3 + 10*16^2 + 13*16^1 + 10*16^0 + 8*16^-1 RESPOSTA: 64218.5 QUESTÃO 5: Converter x=703168.5 para hexadecimal Converta x = 61888.375 para hexadecimal *nesse caso, não utilizar o numero após a virgula (ignora ele) e só usa o numero antes da virgula (nesse caso, 61888) SCILAB: dec2base(703168,16) dec2base(61888,16) feito isso, é só colocar virgula 16 do lado do numero (virgula mesmo, não o ponto " . ") --> ,16 d=fix(16*y),y=16*y-d d=fix(16*y),y=16*y-d d=8 d=8 y=0 y=0 VIDA: - RESPOSTA: ABACO.8 F1C0.6 QUESTÃO 6: A sequência de bits (0|1100|0010) representa qual número decimal A sequência de bits (0|1000|1100) representa qual número decimal sabendo que BIAS = 8 BIAS = 7 SCILAB: (-1)^0 *(1+2^-3)*2^(12-8) (-1)^0 * (1+ 2^-1 + 2^-2)*2^(8-7) VIDA: 0 = (-1)^0 0 = (-1)^0 1100 = EXPOENTE = 1*2^3 + 1*2^2 + 0*2^1 + 0*2^0 = 12 1000 = EXPOENTE = 1*2^3 + 0*2^2 +0*2^1 + 0*2^0 = 8 0010 = 1+ NÚMERO = 1 + 0*2^-1 + 0*2^-2 + 1*2^-3 + 0*2^-4 1100 = 1 + NUMERO = 1 + 1*2^-1 + 1*2^-2 + 0*2^-3 + 0*2^-4 (-1)^0 *(1+2^-3)*2^(12-8) (-1)^0 * (1+ 2^-1 + 2^-2)*2^(8-7) RESPOSTA: 18 3.5 QUESTÃO 7: Represente 26.5 em uma máquina com ponto flutuante F(2, 5, 5) e BIAS = 15 Represente 6528 em uma máquina com ponto flutuante F(2, 5, 5) e BIAS = 15 SCILAB: dec2base(26,2) dec2base(6528,2) 11010 1100110000000 x=0.5 x=0.5 d=fix(2*x),x=2*x-d d=fix(2*x),x=2*x-d d=1 d=1 x=0 x=0 (11010,1) (1100110000000,1) 1.10101 * 10^4 1.100110000000 * 10^12 BIAS + 4 = 19 BIAS + 12 = 27 dec2base(19,2) dec2base(27,2) 10011 11011 RESPOSTA: 1.10101*2^10011 1.10011*2^11011 QUESTÃO 8: ponto flutuante F(10, 4, -9998, 9998) = F(β,|M|,EMIN,EMAX) Considere a máquina em ponto flutuante F(10, 5, -9998, 9998) = F(β,|M|,EMIN,EMAX) Considere v= 200000+34 Considere a operação v= 200000+3456 Qual o valor v nesta máquina? utilizando arredondamento por corte. Qual o valor de v nesta máquina? VIDA: 200000+34 = 2,00034*10^5 200000+3456 = 2,03456 *10^5 BASE 10 = PRECISO MOSTRAR PRIMEIRO DÍGITO BASE 10 = PRECISO MOSTRAR PRIMEIRO DÍGITO 4 DÍGITOS DISPONÍVEIS 4 DÍGITOS DISPONÍVEIS CORTA CORTA 2.000*10^5 2.0345*10^5 RESPOSTA: 200000 203450 QUESTÃO 9: Como escreve no scilab 9^2-6+1 / 2*3+1 SCILAB: (9^2-6+1)/(2*3+1) RESPOSTA: (9^2-6+1)/(2*3+1) QUESTÃO 10: Resultado de 5/1+2 5+1*2 5^1-2 5/1*2 SCILAB: 5/1+2 5+1*2 5^1-2 5/1*2 RESPOSTA: 7,3,7,10 T2 QUESTÃO 1: β=2, |M| = 5, 101.01010101010 Arredondar por proximidade VIDA: Primeiro normalizamos o número (1.0101010101010) Como em binário não precisamos guardar o primeiro dígito a mantissa do número é igual a 01010 Como o próximo número após a mantissa é 1, arredondamos pra cima RESPOSTA: 101,011 QUESTÃO 2: β=10, |M| = 5, 123.456789 Arredondar por corte VIDA: 123.45 RESPOSTA: 123.45 QUESTÃO 3: β=10, |M| = 5, 123.456789 Arredondar por proximidade VIDA: 123.46 RESPOSTA: 123.46 QUESTÃO 4: Quantos dígitos significativos possui x*=12000.00 ao aproximar x=1234.56 SCILAB: x=1234.56 x1=1200.00 erro_rel=abs((x-x1)/x) erro_rel = 0.0279938 0.0279938 < 5 * 10^-2 RESPOSTA: 2 QUESTÃO 5: Quantos dígitos significativos possui x*=0.00012 ao aproximar x=0.000121212 SCILAB: x=0.000121212 x1=0.00012 erro_rel=abs((x-x1)/x) erro_rel = 0.009999 0.009999 < 5 * 10^-2 RESPOSTA: 2 QUESTÃO 6: Quantos dígitos significativos possui x*= 1999.981928 ao aproximar x=2000 SCILAB: x=2000 x1=1999.981928 erro_rel=abs((x-x1)/x) erro_rel = 0.000009 0.000009 < 5 * 10^-5 RESPOSTA: 5 QUESTÃO 7: β=10, |M| = 10, x=3/9, y=0.333333 Haverá perda de quantos dígitos siginificativos no cálculo x-y SCILAB: x=3/9 x=0.333333333 y=0.333333 x-y 0.000000333 RESPOSTA: 6 QUESTÃO 8: Para qual x a função f(x)=sin(x^2-4) terá perda de dígitos significativos VIDA: Cancelamento catastrófico acontece quando fazemos subtrações com números muito próximos entre si RESPOSTA: x ≈ ±2 QUESTÃO 9: Para qual x a função f(x) = (x+3)/(1+x^2) terá perda de dígitos significativos VIDA: Cancelamento catastrófico acontece quando fazemos subtrações com números muito próximos entre si RESPOSTA: x ≈ -3 QUESTÃO 10: Sejam x=2^1/2 e y=18^1/2 u=x*x=2 e v= y/x = (18/2)^1/2 qual o erro relativo ao calcular x*x e y/x e o valor do epsilon de máquina SCILAB: x=sqrt(2) 1.41421D+00 y=sqrt(18) 4.24264D+00 u=x*x 2.00000D+00 v=y/x 3.00000D+00 abs((u-x)/x) 4.14214D-01 abs((v-(y/x))/(y/x)) 0.00000D+00 RESPOSTA: M2 QUESTÃO 1: máquina com base 10, precisão 9 arredondar por truncamento (corte) x=12345.678901234 VIDA: 12345.6789 RESPOSTA: 12345.6789 QUESTÃO 2: β=10, |M| = 6, 12345.678901234 Em uma máquina com β=10, e três digitos no significando (mantissa;|M| = 3) utilizando o arredondamento por proximidade Arredondar por proximidade qual é a representação de x = 12345, 678901234 VIDA: 12345.7 12300 RESPOSTA: 12345.7 QUESTÃO 3: β=2, |M| = 3, x=10101.010101010101 Arredondar por truncamento (corte) VIDA: Primeiro normalizamos o número (1.0101010101010101*2^4) acho que aqui é 10^4 em vez de 2^4 xc=(1.010)1010101010101*2^4 xc=1.010*2^4 deslocar de volta para notação normal (deslocar 4 casas o ponto decimal) RESPOSTA: 10100 QUESTÃO 4: β=10, |M| = 8, x=0.0012345678901234 Arredondar por proximidade VIDA: Primeiro normalizamos o número (1.2345678901234*10^-3) xp=(1.2345678)901234*10^-3 xp=1.2345678*10^-3=1.2345679*10^-3 xp=0.0012345679 RESPOSTA: 0.0012345679 QUESTÃO 5: Quantos dígitos significativos possui x=987650 ao aproximar y=987654.321123 Quantos dígitos significativos possui x=987700 ao aproximar y=987654.321123 SCILAB: y=987654.321123 y=987654.321123 x=987650 x=987700 log10(abs((y-x)/y)) log10(abs((y-x)/y)) * o resultado vai dar negativo, mas desconsiderar o sinal 5.3590083 -4.3348895 RESPOSTA: 5 4 QUESTÃO 6: Quantos dígitos significativos possui x=798768.7898 ao aproximar y=798768.789789789 Quantos dígitos significativos possui x=799000 ao aproximar y=798768.789789789 SCILAB: y=798768.789789789 y=798768.789789789 x=798768.7898 x=799000 erro_rel=abs((y-x)/y) erro_rel=abs((y-x)/y) erro_rel = 1.27834D-11 0.0002895 0.0000000000127834 < 5 * 10^-11 2,895 x 10^-4 /NUMERO DE DIGITOS SIGNIFICATIVOS = NUMERO CORRETO = QUANTOS ZEROS EU TENHO RESPOSTA: 11 4 QUESTÃO 7: Quantos dígitos significativos possui x=0.000333 ao aproximar y=1/3000 Quantos dígitos significativos possui x=0.0003333 ao aproximar y=1/3000 SCILAB: y=1/3000 y=1/3000 x=0.000333 x=0.0003333 erro_rel=abs((y-x)/y) erro_rel=abs((y-x)/y) erro_rel = 0.001 0.0001 0.001 < 5 * 10^-3 0.0001 < 5*10^-4 RESPOSTA: 3 4 QUESTÃO 8: x=10^14, y=10^-s, z=x+y qual o maior valor de 's' que permite 'z' diferente de 'x' no scilab SCILAB: 16 - o expoente do x = Resposta 16 -14 2 RESPOSTA: QUESTÃO 9: m=((13*x+13)^1/2)-13 Considere a expressão numérica m=((16*x+16)^1/2)-16 o cálculo de 'm' possui cancelamento catastrófico quando x for aproximado de a o cálculo de 'm' possui cancelamento catastrófico quando x for aproximado de a qual valor de a? qual valor de a? VIDA: m=0 quando x=12 m=0 quando x=15 a é próximo de x a é proximo de x RESPOSTA: 12 15 QUESTÃO 10: x=1234560/7 e y=176365.71428 Considere a fração x=1234560/7 e y=176365 ao calcular M = x-y, teremos cancelamento catastrófico ao calcular M = x-y, teremos cancelamento catastrófico quantos dígitos de precisão serão perdidos? quantos dígitos de precisão serão perdidos? SCILAB: x=1234560/7 x=1234560/7 x=176365.7143 176365.71 y=176365.71428 y=176365 M=x-y M=x-y M=0.000005714 M = 0.7142857 0.000005714<5*10^-5 0.0000057 <5*10^-5 16-5 o número de digitos de x (após a divisão por 7) que forem iguais ao y, é a resposta final RESPOSTA: 11 T3 QUESTÃO 1: Qual o número condicionante da função f(x)=x^1/3 VIDA: condicionante = x*f'(x) / f(x) f'(x) = 1/3*x^-2/3 (x*1/3*x^-2/3)/(x^1/3) RESPOSTA: 1/3 QUESTÃO 2: Qual número de condicionamento da função f(x) = exp (x^2) em x=-100 VIDA: condicionante = x*f'(x) / f(x) f'(x) = 2*x*exp(x^2) x*2*x*exp(x^2)/exp(x^2) 2*x^2 RESPOSTA: 20000 QUESTÃO 3: f(x) = cos (x) e a=1.577777777... Com erro relativo ±10^-4 estime o erro relativo f(a) VIDA: RESPOSTA: 0,022599 QUESTÃO 4: Qual número de condicionamento da função f(x) = exp ((x-99)^2) em x=100 VIDA: condicionante = x*f'(x) / f(x) f'(x) = 2*(x-99)*exp((x-99)^2) x*2*(x-99)*exp((x-99)^2)/exp ((x-99)^2) 2*x^2-198*x RESPOSTA: 200 QUESTÃO 5: Estime a maior raiz de, com o método da bissecção f(x) = sin(x) + exp(x) com 5 dígitos significativos SCILAB: abre o scinotes function y=f(x) y = (sin(x) + exp(x))// coloca a função endfunction a=-1 // coloca o intervalo b=1 for i=1:100 //coloca de 1 até quantas vezes quer repetir m=(a+b)/2 if f(a)*f(m)<0 then b=m else a=m end disp([a b]) //aparecer os resultados de a e b lado a lado end RESPOSTA: -0.588533 QUESTÃO 6: Método da bissecção, com 5 dígitos significativos estimar a intersecção mais à esquerda do plano xy entre as curvas f(x) = sin(x) e g(x)=x^4-2*x+1 SCILAB: RESPOSTA: (x,y)=(0.339956, 0.33344) QUESTÃO 7: Encontre todas as raízes de f(x) = cos(x) + x^2 -3*x SCILAB: RESPOSTA: 0,35449636 e 3,299329 QUESTÃO 8: Encontre todas as raízes de f(x) = x^3 + 21*x^2 + 110*x +1 SCILAB: x=poly(0,"x") y=x^3+21*x^2+110*x+1 roots(y) -1108328888703040000000 -99076043781536200000000 -0.00910673481594361303 RESPOSTA: -9.9076 QUESTÃO 9: Encontre a intersecção das curvas x^3 + y^3 = 1 e x=y^2 SCILAB: RESPOSTA: (x,y)=(0.725562, 0.851799) QUESTÃO 10: Sabendo que uma raiz de f(x) = 0 está entre (a,b)=(122.41,123.23) quantas iterações são necessárias para que o erro absoluto seja estimado como no máximo 0.001 SCILAB: RESPOSTA: 9 M3 QUESTÃO 1: Qual o número condicionante da função f(x)=e^x em x=16 Qual o número condicionante da função f(x)=e^x em x=15 VIDA: condicionante = x*f'(x) / f(x) f'(x) = e^x x*e^x/e^x RESPOSTA: 16 15 QUESTÃO 2: Qual número de condicionamento da função Qual número de condicionamento da função f(x) = cos(2*x+1) em x=5 f(x) = cos(2*x+1) em x=4 VIDA: condicionante = x*f'(x) / f(x) condicionante = x*f'(x) / f(x) antes de escrever o código no scilab, colocar o valor de x f'(x) = 2*-sen(2*x+1) f'(x) = 2*-sen(2*x+1) x=4 x*(-2)*sin(2*x+1)/cos(2*x+1) x*(-2)*sin(2*x+1)/cos(2*x+1) código RESPOSTA: 2259,508464 3.6185253 QUESTÃO 3: f(x) = sin (x) e a=3.144444444444444... Com erro relativo ±10^-11 f(x) = sin (x) e a=3.144444444444444... Com erro relativo ±10^-7 estime o erro relativo f(a) estime o erro relativo f(a) SCILAB: x=3.1444444444444444444444444 erro_relativo_inicial = 10^(-11) y=(x*cos(x))/(sin(x)) x= 3.144444444444444 y=1102.6179970474829588056 k(x)=(x*(cos(x)))/sin(x) //(derivada da funçao inicial vezes x, tudo dividido pela função inicial z=10^-11/y disp(k(x)) z=0.0000000000000090693241 erro_rel = k(x)*erro_relativo_inicial disp (erro_rel) RESPOSTA: 0.0000000000000090693241 0.0001102618 QUESTÃO 4: Qual número de condicionamento da função Qual número de condicionamento da função f(x) = sin(6*x) em x=10 f(x) = sin(5*x) em x=10 VIDA: condicionante = x*f'(x) / f(x) condicionante = x*f'(x) / f(x) antes de escrever o código no scilab, colocar o valor de x f'(x) = 6*cos(6*x) f'(x) = 5*cos(5*x) x*6*cos(6*x)/sin(6*x) x*5*cos(5*x)/sin(5*x) RESPOSTA: 187,476337 183.8907225 QUESTÃO 5: Estime a maior raiz de, com o método da bissecção Estime a maior raiz de, com o método da bissecção f(x) = exp(x) - (x^2/4) com 5 dígitos significativos f(x) = exp(x) - (x^2/12) com 5 dígitos significativos SCILAB: coloca algum intervalo, dá zoom no gráfico até achar o intervalo que pode estar a raiz coloca algum intervalo, dá zoom no gráfico até achar o intervalo que pode estar a raiz x=-4:1 x=-4:1 plot(x,exp(x)-(x^2/4),'*r') plot(x,exp(x)-(x^2/12),'*r') xgrid xgrid abre o scinotes abre o scinotes function y=f(x) function y=f(x) y = (exp(x) - (x^2/4))// coloca a função y = (exp(x) - (x^2/12))// coloca a função endfunction endfunction a=-4 // coloca o intervalo a=-4 // coloca o intervalo b=1 b=1 for i=1:30 //coloca de 1 até quantas vezes quer repetir for i=1:30 //coloca de 1 até quantas vezes quer repetir m=(a+b)/2 m=(a+b)/2 if f(a)*f(m)<0 then if f(a)*f(m)<0 then b=m b=m else else a=m a=m end end disp([a b]) //aparecer os resultados de a e b lado a lado disp([a b]) //aparecer os resultados de a e b lado a lado end end RESPOSTA: -1.1342865808195676802228 -1.57561 QUESTÃO 6: Método da bissecção, com 5 dígitos significativos Método da bissecção, com 5 dígitos significativos estimar a intersecção entre as curvas estimar a intersecção entre as curvas f(x) = sin(x) e g(x)=8-x f(x) = sin(x) e g(x)=11-x SCILAB: coloca algum intervalo, dá zoom no gráfico até achar o intervalo que pode estar a raiz x=-20:20 x=-20:20 x=-10:10 plot(x,sin(x)+x-11,'*r') plot(x,sin(x)-11+x,'*r') plot(x,sin(x)-8+x,'*r') xgrid xgrid xgrid function y=f(x) abre o scinotes abre o scinotes y=sin(x)+x-11 function y=f(x) function y=f(x) endfunction y = (sin(x)-11+x)// coloca a função y = (sin(x)-8+x)// coloca a função endfunction endfunction a=11 b=12 LEMBRAR DE TROCAR a=11 // coloca o intervalo a=7 // coloca o intervalo O INTERVALO!!!! b=12 b=8 for i=1:80 m=(a+b)/2 for i=1:20 //coloca de 1 até quantas vezes quer repetir for i=1:20 //coloca de 1 até quantas vezes quer repetir if (f(a)*f(m)<0) then m=(a+b)/2 m=(a+b)/2 b=m if f(a)*f(m)<0 then if f(a)*f(m)<0 then else b=m b=m a=m else else end a=m a=m disp([a,b]) end end end disp([a b]) //aparecer os resultados de a e b lado a lado disp([a b]) //aparecer os resultados de a e b lado a lado end end RESPOSTA: 7.203941345 11.737301 11.737301 QUESTÃO 7: Encontre a maior raíz de Encontre a maior raíz de f(x) = x^4 - 10 + x f(x) = x^4 - 16 + x SCILAB: x=poly(0,"x") x=poly(0,"x") y=x^4-10+x y=x^4-16+x roots(y) roots(y) RESPOSTA: 1.6974719 1.93652523 QUESTÃO 8: Encontre uma raiz de Encontre uma raiz de f(x) = 3*x^4 - x^5 + x + 18 f(x) = 3*x^4 - x^5 + x + 12 SCILAB: x=poly(0,"x") x=poly(0,"x") y=3*x^4 - x^5 + x + 18 y=3*x^4 - x^5 + x + 12 roots(y) roots(y) RESPOSTA: 3.2017532 3.1532713 É O NUMERO QUE APARECE LOGO APÓS O ANS (primeiro numero que aparece na resposta do código) Encontre a coordenada x da intersecção entre as curvas QUESTÃO 9: Encontre a coordenada x da intersecção entre as curvas -ln(y) = x^2 e 6*x = y^2 -ln(y) = x^2 e 10*x = y^2 x=-10:10 x=-10:10 plot(x, (exp(-x^2)-sqrt(6*x)),'*r') plot(x, (exp(-x^2)-sqrt(10*x)),'*r') SCILAB: coloca algum intervalo, dá zoom no gráfico até achar o intervalo que pode estar a raiz xgrid xgrid x=-10:10 plot(x,(exp(-x^2)-sqrt(10*x)),'*r') function y=f(x) function y=f(x) xgrid y=(exp(-x^2)-sqrt(6*x)) y=(exp(-x^2)-sqrt(10*x)) endfunction endfunction abre o scinotes function y=f(x) a=0 a=0 y = (sqrt(10*x)-exp(-x^2))// coloca a função b=1 b=1 endfunction for i=1:100 for i=1:100 a=0 // coloca o intervalo m=(a+b)/2 m=(a+b)/2 b=1 if (f(a)*f(m)<0) then if (f(a)*f(m)<0) then b=m b=m for i=1:100 //coloca de 1 até quantas vezes quer repetir else else m=(a+b)/2 a=m a=m if f(a)*f(m)<0 then end end b=m disp([a,b]) disp([a,b]) else end end a=m end disp([a b]) //aparecer os resultados de a e b lado a lado RESPOSTA: 0.0980939167 0.1584995 0.0980939167 QUESTÃO 10: Sabendo que uma raiz de f(x) = 0 está entre (a,b)=(24.4,27,8) FAZER quantas iterações são necessárias para que o erro absoluto PRIEMEIRA: 27-8-23,4=4,4 seja estimado como no máximo 0.001 SEGUNDA: 4,4/0,0001 = 4400 ir dividindo 4400 por 2 até dar um número menor que 1 SCILAB: x=(b-a)/2 1)4400/2=2200 x=x/2 2)2200/2=1100 fazer até x chegar em 0.0001 e contar quantas vezes foi necessário fazer divisão pra isso 3)1100/2=550 4)ANS/2=275 RESPOSTA: 15 5) ANS/2=137,5 6) ANS/2=68,75 7) ANS/2=34,375 8) ANS/2=17,1875 9) ANS/2=8,59 10) ANS/2=4,3 11) ANS/2=2,15 12) ANS/2=1,07 13) ANS/2=0,5371 +2 ITERAÇÕES NO INÍCIO = 15 T4 QUESTÃO 1: PONTO FIXO f(x) = x^3-x^2-x+1 g(x) = x^3-x^2+1 x=g(x) com x1=0.9 SCILAB: x=0.9 for n=1:1000 x=x^3-x^2+1 disp(x) end RESPOSTA: o método convergirá para 1 QUESTÃO 2: PONTO FIXO f(x) = x^3-x^2-x+1 g(x) = x^3-x^2+1 x=g(x) com x1=1.1 SCILAB: x=1.1 for n=1:1000 x=x^3-x^2+1 disp(x) end RESPOSTA: o método não convergirá QUESTÃO 3: A equação de ponto fixo x=-1/(x^2-x-2) possui 3 pontos fixos porém o método é convergente somente para SCILAB: x=0 for n=1:10 x=-1/(x^2-x-2) disp(x) end RESPOSTA: 0.445041 QUESTÃO 4: A equação de ponto fixo g(x) = -1/(x^2-x-2) não converde para p=-1.247... Pois VIDA: RESPOSTA: QUESTÃO 5: Seja f(x) = x^2-6 e x1=1 Utilize o método de Newton para determinar uma raiz com 7 dígitos sig SCILAB: function y=f(x) y=x^2-6 endfunction function y=fl(x) y=2*x endfunction x=1 for n=1:50 x = x - f(x)/fl(x) disp(x) end RESPOSTA: 2.449489 QUESTÃO 6: Seja f(x)=x-cos(x), utilize o método de Newton para determinar uma raiz (não deu certo pelo método) erro relativo menor que 10^-5 intervalo [0,3] SCILAB: function y=f(x) y=x-cos(x) endfunction x=-10:0.1:10 plot(x,f(x),'r.-'); xgrid RESPOSTA: 0.739085 QUESTÃO 7: Encontre uma intersecção entre -cos(x-1) e ln (x-1) em [1.3,2] SCILAB: function y=f(x) y = (log(x-1)+cos(x-1))// coloca a função endfunction a=1.3 // coloca o intervalo b=2 for i=1:20 //coloca de 1 até quantas vezes quer repetir m=(a+b)/2 if f(a)*f(m)<0 then b=m else a=m end disp([a b]) //aparecer os resultados de a e b lado a lado end RESPOSTA: 1.39774 QUESTÃO 8: f(x) = x^3 + 4*x^2 + 5*x -2 Dadas as aproximações iniciais apropriadas, o mdN converge para 1 e 2 com ordem SCILAB: ? ? ? RESPOSTA: 1 e 2 respectivamente QUESTÃO 9: primeiras iterações do mdN 11.0, 11.31068, 11.36484, 11.36601 Baseado somente nesse fato, podemos estimar que 11.36601 é uma aprox. para a raiz com RESPOSTA: 4 dígitos significativos M4 QUESTÃO 1: Quantos pontos fixos possui Quantos pontos fixos possui x = sin(9*x) x = sin(7*x) SCILAB: x=-2:0.1:2 x=-2:0.1:2 plot(x,y=x,'b.-') plot(x,y=x,'b.-') A resposta é o numero de pontos em que os graficos se interceptam xgrid xgrid plot(x,sin(9*x),'r.-') plot(x,sin(7*x),'r.-') RESPOSTA: 7 3 QUESTÃO 2: Quantos pontos fixos possui f(x) = x^8-6*x^4-3*x+2 SCILAB: x=-2:0.1:2 plot(x,y=x^8-6*x^4-3*x+2,'r.-') A resposta é o numero de pontos em que os graficos se interceptam plot(x,y=x,'b.-') xgrid RESPOSTA: 4 QUESTÃO 3: Aproxime um mínimo da função Aproxime um mínimo da função Aproxime um mínimo da função g(x) = e^(8*x) + e^(-x) + 8*x g(x) = e^(3*x) + e^(-x) + 3*x g(x) = e^(7*x) + e^(-x) + 7*x SCILAB: function y=f(x) function y=f(x) y=(exp(3*x))+(exp(-x))+(3*x) y=(exp(7*x))+(exp(-x))+(7*x) endfunction endfunction function y=fl(x) function y=fl(x) y=3*(exp(3*x))-(exp(-x))+(3) y=7*(exp(7*x))-(exp(-x))+(7) endfunction endfunction function y=fll(x) function y=fll(x) y=9*(exp(3*x))+(exp(-x)) y=49*(exp(7*x))+(exp(-x)) endfunction endfunction x=-10:0.1:10 x=-10:0.1:10 plot(x, fll(x), 'r.-'); xgrid plot(x, fll(x), 'r.-'); xgrid x=1 x=1 for n=1:20 for n=1:20 x=x -fl(x)/fll(x) x=x -fl(x)/fll(x) disp ( x ) disp ( x ) end end -1.1316083 -1.9459114 RESPOSTA: QUESTÃO 4: Aproxime a menor raiz positiva de sin(x) = 1 / x SCILAB: x=1 function y=f(x) for i=1:100 //coloca de 1 até quantas vezes quer repetir y=sin(x)-(1/x) x=1/sin(x) endfunction disp(x) end function y=fl(x) y=cos(x)+ (2/(x^2)) endfunction format(26) x=1 for n=1:100 x=x -f(x)/fl(x) disp ( x ) end RESPOSTA: 1,1141571 QUESTÃO 5: MÉTODO DE NEWTON Seja f(x) = e^(2*cos(x)-1) - 1 x1 = -0.1 indicar a aproximação do zero dessa função com 6 dígitos SCILAB: function y=f(x) y=exp(2*cos(x)-1)-1 endfunction function y=fl(x) y=-2*sin(x)*exp(2*cos(x)-1) endfunction x=-10:0.1:10 plot(x,f(x),'r.-'); xgrid x=-0.1 for n=1:10 x = x - f(x)/fl(x) disp(x) end RESPOSTA: -93.200582 QUESTÃO 6: MÉTODO DE NEWTON Seja f(x) = cos(sqrt(x^2+1)) - sin(x) x1 = -3.8 fazer 3 iterações de modo a calcular x4 com 8 dígitos SCILAB: function y=f(x) y=cos(sqrt(x^2+1))-sin(x) endfunction function y=fl(x) y=((-x*sin(sqrt(x^2+1)))/(sqrt(x^2+1)))-cos(x) endfunction x=-10:0.1:10 plot(x,f(x),'r.-'); xgrid x=-3.8 for n=1: x = x - f(x)/fl(x) disp(x) end RESPOSTA: 23.4653513873 QUESTÃO 7: a função em [0,infinito) a função em [0,infinito) f(x) = exp(5*x) - 26*(sqrt(x)) f(x) = exp(2*x) - 11*(sqrt(x)) possui dois zeros possui dois zeros obtenha a terceira iterada do método newton-raphoson para um dos zeros obtenha a terceira iterada do método newton-raphoson para um dos zeros x0=0.5 x0=0.8 SCILAB: function y=f(x) function y=f(x) y=exp(5*x)-26*sqrt(x) y=exp(2*x)-11*sqrt(x) endfunction endfunction function y=fl(x) function y=fl(x) y=5*exp(5*x)-13*x^(-1/2) y=2*exp(2*x)-5.5*x^(-1/2) endfunction endfunction x=0.5 x=0.8 for n=1:3 for n=1:3 x = x - f(x)/fl(x) x = x - f(x)/fl(x) disp(x) disp(x) end end RESPOSTA: 0.6007377773 1.424944 QUESTÃO 8: Encontre uma aproximação para a maior raiz do polinomio Encontre uma aproximação para a maior raiz do polinomio x^7 - 5*x^4 + 5 x^7 - 7*x^4 + 7 com 6 dígitos com 6 dígitos SCILAB: x=poly(0,"x") x=poly(0,"x") y=x^7-5*x^4+5 y=x^7-7*x^4+7 roots(y) roots(y) -0.9142894 + 1.4889842i -1.0007719 + 1.6608127i -0.9142894 - 1.4889842i -1.0007719 - 1.6608127i 1.6236859 1.8578355 1.0736965 10455791 0.0456374 + 0.9881294i 0.0339844 + 0.9935236i 0.0456374 - 0.9881294i 0.0339844 - 0.9935236i -0.9600785 -0.9698396 RESPOSTA: 1.6236859 1.8578355 T5 QUESTÃO 1: Quantos flops (+,-,*,/) são necessários para calcular 1+2*x-x*x , onde x é um vetor com n componentes VIDA: PRODUTO VETOR COM ESCALAR = n FLOPS PRODUTO VETOR COM VETOR = 2n-1 FLOPS SOMA = 1 FLOP OU n FLOPS (2n-1) + (n) + (n) +(1) RESPOSTA: 4n FLOPS QUESTÃO 2: Quantos flops (+,-,*,/) são necessários para calcular 1 + (2-x) * x , onde x é um vetor com n componentes VIDA: VETOR COM ESCALAR = n FLOPS VETOR COM VETOR = 2n-1 FLOPS SOMA = 1 FLOP (2n-1) + (n) +(1) RESPOSTA: 3n FLOPS QUESTÃO 3: Quantos flops (*,/) são necessários para calcular A*b , onde A é uma matriz triangular e b é um vetor com n componentes VIDA: RESPOSTA: n(n+1)/2 QUESTÃO 4: Quantos flops (*,/) são necessários para multiplicar duas matrizes tridiagonais de tamanho n por n VIDA: RESPOSTA: 9n-10 QUESTÃO 5: Quantos flops (+,-,*,/) são necessários para fatorar uma matriz tridiagonal VIDA: RESPOSTA: 3n-3 QUESTÃO 6: Quantos flops (*,/) são necessários para resolver o sistema tridiagonal (custo LU + 2*custo para resolver sistemas) VIDA: RESPOSTA: (2n-2) + 2*( 2n-1 ) QUESTÃO 7: Seja A uma matriz esparsa tal que os elementos diferentes de zero estão na diagonal e na primeira coluna de A. Quantos flops são necessários para fatorar A como LU VIDA: RESPOSTA: n-1 QUESTÃO 8: Seja A uma matriz esparsa tal que os elementos diferentes de zero estão na diagonal e na primeira coluna de A. Fatorando A=LU, quantos elementos diferentes de zero apresentam A, L e U VIDA: RESPOSTA: 3n-2, n(n+1)/2 e n(n+1)/2 QUESTÃO 9: A = [A B; 0 A], onde A é inversível de tamanho n por n. Sabendo que o custo para fatorar A é n^3/3, estime o custo para resolver o sistema com a matriz M usando o fato que é uma matriz por blocos (somente *,/) VIDA: RESPOSTA: n^3/3+3*n^2 QUESTÃO 10: Sabendo que o custo para resolver o problema envolvendo uma matriz A é 2*n^3/5. Se considerando uma matriz 10 vezes maior quantas vezes o custo deve aumentar VIDA: 10^3 = 1000 RESPOSTA: 1000 M5 QUESTÃO 1: Quantos flops (+,-,*,/) são necessários para calcular ((x+2)*x+4), onde x é um vetor com 283 componentes VIDA: PRODUTO VETOR COM ESCALAR = n FLOPS PRODUTO VETOR COM VETOR = 2n-1 FLOPS SOMA = 1 FLOP OU n FLOPS n= nº de componentes (2n-1) + (n) + (1) = 3n RESPOSTA: 849 QUESTÃO 2: Quantos flops (+,-,*,/) são necessários para calcular x^2+x/(x+3) , onde x é um vetor com 298 componentes VIDA: VETOR COM ESCALAR = n FLOPS VETOR COM VETOR = 2n-1 FLOPS SOMA = 1 FLOP n= nº de componentes (2n-1) + (n) +(n) + (1) = 4n RESPOSTA: 1192 QUESTÃO 3: Quantos flops (*,/) são necessários para multiplicar uma matriz tridiagonal por uma matriz diagonal de tamanho 348 por 348 VIDA: 3n RESPOSTA: 1044 QUESTÃO 4: custo 4*n^4/3 flops para um vetor de entrada com n elementos vetor 9 vezes maior, qual será o custo peracional VIDA: 9^4 RESPOSTA: 6561 QUESTÃO 5: Seja A uma matriz tridiagonal de tamanho 428 por 428 quantos elementos diferentes de zero possui a matriz pentadiagonal B=A*A VIDA: 5*n-6 elementos diferentes de zero RESPOSTA: 2134 QUESTÃO 6: Seja A uma matriz tridiagonal de tamanho 260 por 260 D uma matriz diagonal, B=A*D e C=D*A. M = [AC; BD] Quantos elementos diferentes de zero possui a matriz pentadiagonal M? VIDA: 5*(2*n)-6 elementos diferentes de zero RESPOSTA: 2594 QUESTÃO 7: Seja A uma matriz de tamanho 461 por 461, onde Aij=0 se |i-j| > 1 Considerando as 4 operações fundamentais, quantos flops são necessários para fatorar a matriz A? VIDA: 3*n-3 RESPOSTA: 1380 QUESTÃO 8: Considere o sistema linear Mx=b. Sabendo que o custo para fatoração LU da matriz M (num determinado formato) é de 99225 flops e o custo para resolver os dois sistemas resultantes é de 945 flops, qual será o custo para resolver 5 sistemas com a mesma matriz M e vetores b diferentes VIDA: RESPOSTA: 103950 QUESTÃO 9: T matriz tridiagonal de tamanho 127 por 127 e U uma matriz triangular superior considere a matriz M = (T+U)*(T+U) quantos elementos diferentes de zero possui a matriz M? VIDA: n*n-[ (n-3)*((n-2)/2)] , sendo n= tamanho da matriz RESPOSTA: 24084 QUESTÃO 10: Considere o código Considere o código Considere o código s=0; s=0; s=0; for k=1:385; for k=1:381; for k=1:295; s=s+M(k,1:k)*M(1:k,k); s=s+M(k,1:k)*M(1:k,k); s=s+M(k,1:k)*M(1:k,k); end. end. end. Quantos flops (*) são realizadas? Quantos flops (*) são realizadas? Quantos flops (*) são realizadas? SCILAB: sum(1:385) sum(1:381) sum(1:295) RESPOSTA: 74305 T6 QUESTÃO 1: A=[12 1 4; 8 -1 0; 12 6 13] ||A||1 e ||A||inf SCILAB: A=[12 1 4; 8 -1 0; 12 6 13] norm(A,1) norm(A,%inf) RESPOSTA: 32 e 31 QUESTÃO 2: Sejam x=[1321, 246544, 312134] y=[1320, 246545, 312100] Obtenha ||x-y||1 , ||x-y||2 e ||x-y||inf SCILAB: x=[1321 246544 312134] y=[1320, 246545, 312100] z=x-y norm(z,1) norm(z,2) norm(z,%inf) RESPOSTA: 36, 34.029399 e 34 QUESTÃO 3: 2x1-x2+1.1x3=1 2x1+2x2+2x3=4 -x1-1.1x2+2x3=5 Assinale a afirmação falsa a. O raio espectral da matriz de iteração do método de Jacobi aplicado a este sistema é maior que 1 e, portanto, o método é divergente para este sistema. b. O método de Gauss-Seidel é convergente para este sistema, independentemente da escolha da aproximação inicial. c. A matriz dos coeficientes do sistema dado é estritamente diagonal dominante e, portanto, tanto o método de Jacobi como o método de Gauss-Seidel são convergentes para este sistema. d. O raio espectral da matriz de iteração do método de Gauss-Seidel aplicado a este sistema é maior que 1, portanto este método é convergente para este sistema. RESPOSTA: C QUESTÃO 4: Seja A uma matriz real. A matriz A é estritamente diagonal dominante se, e somente se, RESPOSTA: E QUESTÃO 5: A=[4 4; 3 4] b=[1 1] x^(1)=[1 0] depois de realizar 5 iterações do método jacobi (x^(6)) qual o valor da segunda componente da aproximação de x? SCILAB: RODAR PRIMEIRO A FUNÇÃO JACOBI function [x, deltax]=jacobi(A, b, x, tol, N) n=size(A,1) xnew =x convergiu=%F //FALSE; k=1 while k<=N & ~convergiu xnew(1)= (b(1)-A(1,2:n)*x(2:n) )/A(1,1) for i=2:n-1 xnew(i)= (b(i)-A(i,1:i-1)*x(1:i-1) - A(i,i+1:n)*x(i+1:n))/A(i,i) end xnew(n)= (b(n)-A(n,1:n-1)*x(1:n-1) )/A(n,n) deltax=max(abs(x-xnew)) if deltax<tol then convergiu=%T //TRUE end k=k+1 x=xnew; //atualiza x disp([k,x',deltax]) //depuração end if ~convergiu then error ('Nao convergiu') end endfunction RODAR A QUESTÃO A=[4 4; 3 4] b=[1 1]' x1=[1 0]' [x,deltax]=jacobi(A,b,x1,10^(-5),5) 6. 0.140625 -0.171875 0.421875 RESPOSTA: -0,171875 QUESTÃO 6: A=[4 4; 3 4] b=[1 1] x^(1)=[1 0] depois de realizar 50 iterações do método jacobi (x^(51)) quantos dígitos significativos possui a aproximação de x2? SCILAB: RODAR PRIMEIRO A FUNÇÃO JACOBI function [x, deltax]=jacobi(A, b, x, tol, N) n=size(A,1) xnew =x convergiu=%F //FALSE; k=1 while k<=N & ~convergiu xnew(1)= (b(1)-A(1,2:n)*x(2:n) )/A(1,1) for i=2:n-1 xnew(i)= (b(i)-A(i,1:i-1)*x(1:i-1) - A(i,i+1:n)*x(i+1:n))/A(i,i) end xnew(n)= (b(n)-A(n,1:n-1)*x(1:n-1) )/A(n,n) deltax=max(abs(x-xnew)) if deltax<tol then convergiu=%T //TRUE end k=k+1 x=xnew; //atualiza x disp([k,x',deltax]) //depuração end if ~convergiu then error ('Nao convergiu') end endfunction RODAR A QUESTÃO A=[4 4; 3 4] b=[1 1]' x1=[1 0]' [x,deltax]=jacobi(A,b,x1,10^(-25),50) 51. 0.0007525434581650003452 0.2498118641354587499137 0.0005644075936237502589 RESPOSTA: 3 QUESTÃO 7: A=[4 4; 3 4] b=[1 1] x^(1)=[1 0] depois de realizar 50 iterações do método gauss-seidel (x^(51)) quantos dígitos significativos possui a aproximação de x2? SCILAB: RODAR PRIMEIRO A FUNÇÃO GAUSS-SEIDEL function [x, deltax]=gauss_seidel(A, b, x, tol, N) n=size(A,1) xnew =x convergiu=%F //FALSE; k=1 while k<=N & ~convergiu xnew(1)= (b(1)-A(1,2:n)*x(2:n) )/A(1,1) for i=2:n-1 xnew(i)= (b(i)-A(i,1:i-1)*xnew(1:i-1) - A(i,i+1:n)*x(i+1:n))/A(i,i) end xnew(n)= (b(n)-A(n,1:n-1)*xnew(1:n-1) )/A(n,n) deltax=max(abs(x-xnew)) if deltax<tol then convergiu=%T //TRUE end k=k+1 x=xnew; //atualiza x disp([k,x',deltax]) //depuração end if ~convergiu then error ('Nao convergiu') end endfunction RODAR A QUESTÃO A=[4 4; 3 4] b=[1 1]' x1=[1 0]' [x,deltax]=gauss_seidel(A,b,x1,10^(-25),50) 51. 0.0000001887738854677856 0.249999858419585885283 0.0000000629246285077656 RESPOSTA: 6 QUESTÃO 8: n=8, considere o sistema linear Ax=b Depois de realizar 25 iterações do método gauss-seidel, aproxime ||x||inf SCILAB: RODAR PRIMEIRO A FUNÇÃO GAUSS-SEIDEL function [x, deltax]=gauss_seidel(A, b, x, tol, N) n=size(A,1) xnew =x convergiu=%F //FALSE; k=1 while k<=N & ~convergiu xnew(1)= (b(1)-A(1,2:n)*x(2:n) )/A(1,1) for i=2:n-1 xnew(i)= (b(i)-A(i,1:i-1)*xnew(1:i-1) - A(i,i+1:n)*x(i+1:n))/A(i,i) end xnew(n)= (b(n)-A(n,1:n-1)*xnew(1:n-1) )/A(n,n) deltax=max(abs(x-xnew)) if deltax<tol then convergiu=%T //TRUE end k=k+1 x=xnew; //atualiza x disp([k,x',deltax]) //depuração end if ~convergiu then error ('Nao convergiu') end endfunction RODAR A QUESTÃO A=[2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2] b =[1 1 1 1 1 1 1 1]' x1=[0 0 0 0 0 0 0 0]' //chute inicial [x,dx]=gauss_seidel(A,b,x1,10^(-4),25) pega os valores do 26 e armazena em x e tira a norma infinito x=[0.446242963195357944528, 0.1079342986635989376509, 0.3373559627099069757605, 0.2179231641845955635972, 0.2262623930344390688063, 0.3299945419711563521226, 0.1134398597702339084314, 0.4432800701148830180287, 0.0005693882680084527692] norm(x,%inf) RESPOSTA: 0.4462429632 QUESTÃO 9: n=8, considere o sistema linear Ax=b Depois de realizar 100 iterações do método jacobi, aproxime a norma 2 do resíduo (||b-Ax||2) SCILAB: RODAR PRIMEIRO A FUNÇÃO JACOBI function [x, deltax]=jacobi(A, b, x, tol, N) n=size(A,1) xnew =x convergiu=%F //FALSE; k=1 while k<=N & ~convergiu xnew(1)= (b(1)-A(1,2:n)*x(2:n) )/A(1,1) for i=2:n-1 xnew(i)= (b(i)-A(i,1:i-1)*x(1:i-1) - A(i,i+1:n)*x(i+1:n))/A(i,i) end xnew(n)= (b(n)-A(n,1:n-1)*x(1:n-1) )/A(n,n) deltax=max(abs(x-xnew)) if deltax<tol then convergiu=%T //TRUE end k=k+1 x=xnew; //atualiza x disp([k,x',deltax]) //depuração end if ~convergiu then error ('Nao convergiu') end endfunction RODAR A QUESTÃO A=[2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2] b =[1 1 1 1 1 1 1 1]' x1=[0 0 0 0 0 0 0 0]' //chute inicial [x,dx]=jacobi(A,b,x1,10^(-4),100) //pega os valores da iteração 101 e armazena transposta no vetor x (TIRANDO O 9 ELEMENTO) x=[0.4442234714833204756168, 0.1106958177901977702362, 0.3327738101546628413097, 0.2215859559401849310234, 0.2215859559401849310234, 0.3327738101546628413097, 0.1106958177901977702362, 0.4442234714833204756168]' norm((b-A*x),2) RESPOSTA: 0.005316877 QUESTÃO 10: n=8, considere o sistema linear Ax=b Aproximadamente, quantas iterações do método gauss-seidel são necessárias para que ||x^k-x^k+1||inf < 10^-7? SCILAB: RODAR PRIMEIRO A FUNÇÃO GAUSS-SEIDEL function [x, deltax]=gauss_seidel(A, b, x, tol, N) n=size(A,1) xnew =x convergiu=%F //FALSE; k=1 while k<=N & ~convergiu xnew(1)= (b(1)-A(1,2:n)*x(2:n) )/A(1,1) for i=2:n-1 xnew(i)= (b(i)-A(i,1:i-1)*xnew(1:i-1) - A(i,i+1:n)*x(i+1:n))/A(i,i) end xnew(n)= (b(n)-A(n,1:n-1)*xnew(1:n-1) )/A(n,n) deltax=max(abs(x-xnew)) if deltax<tol then convergiu=%T //TRUE end k=k+1 x=xnew; //atualiza x disp([k,x',deltax]) //depuração end if ~convergiu then error ('Nao convergiu') end endfunction RODAR A QUESTÃO A=[2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 2] b =[1 1 1 1 1 1 1 1]' x1=[0 0 0 0 0 0 0 0]' //chute inicial [x,dx]=gauss_seidel(A,b,x1,10^(-7),95) //TESTA PARA QUANTAS ITERÇÕES A COLUNA 10 TERÁ 10^-7 DIGITOS SIG RESPOSTA: 95 M6 QUESTÃO 1: A=[1 2 3; 4 20 0; -1 -5 5] Considere a matriz A=[1 2 3; 4 10 0; -1 -5 5] ||A||1 Calcule ||A||1 SCILAB: A=[1 2 3; 4 20 0; -1 -5 5] A=[1 2 3; 4 10 0; -1 -5 5] norm(A,1) norm(A,1) RESPOSTA: 27 17 QUESTÃO 2: Gij=[1/2, i=j // 1/4, |i-j|=1 d = [1,0,0]T // 0, c.c] x^(0)=[1,0,0]T Quantas iterações são necessárias para que a iteração x^(k+1) = G*x^(k) +d possua ||x^(k)-x^(k+1)||1 < 10^-2 SCILAB: RESPOSTA: QUESTÃO 3: A=[6 1; -1 4] b=[1 2] x^(1)=[2 0] depois de realizar 4 iterações do método jacobi (x^(5)), qual o valor da primeira componente de x SCILAB: RODAR PRIMEIRO A FUNÇÃO JACOBI function [x, deltax]=jacobi(A, b, x, tol, N) n=size(A,1) xnew =x convergiu=%F //FALSE; k=1 while k<=N & ~convergiu xnew(1)= (b(1)-A(1,2:n)*x(2:n) )/A(1,1) for i=2:n-1 xnew(i)= (b(i)-A(i,1:i-1)*x(1:i-1) - A(i,i+1:n)*x(i+1:n))/A(i,i) end xnew(n)= (b(n)-A(n,1:n-1)*x(1:n-1) )/A(n,n) deltax=max(abs(x-xnew)) if deltax<tol then convergiu=%T //TRUE end k=k+1 x=xnew; //atualiza x disp([k,x',deltax]) //depuração end if ~convergiu then error ('Nao convergiu') end endfunction RODAR A QUESTÃO A=[6 1; -1 4] b=[1 2]' x1=[2 0]' [x,deltax]=jacobi(A,b,x1,10^(-5),4) 5. 0.083333333333333328707 0.5190972222222222098864 0.0190972222222222098864 RESPOSTA: 0.0833333333 QUESTÃO 4: x=[3141592,1414213] y=[pi, 2^(1/2)] * 10^6 Calcule ||x-y||2 SCILAB: x=[3141592,1414213] x=[3141592 1414213] y=[%pi,sqrt(2)]*10^6 y=[3.14159265359*10^6 sqrt(2)*10^6] z=x-y disp(norm((x-y),2),"norma2=") disp(norm(z,2)) RESPOSTA: 0,862231474564454036802 QUESTÃO 5: A=[6 1; -1 4] b=[1 2] x^(1)=[2 0] depois de realizar 10 iterações do método gauss-seidel (x^(11)) quantos dígitos significativos possui a aproximação de x2? SCILAB: RODAR PRIMEIRO A FUNÇÃO GAUSS-SEIDEL function [x, deltax]=gauss_seidel(A, b, x, tol, N) n=size(A,1) xnew =x convergiu=%F //FALSE; k=1 while k<=N & ~convergiu xnew(1)= (b(1)-A(1,2:n)*x(2:n) )/A(1,1) for i=2:n-1 xnew(i)= (b(i)-A(i,1:i-1)*xnew(1:i-1) - A(i,i+1:n)*x(i+1:n))/A(i,i) end xnew(n)= (b(n)-A(n,1:n-1)*xnew(1:n-1) )/A(n,n) deltax=max(abs(x-xnew)) if deltax<tol then convergiu=%T //TRUE end k=k+1 x=xnew; //atualiza x disp([k,x',deltax]) //depuração end if ~convergiu then error ('Nao convergiu') end endfunction RODAR A QUESTÃO A=[6 1; -1 4] b=[1 2]' x1=[2 0]' [x,deltax]=gauss_seidel(A,b,x1,10^(-25),10) 11. 0.079999999999967194575 0.5199999999999918021132 0.0000000000008201356261 RESPOSTA: 15 QUESTÃO 6: A=[6 1; -1 4] b=[1 2] x^(1)=[2 0] depois de realizar 10 iterações do método jacobi (x^(11)) quantos dígitos significativos possui a aproximação de x2? SCILAB: RODAR PRIMEIRO A FUNÇÃO GAUSS-SEIDEL function [x, deltax]=gauss_seidel(A, b, x, tol, N) n=size(A,1) xnew =x convergiu=%F //FALSE; k=1 while k<=N & ~convergiu xnew(1)= (b(1)-A(1,2:n)*x(2:n) )/A(1,1) for i=2:n-1 xnew(i)= (b(i)-A(i,1:i-1)*xnew(1:i-1) - A(i,i+1:n)*x(i+1:n))/A(i,i) end xnew(n)= (b(n)-A(n,1:n-1)*xnew(1:n-1) )/A(n,n) deltax=max(abs(x-xnew)) if deltax<tol then convergiu=%T //TRUE end k=k+1 x=xnew; //atualiza x disp([k,x',deltax]) //depuração end if ~convergiu then error ('Nao convergiu') end endfunction RODAR A QUESTÃO A=[6 1; -1 4] b=[1 2]' x1=[2 0]' [x,deltax]=jacobi(A,b,x1,10^(-25),10) 11. 0.0799997588734567832702 0.520000065305105452218 0.0000013814541538481606 RESPOSTA: 8 P1 2018-2 QUESTÃO 1: Seja uma máquina com base 10, |M|=29, E=10 e arredondamento por corte x=1*10^40, z=1*10^p. Achar p tal que x+z≠x SCILAB: RESPOSTA: QUESTÃO 10: Encontre a coordenada x da intersecção entre as curvas, com 6 dígitos significativos f(x)=ln(6x), g(x)=exp(-x) SCILAB: RESPOSTA: QUESTÃO 3: y=(9423)16 para base 2 SCILAB: hex2dec('9423') 37923 dec2base(37923, 2) 1001010000100011 RESPOSTA: 1001010000100011 QUESTÃO 4: base 2, |E|=8, |M|=8, BIAS=189 x=(0|11000000|01100000) para decimal SCILAB: 0 => (-1)^0 = 1 11000000 => EXPOENTE => 2^7+2^6 = 192 01100000 => NÚMERO => 1 + 2^-2 + 2^-3 = 1.375 1*1.375*2^(192-189) RESPOSTA: 11 QUESTÃO 5: T matriz tridiagonal 294x294 onde Tij ≠ 0 quando |i-j|≤1 Quantos elementos diferentes de zero possui T^2 SCILAB: 5*n-6 RESPOSTA: 1464 QUESTÃO 6: Encontre uma das raizes do polinomio x^7+12*x+12, com 7 dígitos significativos SCILAB: x=poly(0,"x") y=x^7 + 12*x + 12 roots(y) RESPOSTA: - 0.94423339 QUESTÃO 7: Encontre a intersecção entre a reta y=20-x e a curva y=x^3-9*x^2+9 Forneça a coordenada x da intersecção SCILAB: coloca algum intervalo, dá zoom no gráfico até achar o intervalo que pode estar a raiz x=-6:20 plot(x,x^3-9*x^2+x-11,'*r') xgrid abre o scinotes function y=f(x) y = (x^3-9*x^2+x-11)// coloca a função endfunction a=-3 // coloca o intervalo b=4 for i=1:20 //coloca de 1 até quantas vezes quer repetir m=(a+b)/2 if f(a)*f(m)<0 then b=m else a=m end disp([a b]) //aparecer os resultados de a e b lado a lado end RESPOSTA: 9.0242608671482678062148 QUESTÃO 8: A = [7 2 42 7 11 1 8], b=[1 2 3], x^(1)=[0,2,1]^T 5 iterações do método Jacobi em x^(6), valor da segunda componente da aproximação de x, com 6 dígitos SCILAB: function [x, deltax]=jacobi(A, b, x, tol, N) n=size(A,1) xnew =x convergiu=%F //FALSE; k=1 while k<=N & ~convergiu xnew(1)= (b(1)-A(1,2:n)*x(2:n) )/A(1,1) for i=2:n-1 xnew(i)= (b(i)-A(i,1:i-1)*x(1:i-1) - A(i,i+1:n)*x(i+1:n))/A(i,i) end xnew(n)= (b(n)-A(n,1:n-1)*x(1:n-1) )/A(n,n) deltax=max(abs(x-xnew)) if deltax<tol then convergiu=%T //TRUE end k=k+1 x=xnew; //atualiza x disp([k,x',deltax]) //depuração end if ~convergiu then error ('Nao convergiu') end endfunction A=[7 2 4; 2 7 1; 1 1 8] b=[1 2 3]' x1=[0 2 1]' [x,deltax]=jacobi(A,b,x1,10^(-4),5) RESPOSTA: 0.256138625275182996166 QUESTÃO 9: A matriz 10x27 e B matriz 27x30 quantos flops (+,-,*,/) são necessários para calcular A*B SCILAB: multiplicar o número de colunas e linhas da matriz resultante pelo número de elementos -1 n*m*(2nm-1) 30*10*(2*27-1) RESPOSTA: 15900 QUESTÃO 2: f função, valor de entrada b=167.34, erro_rel=0.01781 número de condicionamento em x = 1781, calcule a incerteza (erro_rel) para calcular f(b) SCILAB: RESPOSTA: 31.7196 P1 2018-1 QUESTÃO 1: Sabendo que x=11100 e y=01100 são dois números em complemento 2 (5 dig em base 2) Qual o valor de z=x+y? (em decimal) VIDA: a=bin2dec('1100') b= (-1)*2^(5-1) x=a+b c=bin2dec('1100') d= (0)*2^(5-1) y=c+d x+y RESPOSTA: 8 QUESTÃO 10: (ln(cos(x^2))/(x^3))+sin(x/2) apresente o cancelamento catastrófico para |x|<<1 quando calculada a via aritmética de ponto flutuante a partir das aproximações ln(cos(x)) ≈ x^2/2 - x^4/12 - x^6/45 e sin(x) ≈ x - x^3/6 + x^5/120 (para |x|<<1) determine o valor aproximado com 4 dígitos quando x = -4.46x10^-15 SCILAB: RESPOSTA: QUESTÃO 2: quantos pontos fixos possui a equação x=sin(8x) SCILAB: x=-1.5:0.1:1.5 plot(x,y=x,'b.-') xgrid plot(x,sin(8*x),'r.-') RESPOSTA: 7 QUESTÃO 3: o número em ponto flutuante em base binária com seis dígitos (|M|=5) mais próximo da fração 71/100 corresponde a qual numeral em base decimal? SCILAB: RESPOSTA: QUESTÃO 4: aproxime a coordenada x da intersecção entre as curvas f(x)=sin(x) e g(x)=exp(x)-4 no intervalo (-10,10) com 7 dígitos significativos SCILAB: bisseção function y=f(x) y = sin(x)-exp(x)+4// coloca a função endfunction a=1 // coloca o intervalo b=2 for i=1:50 //coloca de 1 até quantas vezes quer repetir m=(a+b)/2 if f(a)*f(m)<0 then b=m else a=m end disp([a b]) //aparecer os resultados de a e b lado a lado end RESPOSTA: 1.6092897 QUESTÃO 5: f(x) = x/x^2-15 numero de condicionamento de f em x=15? SCILAB: function y=f(x) y = x/(x^2-15) endfunction function y=fl(x) y=((x^2-15) - 2*x^2)/(x^2-15)^2 endfunction x = 15 k = x*fl(x)/f(x) disp (k) RESPOSTA: -1.1428571428571427937015 QUESTÃO 6: Converta o número inteiro x=(2234)10 da base 10 para a base 8 SCILAB: dec2base(2234,8) RESPOSTA: 4272 QUESTÃO 7: Calcule o DIGSE (número de dig sig) ao aproximarmos (12340)^1/2 por 111.0844444444444 SCILAB: y=sqrt(12340) x=111.0844444444444 erro_rel=abs((y-x)/y) RESPOSTA: 0.0000100 <5*10^-5 = 5 dígitos QUESTÃO 8: Encontre a intersecção entre a reta y=20-x e a curva y=x^3-7*x^2+7 forneça a coordenada x da intersecção SCILAB: x=-20:20 plot(x,x^3-7*x^2+x-13,'*r') xgrid function y=f(x) y=x^3-7*x^2+x-13 endfunction a=-10 b=10 for i=1:0.1:10 m=(a+b)/2 if (f(a)*f(m)<0) then b=m else a=m end disp([a,b]) end RESPOSTA: 7.1161886827006570754861 QUESTÃO 9: SCILAB: a = -3.12; b = 1.87; for i = 1:100 m = (a+b)/2 if (a)*(b)<0 then a = m else b = m end disp ([i a b]) end RESPOSTA: 38 iterações (a partir da 39, delta > 10^-11 P2 2018-2 QUESTÃO 1: SCILAB: RESPOSTA: QUESTÃO 10: g(x)=x*exp(x). Para calcular g(x) próximo de x=0.999 com 4 dígitos significativos quantos dígitos significativos deveriamos garantir em x? SCILAB: RESPOSTA: 5 QUESTÃO 2: A representação da fração 20075/32 como um ponto flutuante em base 2 com 12 dígitos utilizando arredondamento por proximidade corresponde a qual valo decimal? SCILAB: dec2base(627,2) 1001110011 d0=fix(2*x),x=2*x-d0 até zerar. Aí arredonda. RESPOSTA: 1001110011,01 QUESTÃO 3: Em uma placa de carro com prefixo de 3 letras entre A-Z (26 possib. o que equivale a base 26) quantos prefixos podem ser feitos? SCILAB: 26^3 RESPOSTA: 17576 QUESTÃO 4: Aproxime a raiz positiva da função f(x)=ln(14*x)+(x-14)^3 com no mínimo 6 dígitos significativos SCILAB: coloca algum intervalo, dá zoom no gráfico até achar o intervalo que pode estar a raiz x=-8:0.1:30 plot(x,log(14*x)+(x-14)^3,'*r') xgrid abre o scinotes function y=f(x) y = (log(14*x)+(x-14)^3)// coloca a função endfunction a=12 // coloca o intervalo b=13 for i=1:30 //coloca de 1 até quantas vezes quer repetir m=(a+b)/2 if f(a)*f(m)<0 then b=m else a=m end disp([a b]) //aparecer os resultados de a e b lado a lado end RESPOSTA: 12.273484 QUESTÃO 5: Encontre a intersecção mais a direita do eixo x entre as curvas f(x)=1/x^2 e g(x)=x/12+1 Forneça a coordenada x com 6 dígitos significativos SCILAB: RESPOSTA: 0.9624699 QUESTÃO 6: Seja dada f(x)=sin(exp(-x^2)-x^2)/(x-0.5) Considere que o método da bisseção seja usado para encontrar uma raiz positiva de f(x) Encontre um intervalo inicial de tamanho 0.25 adequadro para aplicar este método SCILAB: RESPOSTA: QUESTÃO 7: O registro hexadecimal 5C de 8bits (1 byte) guarda o valor de um inteiro sem sinal qual o valor em decimal desse inteiro? SCILAB: hex2dec('5C') RESPOSTA: 92 QUESTÃO 8: ponto flutuante base 2, |E|=8, |M|=12 e BIAS=120 (0|10001000|100100000000) para decimal SCILAB: 0*(-1) = 1 expoente = 2^3+2^7 = 136 1+2^-1+2^-4 = 1.5625 1*1.5625*2^(136-120) RESPOSTA: 102400 QUESTÃO 9: f possui um único zero (simples) x*> 0 no intervalo com extremidades x0=874 e x1=918 Quantas iterações são necessárias para que o método da bisseção obtenha no intervalo dado a aproximação da solução com comprimento menor ou igual a 10^-9? SCILAB: RESPOSTA: T7 QUESTÃO 1: Interpole x=[1,2,3,4] e y=[3,4,7,6] em x=2.5, utilizando 2 pontos SCILAB: xi = [2 3]'; yi = [4 7]'; A = [xi.^0 xi.^1]; a = A\yi; p = poly(a,'x','c') disp(p) -2 + 3x RESPOSTA: 5,5 QUESTÃO 2: Podemos obter a interpolação usando uma matriz de Vandermonde. Sendo x=[10001, 10002, 10003, 10004, 10005] os pontos utilizados na interpolação calcule o número de condicionamento da matriz obtida SCILAB: x=[10001 10002 10003 10004 10005]'; n=size(x,1); for i=1:n for j=1:n V(i,j)=x(i)^(j-1) end end nc=norm(V,1)*norm(inv(V),1) //numero de conficionamento disp(nc) 9.401D+31 RESPOSTA: 1E32 QUESTÃO 3: Fazendo uma translação dos pontos x=[10001, 10002, 10003, 10004, 10005] tal que z=x-10002, calcule o numero de condicionamento da matriz envolvendo z SCILAB: x=[-1 0 1 2 3]'; n = length(x) for i=1:n for j=1:n V(i,j)=x(i)^(j-1) end end kappa = norm(V,1)*norm(inv(V),1) disp (kappa) RESPOSTA: 363 QUESTÃO 4: Interpole x=[1,2,3,4] e y=[3,4,7,6] em x=1.5, utilizando 3 pontos SCILAB: xi = [1 2 3]'; yi = [3 4 7]'; A = [xi.^0 xi.^1 xi.^2]; a = A\yi; p = poly(a,'x','c') disp(p) 4 - 2x + x^2 RESPOSTA: 3,25 QUESTÃO 5: Interpole x=[1,2,3,4] e y=[3,4,7,6] em x=1.5, utilizando 4 pontos SCILAB: xi = [1 2 3 4]'; yi = [3 4 7 6]'; A = [xi.^0 xi.^1 xi.^2 xi.^3]; a = A\yi; p = poly(a,'x','c') disp(p) 10 - 13x +7x^2 - 1x^3 RESPOSTA: 2,875 QUESTÃO 6: Interpole x=[1,2,3,4] e y=[3,4,7,6] em x=4.1, utilizando todos os pontos SCILAB: xi = [1 2 3 4]'; yi = [3 4 7 6]'; A = [xi.^0 xi.^1 xi.^2 xi.^3]; a = A\yi; p = poly(a,'x','c') disp(p) 10 - 13x +7x^2 - 1x^3 RESPOSTA: 5.449 QUESTÃO 7: Interpole x=[-2,-1,0,1,2] e y=exp(x) em x=1, utilizando todos os pontos SCILAB: xi = [-2 -1 0 1 2]'; yi = exp(xi); A = [xi.^0 xi.^1 xi.^2 xi.^3 xi.^4 xi.^5]; a = A\yi; p = poly(a,'x','c') disp(p) 1 + 1.1326526x + 0.4939245x^2 + 0.0491561x^4 + 0.0425486x^5 RESPOSTA: 2.7182818 QUESTÃO 8: Interpole x=[-2,-1,0,1,2] e y=exp(x) em x=0,5, utilizando todos os pontos SCILAB: xi = [-2 -1 0 1 2]'; yi = exp(xi); A = [xi.^0 xi.^1 xi.^2 xi.^3 xi.^4 xi.^5]; a = A\yi; p = poly(a,'x','c') disp(p) 1 + 1.1326526x + 0.4939245x^2 + 0.0491561x^4 + 0.0425486x^5 RESPOSTA: 1.634375 QUESTÃO 9: x=[6,7,8,9] e y=[3,4,7,6] Sendo L4(x) o polinomio base de lagrange L4(x), assinale a altern. falsa SCILAB: function y=L(X, x, k) n=size(x,1); y=1; for j=1:n if(k <> j) y=y.*(X-x(j))./(x(k)-x(j)) end end endfunction x=[6 7 8 9]' y=[3 4 7 6]' n=length(x) plot(x,y,'ro-'),xgrid X=5:0.1:10 p=0 for k=1:n p=p+y(k)*L(X,x,k) end plot(X,p,'b.-') //conferir no scilab qual das alternativas é falsa: //L(7,x,4)=0 verdadeiro //L(9,x,4)=0 falsa //L(6,x,4)=0 verdadeiro //L(8,x,4)=0 verdadeiro RESPOSTA: L4(9)=0 QUESTÃO 10: p(x)=3L1(x)+4L2(x) interpola o vetor x=[5,6] Assinale a alternativa correta SCILAB: x=[5 6]' y=[1 ]' n=length(x) //ou n=size(x,1) function y=L(X, x, k) n=length(x); y=1; for j= 1:n if (k <> j) y=y.*(X-x(j))./(x(k)-x(j)) end end endfunction plot(x,y,'ro.-'),xgrid X=1:0.1:20 //menor que o menor x e maior que o maior x p=0 for k=1:n p=p+y(k)*L(X,x,k) // "." multiplicação elemento a elemento end plot(X,p,'g.-') //colocar no console: //L(5,x,1) = 1. //L(6,x,1) = 0. // L(5,x,2) = 0. //L(6,x,2) = 1. //L1=L(5,x,1); //L2=L(6,x,2); //t=3*L1+4*L2 = 7. //L5=3*L1 = 3. //L6=4*L2 = 4. RESPOSTA: p(6)=4 M7 QUESTÃO 1: Interpole x=[-1,0,1,2] e y=[1,2,3,2] em x=0.54 SCILAB: xi = [-1 0 1 2]'; yi = [1 2 3 2]'; A = [xi.^0 xi.^1 xi.^2 xi.^3]; a = A\yi; p = poly(a,'x','c') disp(p) 2 + 1.3333333x - 0.3333333x^3 RESPOSTA: 2,667512 QUESTÃO 2: Interpole x=[0,1,2,3] e y=[1,2,3,2] em x=0.86 utilizando somente 3 pontos SCILAB: xi = [0 1 2]'; yi = [1 2 3]'; A = [xi.^0 xi.^1 xi.^2]; a = A\yi; p = poly(a,'x','c') disp(p) 1 + x RESPOSTA: 1,86 QUESTÃO 3: Interpole x=[-2,0,1,2,4] e y=[3,1,3,3,2] em x=0.71 utilizando somente 2 pontos SCILAB: xi = [0 1]'; yi = [1 3]'; A = [xi.^0 xi.^1]; a = A\yi; p = poly(a,'x','c') disp(p) 1 + 2x RESPOSTA: 2.42 QUESTÃO 4: Interpole x=[1,2,3,4,5] e y=[0,2,3,2,1] em x=0,64, utilizando todos os pontos SCILAB: xi = [1 2 3 4 5]'; yi = [0 2 3 2 1]'; A = [xi.^0 xi.^1 xi.^2 xi.^3 xi.^4]; a = A\yi; p = poly(a,'x','c') disp(p) 1 - 4.5833333x + 4.875x^2 - 1.4166667x^3 + 0.125x^4 RESPOSTA: -0.2869325 QUESTÃO 5: Considere o vetor com coordenadas x dado por x=53:56 e o vetor de coordenadas y dados por y=cos(x) Interpole a função a=53+1,5 utilizando todos os pontos SCILAB: function y=L(X, x, k) n=size(x,1); y=1; for j=1:n if(k <> j) y=y.*(X-x(j))./(x(k)-x(j)) end end endfunction x=[53:56]' y=cos(x) n=length(x) plot(x,y,'ro-'),xgrid X=53+1.5 p=0 for k=1:n p=p+y(k)*L(X,x,k) end disp(p) RESPOSTA: -0,4499741 QUESTÃO 6: Considere o vetor com coordenadas x dado por x=1:100 e o vetor de coordenadas y dados por y=cos(x) Interpole a função b=63+1,6 utilizando somente 4 pontos SCILAB: function y=L(X, x, k) n=size(x,1); y=1; for j=1:n if(k <> j) y=y.*(X-x(j))./(x(k)-x(j)) end end endfunction x=[63 64 65 66]' y=cos(x) n=length(x) X=63+1.6 p=0 for k=1:n p=p+y(k)*L(X,x,k) end disp(p) RESPOSTA: -0.1936497 QUESTÃO 7: Considere o vetor com coordenadas x dado por x=[1,2,3,4] e o vetor de coordenadas y dados por y=3/x Interpole a função a=2+62/100 utilizando todos os pontos SCILAB: function y=L(X, x, k) n=size(x,1); y=1; for j=1:n if(k <> j) y=y.*(X-x(j))./(x(k)-x(j)) end end endfunction x=[1 2 3 4]' y=3./x n=length(x) X=2+62/100 p=0 for k=1:n p=p+y(k)*L(X,x,k) end disp(p) RESPOSTA: 1,119909. QUESTÃO 8: Considere o vetor com coordenadas x dado por x=[1,2,3,4] e o vetor de coordenadas y dados por y=3/x Interpole
Compartilhar