0% acharam este documento útil (0 voto)
336 visualizações197 páginas

Questionários Calculo Numerco

1. A raiz quadrada de 2 (x) e a raiz quadrada de 18 (y) são calculadas. 2. x ao quadrado (u) é igual a 2. 3. y dividido por x (v) é igual à raiz quadrada de 18/2.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato XLSX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
336 visualizações197 páginas

Questionários Calculo Numerco

1. A raiz quadrada de 2 (x) e a raiz quadrada de 18 (y) são calculadas. 2. x ao quadrado (u) é igual a 2. 3. y dividido por x (v) é igual à raiz quadrada de 18/2.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato XLSX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 197

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
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

SCILAB: hex2dec('FADA')
y=8*16^-1
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 hexadecim

SCILAB: dec2base(703168,16) dec2base(61888,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: -
3854.5
RESPOSTA: ABACO.8 F1C0.6

QUESTÃO 6: A sequência de bits (0|1100|0010) representa qual número decimal


BIAS = 8

SCILAB: (-1)^0 *(1+2^-3)*2^(12-8)

VIDA: 0 = (-1)^0
1100 = EXPOENTE = 1*2^3 + 1*2^2 + 0*2^1 + 0*2^0 = 12
0010 = 1+ NÚMERO = 1 + 0*2^-1 + 0*2^-2 + 1*2^-3 + 0*2^-4
(-1)^0 *(1+2^-3)*2^(12-8)

RESPOSTA: 18

QUESTÃO 7: Represente 26.5 em uma máquina com ponto flutuante F(2, 5, 5) e BIAS = 15

SCILAB: dec2base(26,2)
11010
x=0.5
d=fix(2*x),x=2*x-d
d=1
x=0
(11010,1)
1.10101 * 10^4
BIAS + 4 = 19
dec2base(19,2)
10011

RESPOSTA: 1.10101*2^10011

QUESTÃO 8: ponto flutuante F(10, 4, -9998, 9998) = F(β,|M|,EMIN,EMAX)


Considere v= 200000+34
Qual o valor v nesta máquina?

VIDA: 200000+34 = 2,00034*10^5


BASE 10 = PRECISO MOSTRAR PRIMEIRO DÍGITO
4 DÍGITOS DISPONÍVEIS
CORTA
2.000*10^5 203456 10^5
RESPOSTA: 200000 2E+08 203400000

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
Converta x = (01D0.C)16 para decimal

hex2dec('01D0')
y=C*16^-1
x+y

61888.375 para hexadecimal


*nesse caso, não utilizar o numero após a virgula (ignora ele) e só usa o numero antes da vir
feito isso, é só colocar virgula 16 do lado do numero (virgula mesmo, não o ponto " . ") --> ,
A sequência de bits (0|1000|1100) representa qual número decimal sabendo que
BIAS = 7

(-1)^0 * (1+ 2^-1 + 2^-2)*2^(8-7)

0 = (-1)^0
1000 = EXPOENTE = 1*2^3 + 0*2^2 +0*2^1 + 0*2^0 = 8
1100 = 1 + NUMERO = 1 + 1*2^-1 + 1*2^-2 + 0*2^-3 + 0*2^-4
(-1)^0 * (1+ 2^-1 + 2^-2)*2^(8-7)

3.5

Represente 6528 em uma máquina com ponto flutuante F(2, 5, 5) e BIAS = 15

dec2base(6528,2)
1100110000000 
x=0.5
d=fix(2*x),x=2*x-d
d=1
x=0
(1100110000000,1)
1.100110000000 * 10^12
BIAS + 12 = 27
dec2base(27,2)
11011

1.10011*2^11011

Considere a máquina em ponto flutuante F(10, 5, -9998, 9998) = F(β,|M|,EMIN,EMAX)


Considere a operação v= 200000+3456
utilizando arredondamento por corte. Qual o valor de v nesta máquina?

200000+3456 = 2,03456 *10^5


BASE 10 = PRECISO MOSTRAR PRIMEIRO DÍGITO
4 DÍGITOS DISPONÍVEIS
CORTA
2.0345*10^5
203450 203400
sa o numero antes da virgula (nesse caso, 61888)
o, não o ponto " . ") --> ,16
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:
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 digito
Arredondar por proximidade qual é a representação de x = 12345, 678

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^


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

SCILAB: y=987654.321123
x=987650
log10(abs((y-x)/y))
5.3590083

RESPOSTA: 5
QUESTÃO 6: Quantos dígitos significativos possui x=798768.7898 ao aproximar y=798768.789789789

SCILAB: y=798768.789789789
x=798768.7898
erro_rel=abs((y-x)/y)
erro_rel = 1.27834D-11
0.0000000000127834 < 5 * 10^-11

RESPOSTA: 11

QUESTÃO 7: Quantos dígitos significativos possui x=0.000333 ao aproximar y=1/3000

SCILAB: y=1/3000
x=0.000333
erro_rel=abs((y-x)/y)
erro_rel = 0.001
0.001 < 5 * 10^-3

RESPOSTA: 3

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
o cálculo de 'm' possui cancelamento catastrófico quando x for aproximado de a
qual valor de a?

VIDA: m=0 quando x=12


a é próximo de x

RESPOSTA: 12
QUESTÃO 10: x=1234560/7 e y=176365.71428
ao calcular M = x-y, teremos cancelamento catastrófico
quantos dígitos de precisão serão perdidos?

SCILAB: x=1234560/7
x=176365.7143
y=176365.71428
M=x-y
M=0.000005714
0.000005714<5*10^-5
16-5

RESPOSTA: 11
β=10, e três digitos no significando (mantissa;|M| = 3) utilizando o arredondamento por proximidade
de x = 12345, 678901234

ho que aqui é 10^4 em vez de 2^4

Quantos dígitos significativos possui x=987700 ao aproximar y=987654.321123

y=987654.321123
x=987700
log10(abs((y-x)/y)) * o resultado vai dar negativo, mas desconsiderar o sinal
-4.3348895

4
Quantos dígitos significativos possui x=799000 ao aproximar y=798768.789789789

y=798768.789789789
x=799000
erro_rel=abs((y-x)/y)
0.0002895
2,895 x 10^-4
/NUMERO DE DIGITOS SIGNIFICATIVOS = NUMERO CORRETO = QUAN
4

Quantos dígitos significativos possui x=0.0003333 ao aproximar y=1/3000

y=1/3000
x=0.0003333
erro_rel=abs((y-x)/y)
0.0001
0.0001 < 5*10^-4

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
qual valor de a?

m=0 quando x=15


a é proximo de x

15
Considere a fração x=1234560/7 e y=176365
ao calcular M = x-y, teremos cancelamento catastrófico
quantos dígitos de precisão serão perdidos?

x=1234560/7
176365.71
y=176365
M=x-y
M = 0.7142857
0.0000057 <5*10^-5

o número de digitos de x (após a divisão por 7) que forem iguais ao y, é a resposta final
UMERO CORRETO = QUANTOS ZEROS EU TENHO
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)
-1.10832888870304E+021
-9.90760437815362E+022
-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
mo no máximo 0.001
QUESTÃO 1: Qual o número condicionante da função f(x)=e^x em x=16

VIDA: condicionante = x*f'(x) / f(x)


f'(x) = e^x
x*e^x/e^x

RESPOSTA: 16

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)


f'(x) = 2*-sen(2*x+1) f'(x) = 2*-sen(2*x+1)
x*(-2)*sin(2*x+1)/cos(2*x+1) x*(-2)*sin(2*x+1)/cos(2*x+1)

RESPOSTA: 2259,508464 3.6185253

QUESTÃO 3: f(x) = sin (x) e a=3.144444444444444... Com erro relativo ±10^-11


estime o erro relativo f(a)

SCILAB: x=3.1444444444444444444444444
y=(x*cos(x))/(sin(x))
y=1102.6179970474829588056
z=10^-11/y
z=0.0000000000000090693241

RESPOSTA: 0.0000000000000090693241

QUESTÃO 4: Qual número de condicionamento da função Qual número de condicionament


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)


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


f(x) = exp(x) - (x^2/4) com 5 dígitos significativos

SCILAB: coloca algum intervalo, dá zoom no gráfico até achar o intervalo que pode estar a raiz
x=-4:1
plot(x,exp(x)-(x^2/4),'*r')
xgrid

abre o scinotes
function y=f(x)
y = (exp(x) - (x^2/4))// coloca a função
endfunction

a=-4 // coloca o intervalo


b=1

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: -1.1342865808195676802228

QUESTÃO 6: Método da bissecção, com 5 dígitos significativos


estimar a intersecção entre as curvas
f(x) = sin(x) e g(x)=8-x

SCILAB: coloca algum intervalo, dá zoom no gráfico até achar o intervalo que pode estar a raiz
x=-10:10
plot(x,sin(x)-8+x,'*r')
xgrid

abre o scinotes
function y=f(x)
y = (sin(x)-8+x)// coloca a função
endfunction

a=7 // coloca o intervalo


b=8

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: 7.203941345

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

QUESTÃO 9: Encontre a coordenada x da intersecção entre as curvas


-ln(y) = x^2 e 10*x = y^2

SCILAB: coloca algum intervalo, dá zoom no gráfico até achar o intervalo que pode estar a raiz
x=-10:10
plot(x,(exp(-x^2)-sqrt(10*x)),'*r')
xgrid

abre o scinotes
function y=f(x)
y = (sqrt(10*x)-exp(-x^2))// coloca a função
endfunction

a=0 // 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

RESPOSTA: 0.09809391666

QUESTÃO 10: Sabendo que uma raiz de f(x) = 0 está entre (a,b)=(24.4,27,8)
quantas iterações são necessárias para que o erro absoluto
seja estimado como no máximo 0.001

SCILAB: x=(b-a)/2
x=x/2
fazer até x chegar em 0.0001 e contar quantas vezes foi necessário fazer divisão pra isso

RESPOSTA: 15
Qual o número condicionante da função f(x)=e^x em x=15

15

ento da função

antes de escrever o código no scilab, colocar o valor de x


x=4
código

f(x) = sin (x) e a=3.144444444444444... Com erro relativo ±10^-7


estime o erro relativo f(a)

erro_relativo_inicial = 10^(-11)
x= 3.144444444444444
k(x)=(x*(cos(x)))/sin(x) //(derivada da funçao inicial vezes x, tudo dividido pela função inicial
disp(k(x))
erro_rel = k(x)*erro_relativo_inicial
disp (erro_rel)
0.0001102617997

de condicionamento da função
em x=10

e = x*f'(x) / f(x) antes de escrever o código no scilab, colocar o valor de x

/sin(5*x)

Estime a maior raiz de, com o método da bissecção


f(x) = exp(x) - (x^2/12) com 5 dígitos significativos

coloca algum intervalo, dá zoom no gráfico até achar o intervalo que pode estar a raiz
x=-4:1
plot(x,exp(x)-(x^2/12),'*r')
xgrid

abre o scinotes
function y=f(x)
y = (exp(x) - (x^2/12))// coloca a função
endfunction

a=-4 // coloca o intervalo


b=1

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

-1.57561

Método da bissecção, com 5 dígitos significativos


estimar a intersecção entre as curvas
f(x) = sin(x) e g(x)=11-x

x=-20:20 x=-20:20
plot(x,sin(x)+x-11,'*r') plot(x,sin(x)-11+x,'*r')
xgrid xgrid

function y=f(x) abre o scinotes


y=sin(x)+x-11 function y=f(x)
endfunction y = (sin(x)-11+x)// coloc
endfunction
a=11
b=12 LEMBRAR DE TROCAR a=11 // coloca o intervalo
O INTERVALO!!!! b=12
for i=1:80
m=(a+b)/2 for i=1:20 //coloca de 1 at
if (f(a)*f(m)<0) then m=(a+b)/2
b=m if f(a)*f(m)<0 then
else b=m
a=m else
end a=m
disp([a,b]) end
end disp([a b]) //aparecer o
end
11.737301 11.737301

É 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


-ln(y) = x^2 e 6*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')
xgrid xgrid

function y=f(x) function y=f(x)


y=(exp(-x^2)-sqrt(6*x)) y=(exp(-x^2)-sqrt(10*x))
endfunction endfunction

a=0 a=0
b=1 b=1

for i=1:100 for i=1:100


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]) disp([a,b])
end end
0.1584995 0.098093916659

FAZER
PRIEMEIRA: 27-8-23,4=4,4
SEGUNDA: 4,4/0,0001 = 4400
ir dividindo 4400 por 2 até dar um número menor que 1
1)4400/2=2200
2)2200/2=1100
3)1100/2=550
4)ANS/2=275
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
valor de x
n(x)-11+x,'*r')

n(x)-11+x)// coloca a função

coloca o intervalo

0 //coloca de 1 até quantas vezes quer repetir

*f(m)<0 then

a b]) //aparecer os resultados de a e b lado a lado


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
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


(não deu certo pelo método)
ara a raiz com
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.-')
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 grafico
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


g(x) = e^(8*x) + e^(-x) + 8*x g(x) = e^(3*x) + e^(-x) + 3*x

SCILAB: function y=f(x)


y=(exp(3*x))+(exp(-x))+(3*x)
endfunction

function y=fl(x)
y=3*(exp(3*x))-(exp(-x))+(3)
endfunction

function y=fll(x)
y=9*(exp(3*x))+(exp(-x))
endfunction

x=-10:0.1:10
plot(x, fll(x), 'r.-'); xgrid

x=1
for n=1:20
x=x -fl(x)/fll(x)
disp ( x )
end

-1.1316083
RESPOSTA:

QUESTÃO 4: Aproxime a menor raiz positiva de


sin(x) = 1 / x

SCILAB: x=1
for i=1:100 //coloca de 1 até quantas vezes quer repetir
x=1/sin(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.4653513872647

QUESTÃO 7: a função em [0,infinito)


f(x) = exp(5*x) - 26*(sqrt(x))
possui dois zeros
obtenha a terceira iterada do método newton-raphoson para um dos zeros
x0=0.5

SCILAB: function y=f(x)


y=exp(5*x)-26*sqrt(x)
endfunction

function y=fl(x)
y=5*exp(5*x)-13*x^(-1/2)
endfunction

x=0.5
for n=1:3
x = x - f(x)/fl(x)
disp(x)
end
RESPOSTA: 0.600737777331851

QUESTÃO 8: Encontre uma aproximação para a maior raiz do polinomio Encontre uma aproximaç
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.6608127
1.6236859 1.8578355
1.0736965 10455791
0.0456374 + 0.9881294i 0.0339844 + 0.9935236
0.0456374 - 0.9881294i 0.0339844 - 0.9935236i
-0.9600785 -0.9698396

RESPOSTA: 1.6236859 1.8578355


A resposta é o numero de pontos em que os graficos se interceptam

os em que os graficos se interceptam

o da função Aproxime um mínimo da função


g(x) = e^(7*x) + e^(-x) + 7*x

function y=f(x)
x))+(3*x) y=(exp(7*x))+(exp(-x))+(7*x)
endfunction

function y=fl(x)
y=7*(exp(7*x))-(exp(-x))+(7)
endfunction

function y=fll(x)
y=49*(exp(7*x))+(exp(-x))
endfunction

x=-10:0.1:10
plot(x, fll(x), 'r.-'); xgrid

x=1
for n=1:20
x=x -fl(x)/fll(x)
disp ( x )
end

-1.9459114
function y=f(x)
y=sin(x)-(1/x)
endfunction

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
a função em [0,infinito)
f(x) = exp(2*x) - 11*(sqrt(x))
possui dois zeros
obtenha a terceira iterada do método newton-raphoson para um dos zeros
x0=0.8

function y=f(x)
y=exp(2*x)-11*sqrt(x)
endfunction

function y=fl(x)
y=2*exp(2*x)-5.5*x^(-1/2)
endfunction

x=0.8
for n=1:3
x = x - f(x)/fl(x)
disp(x)
end
1.424944

ntre uma aproximação para a maior raiz do polinomio


7*x^4 + 7

-7*x^4+7

07719 + 1.6608127i
007719 - 1.6608127i

339844 + 0.9935236i
339844 - 0.9935236i
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
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
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
b. O método de Gauss-Seidel é convergente para este sistema, independentemente da escolha da apr
c. A matriz dos coeficientes do sistema dado é estritamente diagonal dominante e, portanto, tanto o
d. O raio espectral da matriz de iteração do método de Gauss-Seidel aplicado a este sistema é maior q

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
12100000
01210000
00121000
00012100
00001210
00000121
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.217923
norm(x,%inf)

RESPOSTA: 0.446242963195357

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
12100000
01210000
00121000
00012100
00001210
00000121
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.22158
norm((b-A*x),2)

RESPOSTA: 0.00531687703490136

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
12100000
01210000
00121000
00012100
00001210
00000121
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
sistema é maior que 1 e, portanto, o método é divergente para este sistema.
mente da escolha da aproximação inicial.
nte e, portanto, tanto o método de Jacobi como o método de Gauss-Seidel são convergentes para este sistema.
a este sistema é maior que 1, portanto este método é convergente para este sistema.

omente se,
099069757605, 0.2179231641845955635972, 0.2262623930344390688063, 0.3299945419711563521226, 0.11343985977023390843
O 9 ELEMENTO)
546628413097, 0.2215859559401849310234, 0.2215859559401849310234, 0.3327738101546628413097, 0.11069581779019777023
.1134398597702339084314, 0.4432800701148830180287, 0.0005693882680084527692]
0.1106958177901977702362, 0.4442234714833204756168]'
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.0833333333333333
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
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ígito

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
oximação de x, com 6 dígitos
elementos -1

calcular f(b)
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 flutuant
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


em base 2)

itmética de ponto flutuante a partir das aproximações

próximo da fração
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:
m 12 dígitos

uivale a base 26)


x)=x/12+1

tiva de f(x)
o intervalo dado
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
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 a função a=3+36/100 utilizando uma reta

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=[3 4]'
y=3./x

n=length(x)

X=3+36/100
p=0
for k=1:n
p=p+y(k)*L(X,x,k)
end
disp(p)

RESPOSTA: 0.91
QUESTÃO 1: Qual reta melhor se ajusta aos pontos com coordenadas 
x=0:0,1:1 e y=sin(x)

SCILAB: x=0:0.1:1;
function y=f(x)
y=sin(x)
endfunction

n=size(x,1);

p=1;
for i=1:p+1
for j=1:p+1
M(i,j)=sum(x.^(i+j-2))
end
end
for i=1:p+1
b(i)=sum(f(x).*x.^(i-1))
end

a=inv(M)*b;
disp(a)

RESPOSTA: p(x) = 0.0298+0.851x.

QUESTÃO 2: Qual parabola melhor se ajusta aos pontos com coordenadas 


x=0:0,1:1 e y=sin(x)

SCILAB: x=0:0.1:1;
function y=f(x)
y=sin(x)
endfunction

n=size(x,1);

p=2;
for i=1:p+1
for j=1:p+1
M(i,j)=sum(x.^(i+j-2))
end
end
for i=1:p+1
b(i)=sum(f(x).*x.^(i-1))
end

a=inv(M)*b;
disp(a)

RESPOSTA: p(x)= -0.00531+1.0865x-0.2347x^2


QUESTÃO 3: Qual reta no formato y=kx melhor se ajusta aos pontos
com coordenadas x=0:0.1:1 e y=sin(x).

SCILAB: x=[0:0.1:1]'
b=sin(x)
A=[x^1]
c=(A'*A)\(A'*b)
disp(c)

RESPOSTA: y = 0.8945302x.

QUESTÃO 4: Qual parábola melhor se ajusta aos pontos com coordenadas


 x=0:0.1:1 e y=cos(x).

SCILAB: clear
x=0:0.1:1;
function y=f(x)
y=cos(x)
endfunction

n=size(x,1);

p=2;
for i=1:p+1
for j=1:p+1
M(i,j)=sum(x.^(i+j-2))
end
end
for i=1:p+1
b(i)=sum(f(x).*x.^(i-1))
end

a=inv(M)*b;
p = poly(a,'x','c')
disp(p)

RESPOSTA: p(x)= 1.0025668 -0.0356281x -0.4297227 x^2

QUESTÃO 5: Qual parábola do tipo y=a+bx^2 melhor se ajusta aos pontos


com coordenadas x=0:0.1:1 e y=cos(x).

SCILAB: clear
x=0:0.1:1
y=cos(x);
n=size(x,1);

p=2;
M=[sum(x.^0) sum(x.^2)
sum(x.^2) sum(x.^4)]

b=[sum(y)
sum(y.*x.^2)]

a=inv(M)*b;
p = poly(a,'x','c')
disp(p)

RESPOSTA: p(x)= 0.9963203 -0.4627729x^2

QUESTÃO 6: Qual curva no formato y=C*exp(a*x) melhor se ajusta aos pontos


com coordenadas x=0:0.1:1 e y=sin(x)+1.

SCILAB: x=[0:0.1:1];
y=sin(x)+1;
yi=log(y);
A=[ones(11,1) x'];
v=inv(A'*A)*A'*yi'
a=exp(v(1))
b=v(2)
disp(a,b)

RESPOSTA: p(x)= 1.0561 * exp(0.60548x)

QUESTÃO 7: Qual hipérbole no formato y=1 ./ (a+bx) melhor se ajusta


aos pontos com coordenadas x=0:0.1:1 e y=sin(x)+1.

SCILAB: x=[0:0.1:1];
y=sin(x)+1;
yi=1./y;
A=[ones(11,1) x'];
v=inv(A'*A)*A'*yi';
a=v(1)
b=v(2)
disp(a,b)

RESPOSTA: p(x)= 1 ./ (0.9332-0.4402x)


QUESTÃO 8: Qual o polinômio de grau 2 que melhor aproxima os pontos 
x=[0, 1, 2, 3, 5, 7, 8, 10] e y=[8, 5, 4, 2, 1, 2, 4,7]?

SCILAB: clear
x=[0 1 2 3 5 7 8 10]';
y=[8 5 4 2 1 2 4 7]';
n=size(x,1);

p=2;
for i=1:p+1
for j=1:p+1
M(i,j)=sum(x.^(i+j-2))
end
end
for i=1:p+1
b(i)=sum(y.*x.^(i-1))
end

a=inv(M)*b;
p = poly(a, 'x','c')
disp(p)

RESPOSTA: p(x)= 7.7434211 -2.5782164x +0.2534461 x^2

QUESTÃO 9: Dados os pontos x=[0, 1, 2, 3, 5, 7, 8, 10] e y=[8, 5, 4, 2, 1, 2, 4,7],


encontre o polinômio de grau 3 que melhor se ajusta a esses pontos.

SCILAB: clear
x=[0 1 2 3 5 7 8 10]';
y=[8 5 4 2 1 2 4 7]';
n=size(x,1);

p=3;
for i=1:p+1
for j=1:p+1
M(i,j)=sum(x.^(i+j-2))
end
end
for i=1:p+1
b(i)=sum(y.*x.^(i-1))
end

a=inv(M)*b;
p = poly(a, 'x','c')
disp(p)

RESPOSTA: p(x)= 7.96-2.94x+0.34x^2-.00063x^3


QUESTÃO 10: Dados os pontos x=[0, 1, 2, 3, 5, 7, 8, 10] e y=[8, 5, 4, 2, 1, 2, 4,7],
encontre o polinômio de grau 3 que melhor se ajusta a esses pontos.
Qual o resíduo em x=5?

SCILAB: clear
x=[0 1 2 3 5 7 8 10]';
y=[8 5 4 2 1 2 4 7]';
n=size(x,1);

p=3;
for i=1:p+1
for j=1:p+1
M(i,j)=sum(x.^(i+j-2))
end
end
for i=1:p+1
b(i)=sum(y.*x.^(i-1))
end

a=inv(M)*b;

XX =0:0.1:10;
YY =0
residuo =0
for i=1:p+1
YY=YY+a(i)*XX.^(i-1);
residuo=residuo+a(i)*x.^(i-1);
end
residuo=residuo-y;
disp(residuo)
//ver qual o número na quinta posição

RESPOSTA: 0.1913712

QUESTÃO 11: Dados os pontos x=[0, 1, 2, 3, 5, 7, 8, 10] e y=[8, 5, 4, 2, 1, 2, 4,7],


encontre o polinômio de grau 3 que melhor se ajusta a esses pontos.
Calcule a norma 2 do resíduo, ||y-p(x)||2?

SCILAB: clear
x=[0 1 2 3 5 7 8 10]';
y=[8 5 4 2 1 2 4 7]';
n=size(x,1);

p=3;
for i=1:p+1
for j=1:p+1
M(i,j)=sum(x.^(i+j-2))
end
end
for i=1:p+1
b(i)=sum(y.*x.^(i-1))
end

a=inv(M)*b;

XX =0:0.1:10;
YY =0
residuo =0
for i=1:p+1
YY=YY+a(i)*XX.^(i-1);
residuo=residuo+a(i)*x.^(i-1);
end
residuo=residuo-y;

//os coeficientes da função que melhor se ajusta aos pontos é dado pelo vetor "a"
//a ordem da função é definida em "p"
disp (norm(residuo,2))

RESPOSTA: 0.9174627
QUESTÃO 1: Encontre a reta y=a1+a2*x que melhor se ajusta aos pontos com coordenadas 
x=[0, 0.2, 0.4, 0.6, 0.8, 1] e y=sin(x+32). Forneça como respostas o coeficente a1.

SCILAB: clear
x=[0:0.2:1]';
y=sin(x+32);
n=size(x,1);

M=[n sum(x)
sum(x) sum(x.^2)]

b=[sum(y)
sum(x.*y)]

a=inv(M)*b
p = poly(a,'x','c')
disp(p)

RESPOSTA: 0,6070896

QUESTÃO 2: Dados os pontos x=0:0.2:1 e y=cos(x+34), encontre a reta y=ax+b


 que melhor se ajusta a esses pontos. Forneça como resposta o coeficiente a?

SCILAB: clear
x=[0:0.2:1]';
y=cos(x+34);
n=size(x,1);

M=[n sum(x)
sum(x) sum(x.^2)]

b=[sum(y)
sum(x.*y)]

a=inv(M)*b
p = poly(a,'x','c')
disp(p)

RESPOSTA:  -0,0555743232431

QUESTÃO 3: Dados os pontos x=1:0.5:12 e y=3sin(x+10)+x^2,


encontre o polinômio de grau 2 que melhor se ajusta a esses pontos.
Forneça como resposta o coeficiente de x^2.

SCILAB: clear
x=[1:0.5:12]';
y=3*sin(x+10)+x^2;
n=size(x,1);

p=2;
for i=1:p+1
for j=1:p+1
M(i,j)=sum(x.^(i+j-2))
end
end
for i=1:p+1
b(i)=sum(y.*x.^(i-1))
end

a=inv(M)*b;
disp (a)
p = poly(a,'x','c')
disp(p)

RESPOSTA: 1.00199289114

QUESTÃO 4: Dados os pontos x=1:0.5:12 e y=20*sin(x)+x^2,


encontre a parábola p(x) que que melhor se ajusta a esses pontos.
Forneça como resposta p(3.14).

SCILAB: a esses pontos. Forneça como resposta p(3.14).


clear
x=[1:0.5:12]';
y=20*sin(x)+x^2;
n=size(x,1);

p=2; //ordem do polinomio


for i=1:p+1
for j=1:p+1
M(i,j)=sum(x.^(i+j-2) )
end
end
for i=1:p+1
b(i)=sum(y.*x.^(i-1) )
end

a=inv(M)*b;
p = poly(a,'x','c')
disp(p)
10.543316 -1.6482777*3.14 +0.9959846*3.14^2

RESPOSTA: 15,1877339392
QUESTÃO 5: Dados os pontos x=1:0.1:4 e y=sin(10+1/x),
encontre o polinômio p(x) de grau 3 que melhor se ajusta a esses pontos.
Calcule p(2.1).

SCILAB: x=[1:0.1:4]';
y=sin(10+1./x);
n=size(x,1);

p=3; //ordem do polinomio


for i=1:p+1
for j=1:p+1
M(i,j)=sum(x.^(i+j-2) )
end
end
for i=1:p+1
b(i)=sum(y.*x.^(i-1) )
end

a=inv(M)*b;
p = poly(a, 'x','c')
disp(p)
-1.164832 +0.1635418*2.1 -0.007845*2.1^2-0.0015874*2.1^3

RESPOSTA:  -0,870692172858

QUESTÃO 6: Qual reta no formato y=kx melhor se ajusta aos pontos


com coordenadas x=-2:0.1:2 e y=exp(x/3)-1?
Forneça como resposta k.

SCILAB: x=[-2:0.1:2]'
b=exp(x/3)-1
A=[x^1]
c=(A'*A)\(A'*b)
disp(c)

RESPOSTA: 0.349137427371

QUESTÃO 7: Qual parábola do tipo y=a+bx^2 melhor se ajusta aos pontos


com coordenadas x=0:0.1:2.5 e y=\cos(x)+12.
Forneça o coeficiente b.

SCILAB: clear
x=[0:0.1:2.5]'
y=cos(x)+12;
n=size(x,1);
p=2;
M=[sum(x.^0) sum(x.^2)
sum(x.^2) sum(x.^4)]

b=[sum(y)
sum(y.*x.^2)]

a=inv(M)*b;

XX=0:0.1:2.5; // aqui coloca o valor do ponto que ele pede


YY=a(1)+a(2)*XX^2;
p = poly(a,'x','c')
disp(p)

RESPOSTA: -0.307360278706

QUESTÃO 8: Qual parábola do tipo y(x)=a+bx^2 melhor se ajusta aos pontos


com coordenadas x=0:0.1:2.5 e y=\cos(x)+22.
Forneça y(1).

SCILAB: clear
x=[0:0.1:2.5]'
y=cos(x)+22;
n=size(x,1);

p=2;
M=[sum(x.^0) sum(x.^2)
sum(x.^2) sum(x.^4)]

b=[sum(y)
sum(y.*x.^2)]

a=inv(M)*b;

XX=0:0.1:2.5; // aqui coloca o valor do ponto que ele pede


YY=a(1)+a(2)*XX^2;

//plot(XX,YY,'b')
//plot(x,y,'r*');xgrid

disp(a)
p = poly(a,'x','c')
disp(p)
22.886954 -0.3073603*1

RESPOSTA: 22.5795942187
QUESTÃO 9: Qual a curva no formato y=a+bx+c/x que melhor se ajusta aos pontos
com coordenadas x=1:0.1:2.5 e y=cos(x/2+3). F
orneça o coeficiente c.

SCILAB:

RESPOSTA: 0.38798802788

QUESTÃO 10: Qual a curva no formato f(x)=a+bx+c/x que melhor se ajusta aos pontos


com coordenadas x=1:0.1:2.5 e y=cos(x/7+3).
Forneça f(2.25).

SCILAB:
RESPOSTA: -0.983636986551
QUESTÃO 1:

SCILAB: function S=riemann(a, b, n)


// n numero de intervalos
h=(b-a)/n
x=linspace(a,b,n+1)

S=0
for i=1:n
A=f(x(i))*h
//m=(x(i)+x(i+1))/2;
//A=f(m)*h
S=S+A
end
endfunction

function y=f(x)
y=cos(2*x)
endfunction

disp(riemann(2,3,32))

RESPOSTA: 0.2134

QUESTÃO 2:

SCILAB: function S=trapezio(a, b, n)


h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos
S=0
for i=1:n
x1=x(i) // extremo esquerdo
x2=x(i+1) //extremo direito

A1=1/2; A2=1/2
ds=(A1*f(x1)+A2*f(x2))*h
S=S+ds
end
endfunction

function y=f(x)
y=cos(2*x)
endfunction

disp(trapezio(2,3,8))
RESPOSTA: 0.237449

QUESTÃO 3:

SCILAB: function S=simpson(a, b, n)


h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos
S=0
for i=1:n
x1=x(i) // extremo esquerdo
x3=x(i+1) //extremo direito
x2=x1+h/2 //ponto médio
A1=1/6; A2=4/6; A3=1/6
ds=(A1*f(x1)+A2*f(x2)+A3*f(x3))*h
S=S+ds
end
endfunction

function y=f(x)
y=cos(2*x)
endfunction

disp(simpson(2,3,64))

RESPOSTA: 0.2386935

QUESTÃO 4:

SCILAB: function S=simpson(a, b, n)


h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos
S=0
for i=1:n
x1=x(i) // extremo esquerdo
x3=x(i+1) //extremo direito
x2=x1+h/2 //ponto médio
A1=1/6; A2=4/6; A3=1/6
ds=(A1*f(x1)+A2*f(x2)+A3*f(x3))*h
S=S+ds
end
endfunction

function y=f(x)
y=sin(cos(2*x))
endfunction

disp(simpson(2,3,100))

RESPOSTA: 0.2113779

QUESTÃO 5:

SCILAB: function S=trapezio(a, b, n)


h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos
S=0
for i=1:n
x1=x(i) // extremo esquerdo
x2=x(i+1) //extremo direito

A1=1/2; A2=1/2
ds=(A1*f(x1)+A2*f(x2))*h
S=S+ds
end
endfunction

function y=f(x)
y=sin(cos(2*x))
endfunction

disp(trapezio(2,3,32))
0.2113062
//no scilab, entra com o comando "trapezio(a,b,n)", sendo a o limite inferior da integral,
//b o limite superior da integral, e n o número de intervalos que deseja (o problema não dará
//o numero de intervalos)
//para essa questão, trocar o valor de n e avaliar a partir de qual o n a resposta fica
//com 3 dígitos após a vírgula sem alterar

RESPOSTA: 32

QUESTÃO 6: Ao utilizar o método do trapézio para calcular uma integral com 20 intervalos
temos um erro de aproximadamente 0.001.
Se utilizarmos 100 intervalos, de quando será o erro aproximadamente?
SCILAB: 20/100=0,2
inverso ----> 1/0,2 = 5
0,001/5^2= 4.10^-5
É AO QUADRADO PQ É TRAPEZIO

RESPOSTA: 0.00004

QUESTÃO 7: Ao utilizar o método de Simpson para calcular uma integral com h=0.01
temos um erro de aproximadamente 0.001.
Se utilizarmos h=0.001, de quando será o erro aproximadamente?

SCILAB: 0,01/0,001=10
0,001/10^4 = 1.10^-7 ---- RESPOSTA
É ELEVADO NA 4 PQ É SIMPSON!!!

RESPOSTA:  0.0000001

QUESTÃO 8:

SCILAB: function S=riemann(a, b, n)


// n numero de intervalos
h=(b-a)/n
x=linspace(a,b,n+1)

S=0
for i=1:n
A=f(x(i))*h
//m=(x(i)+x(i+1))/2;
//A=f(m)*h
S=S+A
end
endfunction

function y=f(x)
y=x^2 + exp(x)
endfunction

//no scilab, entra com o comando "riemann(a,b,n)", sendo a o limite inferior da integral,
//b o limite superior da integral, e n o número de intervalos que deseja (o problema não dará
//o numero de intervalos)

//calcula o numero de intervalos com h fixo


a=0
b=2
h=0.0078125 //h fixo
n=abs((a-b)/h)
disp(n)
256

disp(riemann(0,2,256))

RESPOSTA: 9.0151934

QUESTÃO 9:

SCILAB: function S=trapezio(a, b, n)


h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos
S=0
for i=1:n
x1=x(i) // extremo esquerdo
x2=x(i+1) //extremo direito

A1=1/2; A2=1/2
ds=(A1*f(x1)+A2*f(x2))*h
S=S+ds
end
endfunction

function y=f(x)
y=x^2 + exp(x)
endfunction

//no scilab, entra com o comando "trapezio(a,b,n)", sendo a o limite inferior da integral,
//b o limite superior da integral, e n o número de intervalos que deseja (o problema não dará
//o numero de intervalos)

//calcula o numero de intervalos com h fixo


a=0
b=2
h=0.0625 //h fixo
n=abs((a-b)/h)
disp(n)
32

disp(trapezio(0,2,32))

RESPOSTA: 9.0591045
QUESTÃO 10:

SCILAB: function S=simpson(a, b, n)


h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos
S=0
for i=1:n
x1=x(i) // extremo esquerdo
x3=x(i+1) //extremo direito
x2=x1+h/2 //ponto médio
A1=1/6; A2=4/6; A3=1/6
ds=(A1*f(x1)+A2*f(x2)+A3*f(x3))*h
S=S+ds
end
endfunction

function y=f(x)
y=x^2 + exp(x)
endfunction

//no scilab, entra com o comando "simpson(a,b,n)", sendo a o limite inferior da integral,
//b o limite superior da integral, e n o número de intervalos que deseja (o problema não dará
//o numero de intervalos)

//calcula o numero de intervalos com h fixo


a=0
b=2
h=0.5 //h fixo
n=abs((a-b)/h)
disp(n)
4

disp(simpson(0,2,4))

RESPOSTA: 9.0558604
a integral,
lema não dará
a integral,
lema não dará
a integral,
lema não dará
a integral,
lema não dará
QUESTÃO 1:

SCILAB: function S=riemann(a, b, n)


// n numero de intervalos
h=(b-a)/n
x=linspace(a,b,n+1)

S=0
for i=1:n
A=f(x(i))*h
//m=(x(i)+x(i+1))/2;
//A=f(m)*h
S=S+A
end
endfunction

function y=f(x)
y=cos(2*x)
endfunction

disp(riemann(2,3,43))

RESPOSTA: 0,219885187911

QUESTÃO 2:

SCILAB: function S=simpson(a, b, n)


h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos
S=0
for i=1:n
x1=x(i) // extremo esquerdo
x3=x(i+1) //extremo direito
x2=x1+h/2 //ponto médio
A1=1/6; A2=4/6; A3=1/6
ds=(A1*f(x1)+A2*f(x2)+A3*f(x3))*h
S=S+ds
end
endfunction

function y=f(x)
y=sin(x+19)
endfunction
//no scilab, entra com o comando "simpson(a,b,n)", sendo a o limite inferior da integral,
//b o limite superior da integral, e n o número de intervalos que deseja (o problema não dará
//o numero de intervalos)

//calcula o numero de intervalos com h fixo


a=0
b=3
h=0.5 //h fixo
n=abs((a-b)/h)
disp(n)
disp(simpson(0,3,6))

RESPOSTA: 1,98870892461

QUESTÃO 3:

SCILAB: function S=trapezio(a, b, n)


h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos
S=0
for i=1:n
x1=x(i) // extremo esquerdo
x2=x(i+1) //extremo direito

A1=1/2; A2=1/2
ds=(A1*f(x1)+A2*f(x2))*h
S=S+ds
end
endfunction

function y=f(x)
y=cos(x/14)
endfunction

disp(trapezio(3,4,6))

RESPOSTA: 0.968695017845

QUESTÃO 4:

SCILAB: function S=simpson(a, b, n)


h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos
S=0
for i=1:n
x1=x(i) // extremo esquerdo
x3=x(i+1) //extremo direito
x2=x1+h/2 //ponto médio
A1=1/6; A2=4/6; A3=1/6
ds=(A1*f(x1)+A2*f(x2)+A3*f(x3))*h
S=S+ds
end
endfunction

function y=f(x)
y=cos(x)+cos(3*x)
endfunction

disp(simpson(5,6,52))

RESPOSTA: 0,212417079056

QUESTÃO 5:

SCILAB: function S=simpson(a, b, n)


h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos
S=0
for i=1:n
x1=x(i) // extremo esquerdo
x3=x(i+1) //extremo direito
x2=x1+h/2 //ponto médio
A1=1/6; A2=4/6; A3=1/6
ds=(A1*f(x1)+A2*f(x2)+A3*f(x3))*h
S=S+ds
end
endfunction

function y=f(x)
y=cos(4*x+3)
endfunction

//no scilab, entra com o comando "simpson(a,b,n)", sendo a o limite inferior da integral,
//b o limite superior da integral, e n o número de intervalos que deseja (o problema não dará
//o numero de intervalos)

disp(simpson(0,1,100))
RESPOSTA: 0,128966647666

QUESTÃO 6: Ao utilizar o método do trapézio para calcular uma integral com 30 intervalos
temos um erro de aproximadamente 0.001.
Se utilizarmos 270 intervalos, de quando será o erro aproximadamente?

SCILAB: 30/270=0.1111111111111111049432
inverso ----> 1/0.1111111111111111049432 = 9
0,001/9^2= 0.00001234567901234568
É AO QUADRADO PQ É TRAPEZIO

RESPOSTA: 1.23456790E-05

QUESTÃO 7: Ao utilizar o método de Simpson para calcular uma integral com h=0.02
temos um erro de aproximadamente 0.006.
Se utilizarmos h=0.005, de quando será o erro aproximadamente?

SCILAB: 0,02/0,005=4
0,006/4^4 = 0.0000234375
É ELEVADO NA 4 PQ É SIMPSON!!!

RESPOSTA: 2.34E-05

QUESTÃO 8:

SCILAB: function S=riemann(a, b, n)


// n numero de intervalos
h=(b-a)/n
x=linspace(a,b,n+1)

S=0
for i=1:n
A=f(x(i))*h
//m=(x(i)+x(i+1))/2;
//A=f(m)*h
S=S+A
end
endfunction

function y=f(x)
y=1/(11*x)
endfunction

//no scilab, entra com o comando "riemann(a,b,n)", sendo a o limite inferior da integral,
//b o limite superior da integral, e n o número de intervalos que deseja (o problema não dará
//o numero de intervalos)

//calcula o numero de intervalos com h fixo


a=2
b=3
h=0.0025 //h fixo
n=abs((a-b)/h)
disp(n)
disp(riemann(2,3,400))

RESPOSTA: 0,0368794103436

QUESTÃO 9:

SCILAB: function S=trapezio(a, b, n)


h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos
S=0
for i=1:n
x1=x(i) // extremo esquerdo
x2=x(i+1) //extremo direito

A1=1/2; A2=1/2
ds=(A1*f(x1)+A2*f(x2))*h
S=S+ds
end
endfunction

function y=f(x)
y=x^3 -14 * x
endfunction

//no scilab, entra com o comando "trapezio(a,b,n)", sendo a o limite inferior da integral,
//b o limite superior da integral, e n o número de intervalos que deseja (o problema não dará
//o numero de intervalos)

//calcula o numero de intervalos com h fixo


a=1
b=3.5
h=0.1 //h fixo
n=abs((a-b)/h)
disp(n)
disp(trapezio(1,3.5,25))

RESPOSTA: -41,45625
a integral,
lema não dará
a integral,
ema não dará
a integral,
lema não dará

a integral,
lema não dará
T10
QUESTÃO 1:

SCILAB: //nós
t1=0
t2=0.6
t3=1

A=[1 1 1
t1 t2 t3
t1^2 t2^2 t3^2]

b=[1 1/2 1/3]'


w=inv(A)*b
disp(w)

//conferir nas alternativas qual a fração se se adequa a resposta

RESPOSTA: [8/36, 25/36, 3/36]

QUESTÃO 2:

SCILAB: //nós
t1=0
t2=1/3
t3=2/3
t4=1

A=[1 1 1 1
t1 t2 t3 t4
t1^2 t2^2 t3^2 t4^2
t1^3 t2^3 t3^3 t4^3]

b=[1 1/2 1/3 1/4]'


w=inv(A)*b
disp(w)

//conferir nas alternativas qual a fração se se adequa a resposta

RESPOSTA: [1/8, 3/8, 3/8, 1/8]

Página 133
T10
QUESTÃO 3:

SCILAB: //nós
t1=1/8
t2=2/8
t3=6/8
t4=7/8

A=[1 1 1 1
t1 t2 t3 t4 //integral de t de -1 a 1
t1^2 t2^2 t3^2 t4^2
t1^3 t2^3 t3^3 t4^3]

b=[1 1/2 1/3 1/4]'


w=inv(A)*b
disp(w)

//conferir nas alternativas qual a fração se se adequa a resposta

RESPOSTA: [4, 11, 11, 4]/30

QUESTÃO 4:

SCILAB: //nós
t1=-1
t2=0
t3=1

//limites
a=-1
b=1

A=[1 1 1
t1 t2 t3
t1^2 t2^2 t3^2]

b=[b-a ((b^2)-(a^2))/2 ((b^3)-(a^3))/3]'


w=inv(A)*b
disp(w)

//conferir nas alternativas qual a fração se adequa a resposta

Página 134
T10

RESPOSTA: [1, 4, 1]/3

QUESTÃO 5:

SCILAB: //nós
t1=-0.5
t2=0
t3=0.5

a=-1
b=1

A=[1 1 1
t1 t2 t3
t1^2 t2^2 t3^2]

b=[b-a ((b^2)-(a^2))/2 ((b^3)-(a^3))/3]'


w=inv(A)*b
disp(w)

//conferir nas alternativas qual a fração se adequa a resposta

RESPOSTA: [4, -2, 4]/3

QUESTÃO 6:

SCILAB: //quadratura guassiana para 2 nós


//calcula a integral da função y
function S=gaussiana(a, b, n)
h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos

w1=1; t1=-sqrt(3)/3;
w2=1; t2=-t1;
//w são os pesos
//t são os nós
S=0
for i=1:n
alpha=(x(i+1)-x(i))/2

Página 135
T10
bet =(x(i+1)+x(i))/2
x1=alpha*t1+bet;
x2=alpha*t2+bet;

A=(w1*f(x1)+w2*f(x2))*h/2
S=S+A
end
endfunction

//definição da função
function y=f(x)
y=sin(sin(sin(x)))
endfunction

disp(gaussiana(0,10,2))

//esse código divide o intervalo de a até b em n intervalo, e em cada intervalo


//utiliza uma quadratura gaussiana com 3 nós

RESPOSTA: 0.7290668255193253344260

QUESTÃO 7:

SCILAB: //quadratura guassiana para 2 nós


//calcula a integral da função y
function S=gaussiana(a, b, n)
h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos

w1=1; t1=-sqrt(3)/3;
w2=1; t2=-t1;
//w são os pesos
//t são os nós
S=0
for i=1:n
alpha=(x(i+1)-x(i))/2
bet =(x(i+1)+x(i))/2
x1=alpha*t1+bet;
x2=alpha*t2+bet;

A=(w1*f(x1)+w2*f(x2))*h/2
S=S+A
end
endfunction

Página 136
T10

//definição da função
function y=f(x)
y=sin(sin(sin(x)))
endfunction

disp(gaussiana(0,10,32))

//esse código divide o intervalo de a até b em n intervalo, e em cada intervalo


//utiliza uma quadratura gaussiana com 3 nós

RESPOSTA: 1.4893639527612676509705

QUESTÃO 8:

SCILAB: //quadratura guassiana para 2 nós


//calcula a integral da função y
function S=gaussiana(a, b, n)
h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos

w1=1; t1=-sqrt(3)/3;
w2=1; t2=-t1;
//w são os pesos
//t são os nós
S=0
for i=1:n
alpha=(x(i+1)-x(i))/2
bet =(x(i+1)+x(i))/2
x1=alpha*t1+bet;
x2=alpha*t2+bet;

A=(w1*f(x1)+w2*f(x2))*h/2
S=S+A
end
endfunction

//definição da função
function y=f(x)
y=sin(sin(sin(x)))
endfunction

disp(gaussiana(0,10,128))

Página 137
T10
//esse código divide o intervalo de a até b em n intervalo, e em cada intervalo
//utiliza uma quadratura gaussiana com 3 nós

RESPOSTA: 1.489370417244679556390

QUESTÃO 9:

SCILAB: //quadratura guassiana para 3 nós


//calcula a integral da função y
function S=gaussiana(a, b, n)
h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos

w1=5/9; t1=-sqrt(3/5);
w2=8/9; t2=0;
w3=w1; t3=-t1;
//w são os pesos
//t são os nós
S=0
for i=1:n
alpha=(x(i+1)-x(i))/2
bet =(x(i+1)+x(i))/2
x1=alpha*t1+bet;
x2=alpha*t2+bet;
x3=alpha*t3+bet;

A=(w1*f(x1)+w2*f(x2)+w3*f(x3))*h/2
S=S+A
end
endfunction

//definição da função
function y=f(x)
y=sin(sin(sin(x)))
endfunction
disp(gaussiana(0,10,64))

//esse código divide o intervalo de a até b em n intervalo, e em cada intervalo


//utiliza uma quadratura gaussiana com 3 nós

RESPOSTA: 1.4893704422700360101572

Página 138
T10

QUESTÃO 10:

SCILAB: //quadratura guassiana para 4 nós


//calcula a integral da função y
function S=gaussiana(a, b, n)
h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos

w1=(18+sqrt(30))/36; t1=sqrt((3-2*sqrt(6/5))/7);
w2=(18-sqrt(30))/36; t2=sqrt((3+2*sqrt(6/5))/7);
w3=w1; t3=-t1;
w4=w2; t4=-t2;

//w são os pesos


//t são os nós
S=0
for i=1:n
alpha=(x(i+1)-x(i))/2
bet =(x(i+1)+x(i))/2
x1=alpha*t1+bet;
x2=alpha*t2+bet;
x3=alpha*t3+bet;
x4=alpha*t4+bet;

A=(w1*f(x1)+w2*f(x2)+w3*f(x3)+w4*f(x4))*h/2
S=S+A
end
endfunction

//definição da função
function y=f(x)
y=sin(sin(sin(x)))
endfunction
disp(gaussiana(0,10,32))

//esse código divide o intervalo de a até b em n intervalo, e em cada intervalo


//utiliza uma quadratura gaussiana com 3 nós

RESPOSTA: 1.4893704421271507509772

Página 139
T10

Página 140
T10

Página 141
T10

Página 142
T10

cada intervalo

Página 143
T10

cada intervalo

Página 144
T10
cada intervalo

cada intervalo

Página 145
T10

cada intervalo

Página 146
M10
QUESTÃO 1:

SCILAB: //quadratura guassiana para 2 nós


//calcula a integral da função y
function S=gaussiana(a, b, n)
h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos

w1=1; t1=-sqrt(3)/3;
w2=1; t2=-t1;
//w são os pesos
//t são os nós
S=0
for i=1:n
alpha=(x(i+1)-x(i))/2
bet =(x(i+1)+x(i))/2
x1=alpha*t1+bet;
x2=alpha*t2+bet;

A=(w1*f(x1)+w2*f(x2))*h/2
S=S+A
end
endfunction

//definição da função
function y=f(x)
y=sin(8*x)
endfunction

disp(gaussiana(1,10,7))

//esse código divide o intervalo de a até b em n intervalo, e em cada intervalo


//utiliza uma quadratura gaussiana com 3 nós

RESPOSTA: -0,024470463418

QUESTÃO 2:

SCILAB: //quadratura guassiana para 3 nós


//calcula a integral da função y
function S=gaussiana(a, b, n)
h=(b-a)/n //n numero de intervalos

Página 147
M10
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos

w1=5/9; t1=-sqrt(3/5);
w2=8/9; t2=0;
w3=w1; t3=-t1;
//w são os pesos
//t são os nós
S=0
for i=1:n
alpha=(x(i+1)-x(i))/2
bet =(x(i+1)+x(i))/2
x1=alpha*t1+bet;
x2=alpha*t2+bet;
x3=alpha*t3+bet;

A=(w1*f(x1)+w2*f(x2)+w3*f(x3))*h/2
S=S+A
end
endfunction

//definição da função
function y=f(x)
y=sin(8*x)
endfunction
disp(gaussiana(1,10,7))

//esse código divide o intervalo de a até b em n intervalo, e em cada intervalo


//utiliza uma quadratura gaussiana com 3 nós

RESPOSTA: 0,00184996038604

QUESTÃO 3:

SCILAB: //quadratura guassiana para 4 nós


//calcula a integral da função y
function S=gaussiana(a, b, n)
h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos

w1=(18+sqrt(30))/36; t1=sqrt((3-2*sqrt(6/5))/7);
w2=(18-sqrt(30))/36; t2=sqrt((3+2*sqrt(6/5))/7);
w3=w1; t3=-t1;
w4=w2; t4=-t2;

Página 148
M10

//w são os pesos


//t são os nós
S=0
for i=1:n
alpha=(x(i+1)-x(i))/2
bet =(x(i+1)+x(i))/2
x1=alpha*t1+bet;
x2=alpha*t2+bet;
x3=alpha*t3+bet;
x4=alpha*t4+bet;

A=(w1*f(x1)+w2*f(x2)+w3*f(x3)+w4*f(x4))*h/2
S=S+A
end
endfunction

//definição da função
function y=f(x)
y=sin(8*x)
endfunction
disp(gaussiana(1,10,4))

//esse código divide o intervalo de a até b em n intervalo, e em cada intervalo


//utiliza uma quadratura gaussiana com 3 nós

RESPOSTA: 0.0588466049375

QUESTÃO 4:

SCILAB: //quadratura guassiana para 2 nós


//calcula a integral da função y
function S=gaussiana(a, b, n)
h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos

w1=1; t1=-sqrt(3)/3;
w2=1; t2=-t1;
//w são os pesos
//t são os nós
S=0
for i=1:n

Página 149
M10
alpha=(x(i+1)-x(i))/2
bet =(x(i+1)+x(i))/2
x1=alpha*t1+bet;
x2=alpha*t2+bet;

A=(w1*f(x1)+w2*f(x2))*h/2
S=S+A
end
endfunction

//definição da função
function y=f(x)
y=sin(7*x+1)
endfunction

disp(gaussiana(2,4,9))

//esse código divide o intervalo de a até b em n intervalo, e em cada intervalo


//utiliza uma quadratura gaussiana com 3 nós

RESPOSTA: -0,00165904654237

QUESTÃO 5:

SCILAB: //quadratura guassiana para 3 nós


//calcula a integral da função y
function S=gaussiana(a, b, n)
h=(b-a)/n //n numero de intervalos
x=linspace(a,b,n+1) //cria um vetor que vai de a até b, com n+1 pontos

w1=5/9; t1=-sqrt(3/5);
w2=8/9; t2=0;
w3=w1; t3=-t1;
//w são os pesos
//t são os nós
S=0
for i=1:n
alpha=(x(i+1)-x(i))/2
bet =(x(i+1)+x(i))/2
x1=alpha*t1+bet;
x2=alpha*t2+bet;
x3=alpha*t3+bet;

A=(w1*f(x1)+w2*f(x2)+w3*f(x3))*h/2

Página 150
M10
S=S+A
end
endfunction

//definição da função
function y=f(x)
y=sin(7*x+1)
endfunction
disp(gaussiana(2,4,72))

//esse código divide o intervalo de a até b em n intervalo, e em cada intervalo


//utiliza uma quadratura gaussiana com 3 nós

RESPOSTA: -0,00166148330998

QUESTÃO 6:

SCILAB: //nós
t1=0.1
t2=0.5
t3=1

A=[1 1 1
t1 t2 t3
t1^2 t2^2 t3^2]

b=[1 1/2 1/3]'


w=inv(A)*b
disp(w)

RESPOSTA: 0.583333333333

QUESTÃO 7:

SCILAB: //nós
t1=0.1
t2=0.9

Página 151
M10
t3=1

A=[1 1 1
t1 t2 t3
t1^2 t2^2 t3^2]

b=[1 1/2 1/3]'


w=inv(A)*b
disp(w)

RESPOSTA: 0.393518518519

QUESTÃO 8:

SCILAB: //4 nós


x1=0
x2=5/5
x3=7/5
x4=2

//Limites de integração
a=0
b=2

A=[1 1 1 1; x1 x2 x3 x4; x1^2 x2^2 x3^2 x4^2;x1^3 x2^3 x3^3 x4^3]


b=[b-a (b^2-a^2)/2 (b^3-a^3)/3 (b^4-a^4)/4]'

w=inv(A)*b
disp(w)

resposta=w(2)
disp(resposta)

RESPOSTA: 1,33333333333

QUESTÃO 9:

Página 152
M10

SCILAB: //4 nós


x1=0
x2=2/5
x3=4/5
x4=2

//Limites de integração
a=0
b=2

A=[1 1 1 1; x1 x2 x3 x4; x1^2 x2^2 x3^2 x4^2;x1^3 x2^3 x3^3 x4^3]


b=[b-a (b^2-a^2)/2 (b^3-a^3)/3 (b^4-a^4)/4]'

w=inv(A)*b
disp(w(4))

RESPOSTA: 0,375

QUESTÃO 10:

SCILAB: //4 nós


x1=0
x2=5/5
x3=7/5
x4=2

//Limites de integração
a=0
b=2

A=[1 1 1 1; x1 x2 x3 x4; x1^2 x2^2 x3^2 x4^2;x1^3 x2^3 x3^3 x4^3]


b=[b-a (b^2-a^2)/2 (b^3-a^3)/3 (b^4-a^4)/4]'

w=inv(A)*b
disp(norm(w,2))

RESPOSTA: 1,41421356237

Página 153
M10

cada intervalo

Página 154
M10

cada intervalo

Página 155
M10

cada intervalo

Página 156
M10

cada intervalo

Página 157
M10

cada intervalo

Página 158
M10

Página 159
M10

Página 160
T11
QUESTÃO 1: Seja u'=ut com u(1)=0.1.
Aproxime u(2) usando h=0.1 e o método de Euler.

SCILAB: function y=f(t, u)


y=u*t
endfunction

function [u]=euler(a, T, h)
//T tempo final
//Nint numero de intervalos
t(1)=1
u(1)=a
Nint=(T-t(1))/h
for n=1:Nint
t(n+1)=t(n)+h;
u(n+1)=u(n)+h*f(t(n),u(n))
end
ufinal=u(n+1);
plot(t,u,'r.-');xgrid

endfunction
disp(euler(0.1,2,0.1)) //dados da pergunta e ja imprime resp.:0.3860892

RESPOSTA: 0.3860892

QUESTÃO 2: Seja u'=ut com u(1)=0.1.


Aproxime u(2) usando h=0.1 e o método de Heun.

SCILAB: function y=f(t, u)


y=u*t
endfunction

function [u]=heun(a, T, h)
//T tempo final
//Nint numero de intervalos
t(1)=1
u(1)=a
Nint=(T-t(1))/h
for n=1:Nint
t(n+1)=t(n)+h;
util=u(n)+h*f(t(n),u(n))
F1=f(t(n),u(n))
F2=f(t(n+1),util) //heun
u(n+1)=u(n)+(h/2)*(F1+F2)
end
ufinal=u(n+1);

Página 161
T11
plot(t,u,'r.-');xgrid
endfunction
disp(heun(0.1,2,0.1)) //dados da pergunta e ja imprime resp.:0.4456529

RESPOSTA: 0.4456529

QUESTÃO 3: Seja u'=ut com u(1)=0.1.


Aproxime u(2) usando h=0.1 e o método de Taylor de ordem 2.

SCILAB: function y=f(t, u)


y=u*t
endfunction

function y=ft(t, u)
y=(u*t^2)+u
endfunction

function [u]=taylor(a, T, h)
u(1)=a; //cond inicial
t(1)=1;
N=(T-t(1))/h
for n=1:N
t(n+1)=t(n)+h;
F=f(t(n),u(n));
Ft=ft(t(n),u(n))
u(n+1)=u(n)+h*F+(h^2/2)*Ft
end
ultimo=u(N+1);
plot(t,u,'r.-');xgrid
endfunction
disp(taylor(0.1,2,0.1)) //resp.:0.4428927

RESPOSTA: 0.4428927

QUESTÃO 4: Seja u'=ut com u(1)=0.1.


Aproxime u(2) usando h=0.1 e o método de Taylor de ordem 3.

SCILAB: function y=f(t, u)


y=u*t
endfunction

function y=ft(t, u)
y=(u*t)*t+u

Página 162
T11
endfunction

function y=ftt(t, u)
y=(u*t^3)+2*u*t+u*t
endfunction

function [u]=taylor(a, T, h)
u(1)=a; //cond inicial
t(1)=1;
N=(T-t(1))/h
for n=1:N
t(n+1)=t(n)+h;
F=f(t(n),u(n));
Ft=ft(t(n),u(n))
Ftt=ftt(t(n),u(n))
u(n+1)=u(n)+h*F+(h^2/2)*Ft+(h^3/6)*Ftt
end
ultimo=u(N+1);
plot(t,u,'r.-');xgrid
endfunction
disp(taylor(0.1,2,0.1)) //resp.:0.4478043

RESPOSTA: 0.4478043

QUESTÃO 5: Seja u'=ut com u(1)=0.1.


Aproxime u(2) com 7 dígitos significativos.

SCILAB: function y=f(t, u)


y=u*t
endfunction

function y=ft(t, u)
y=(u*t)*t+u
endfunction

function [u]=taylor(a, T, N)
u(1)=a; //cond inicial
t(1)=1;
h=(T-t(1))/N
for n=1:N
t(n+1)=t(n)+h;
F=f(t(n),u(n));
Ft=ft(t(n),u(n))
u(n+1)=u(n)+h*F+(h^2/2)*Ft+(h^3/6)
end

Página 163
T11
ultimo=u(N+1);
plot(t,u,'r.-');xgrid
endfunction
disp(taylor(0.1,2,210)) //resp.:0.4481689

RESPOSTA: 0.4481689

QUESTÃO 6: Seja u'=sin(u) com u(0)=1.


Aproxime u(2) usando 100 intervalos e o método de Euler.

SCILAB: function y=f(t, u)


y=sin(u) //função
endfunction

function [u]=euler(a, T, Nint)


//T tempo final
//Nint numero de intervalos
t(1)=1
u(1)=a //qdo u(0) troca por u(1) e acrescenta 1 ao T final exemplo u(2) fica u(3)
h=(T-t(1))/Nint
for n=1:Nint
t(n+1)=t(n)+h;
u(n+1)=u(n)+h*f(t(n),u(n))
end
ufinal=u(n+1);
plot(t,u,'r.-');xgrid
endfunction
disp(euler(1,3,100)) //dados da pergunta e ja imprime resp.: 2.658666

RESPOSTA: 2.658666

QUESTÃO 7: Seja u'=sin(u) com u(0)=1.


Aproxime u(2) usando 100 intervalos e o método de Heun.

SCILAB: function y=f(t, u)


y=sin(u)
endfunction

function [u]=heun(a, T, Nint)


//T tempo final
//Nint numero de intervalos
t(1)=1
u(1)=a //qdo u(0) troca por u(1) e acrescenta 1 ao T final exemplo u(2) fica u(3)

Página 164
T11
h=(T-t(1))/Nint
for n=1:Nint
t(n+1)=t(n)+h;
util=u(n)+h*f(t(n),u(n))
F1=f(t(n),u(n))
F2=f(t(n+1),util) //heun
u(n+1)=u(n)+(h/2)*(F1+F2)
end
ufinal=u(n+1);
plot(t,u,'r.-');xgrid
endfunction
disp(heun(1,3,100)) //dados da pergunta e ja imprime resp.:2.655871

RESPOSTA: 2.655871

QUESTÃO 8: Seja u'=sin(u) com u(0)=1.


Aproxime u(2) com 5 dígitos significativos.

SCILAB: function y=f(t, u)


y=sin(u)
endfunction

function y=ft(t, u)
y=cos(u)
endfunction

function [u]=taylor(a, T, N)
u(1)=a; //cond inicial
t(1)=1;
h=(T-t(1))/N
for n=1:N
t(n+1)=t(n)+h;
F=f(t(n),u(n));
Ft=ft(t(n),u(n))
Ftt=ftt(t(n),u(n))
u(n+1)=u(n)+h*F+(h^2/2)*Ft+(h^3/6)*Ftt
end
ultimo=u(N+1);
plot(t,u,'r.-');xgrid
endfunction
disp(taylor(1,3,1000)) //resp.:2.6559

RESPOSTA: 2.6559

Página 165
T11
QUESTÃO 9: Seja u'=-u/8 com u(0)=1.
Para quais valores de h o método é estável.

SCILAB:

RESPOSTA: 0< h<16

QUESTÃO 10: Seja u'=-u/6+t com u(0)=1.


Para quais valores de h o método é estável.

SCILAB: INTEGRAR A EQUAÇÃO, O VALOR QUE DER NO RESULTADO, FAZER:


-1/RESULTADO!!!!
O MÉTODO É ESTÁVEL ENTRE 0<H<-1/RESULTADO DA INTEGRAL
___________
SOLUÇÃO: du ------>

o método é estável entre 0<H<-1/RESULTADO DA INTEGRAL ==== 0<h< 12

RESPOSTA: 0< h<12

Página 166
T11

plo u(2) fica u(3)

plo u(2) fica u(3)

Página 167
M11
QUESTÃO 1: Seja u'=11-t^2 com u(2)=1.
Aproxime u(4) usando h=0.1 e o método de Euler.

SCILAB: function y=f(t, u)


y=11-t^2
endfunction

function [u]=euler(a, T, h)
t(1)=2
u(1)=a
Nint=(T-t(1))/h
for n=1:Nint
t(n+1)=t(n)+h;
u(n+1)=u(n)+h*f(t(n),u(n))
end
ufinal=u(n+1);
plot(t,u,'r.-');xgrid

endfunction
disp(euler(1,4,0.1))

RESPOSTA: 4,93

QUESTÃO 2: Seja u'=2-t^2 com u(2)=1.


Aproxime u(4) usando h=0.01 e o método de Euler.

SCILAB: function y=f(t, u)


y=2-t^2
endfunction

function [u]=euler(a, T, h)
t(1)=2
u(1)=a
Nint=(T-t(1))/h
for n=1:Nint
t(n+1)=t(n)+h;
u(n+1)=u(n)+h*f(t(n),u(n))
end
ufinal=u(n+1);
plot(t,u,'r.-');xgrid

endfunction
disp(euler(1,4,0.01))

RESPOSTA: -13,6067

Página 168
M11

QUESTÃO 3: Seja u'=6-t^2 com u(2)=1.


Aproxime u(4) usando h=0.1 e o método de Heun.

SCILAB: function y=f(t, u)


y=6-t^2
endfunction

function [u]=heun(a, T, h)
//T tempo final
//Nint numero de intervalos
t(1)=2
u(1)=a
Nint=(T-t(1))/h
for n=1:Nint
t(n+1)=t(n)+h;
util=u(n)+h*f(t(n),u(n))
F1=f(t(n),u(n))
F2=f(t(n+1),util) //heun
u(n+1)=u(n)+(h/2)*(F1+F2)
end
ufinal=u(n+1);
plot(t,u,'r.-');xgrid
endfunction
disp(heun(1,4,0.1))

RESPOSTA: -5,67.

QUESTÃO 4: Seja u'=5-t^2 com u(2)=1.


Aproxime u(4) usando h=0.01 e o método de Heun.

SCILAB: function y=f(t, u)


y=5-t^2
endfunction

function [u]=heun(a, T, h)
//T tempo final
//Nint numero de intervalos
t(1)=2
u(1)=a
Nint=(T-t(1))/h
for n=1:Nint
t(n+1)=t(n)+h;
util=u(n)+h*f(t(n),u(n))

Página 169
M11
F1=f(t(n),u(n))
F2=f(t(n+1),util) //heun
u(n+1)=u(n)+(h/2)*(F1+F2)
end
ufinal=u(n+1);
plot(t,u,'r.-');xgrid
endfunction
disp(heun(1,4,0.01)) //dados da pergunta e ja imprime resp.:0.4456529

RESPOSTA: -7,6667

QUESTÃO 5: Seja u'=sin(u+t+12) com u(0)=1.


Aproxime u(3) usando h=0.1 e o método de Euler.

SCILAB: function y=f(t, u)


y=sin(u+t+12)
endfunction

function [u]=euler(a, T, h)
t(1)=0
u(1)=a
Nint=(T-t(1))/h
for n=1:Nint
t(n+1)=t(n)+h;
u(n+1)=u(n)+h*f(t(n),u(n))
end
ufinal=u(n+1);
plot(t,u,'r.-');xgrid

endfunction
disp(euler(1,3,0.1))

RESPOSTA: 1,50119673418

QUESTÃO 6: Seja u'=cos(u+3) com u(1)=2.


Aproxime u(4) usando h=0.01 e o método de Euler.

SCILAB: function y=f(t, u)


y=cos(u+3)
endfunction

function [u]=euler(a, T, h)
//T tempo final
//Nint numero de intervalos

Página 170
M11
t(1)=1
u(1)=a
Nint=(T-t(1))/h
for n=1:Nint
t(n+1)=t(n)+h;
u(n+1)=u(n)+h*f(t(n),u(n))
end
ufinal=u(n+1);
plot(t,u,'r.-');xgrid

endfunction
disp(euler(2,4,0.01)) //dados da pergunta e ja imprime resp

RESPOSTA: 4.18926725726

QUESTÃO 7: Seja u'=cos(u+7) com u(1)=2.


Aproxime u(4) usando h=0.01 e o método de Heun.

SCILAB: function y=f(t, u)


y=cos(u+7)
endfunction

function [u]=heun(a, T, h)
//T tempo final
//Nint numero de intervalos
t(1)=1
u(1)=a
Nint=(T-t(1))/h
for n=1:Nint
t(n+1)=t(n)+h;
util=u(n)+h*f(t(n),u(n))
F1=f(t(n),u(n))
F2=f(t(n+1),util) //heun
u(n+1)=u(n)+(h/2)*(F1+F2)
end
ufinal=u(n+1);
plot(t,u,'r.-');xgrid
endfunction
disp(heun(2,4,0.01)) //dados da pergunta e ja imprime resp.:0.4456529

RESPOSTA: 0.918209913347

QUESTÃO 8: Seja u'=cos(u+t) com u(1)=0.88.

Página 171
M11
Aproxime u(2) com 7 dígitos significativos.

SCILAB: function y=f(t, u)


y=cos(u+t)
endfunction

function y=ft(t, u)
y=-sin(u+t)
endfunction

function [u]=taylor(a, T, N)
u(1)=a; //cond inicial
t(1)=1;
h=(T-t(1))/N
for n=1:N
t(n+1)=t(n)+h;
F=f(t(n),u(n));
Ft=ft(t(n),u(n))
u(n+1)=u(n)+h*F+(h^2/2)*Ft
end
ultimo=u(N+1);
plot(t,u,'r.-');xgrid
endfunction
disp(taylor(0.88,2,1000000)) //resp.

RESPOSTA: 0,342807706796

Página 172
T12
QUESTÃO 1:

SCILAB: //os x serão os pontos onde a f(x) é calculada

//usa qdo Un+1 = Un + H [ C1Fn + C2Fn-1 + C3Fn-2]

x(1)=0
x(2)=-1
x(3)=-2

//daqui pra baixo NUNCA MUDA


b(1)=1
b(2)=1/2
b(3)=1/3

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c) //resp.: 1.9166667; -1.333333; 0.4166667

RESPOSTA: [ 23, -16 , 5 ]/ 12

QUESTÃO 2:

SCILAB: //os x serão os pontos onde a f(x) é calculada

//usa qdo Un+1 = Un + H [ C1Fn+1 + C2Fn + C3Fn-1]

x(1)=1
x(2)=0
x(3)=-1

//daqui pra baixo NUNCA MUDA


b(1)=1
b(2)=1/2

Página 173
T12
b(3)=1/3

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c) //resp.: 0.4166667; 0.6666667; -0.0833333

RESPOSTA: [ 5, 8 , -1 ]/ 12

QUESTÃO 3:

SCILAB: //os x serão os pontos onde a f(x) é calculada

//usa qdo Un+1 = Un + H [ C1Fn+1 + C2Fn-1 + C3Fn-3]

x(1)=1
x(2)=-1
x(3)=-3

//daqui pra baixo NUNCA MUDA


b(1)=1
b(2)=1/2
b(3)=1/3

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c) //resp.: 0.6666667; 0.4166667; -0.0833333

Página 174
T12

RESPOSTA: [ 8, 5 , -1 ]/ 12

QUESTÃO 4:

SCILAB: //os x serão os pontos onde a f(x) é calculada

//usa qdo Un+1 = Un-1 + H [ C1Fn + C2Fn-1 + C3Fn-2]

x(1)=0
x(2)=-1
x(3)=-2

//daqui pra baixo NUNCA MUDA


b(1)=2
b(2)=0
b(3)=2/3

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c) //resp.: 2.3333333; -0.6666667; 0.3333333

RESPOSTA: [ 7, -2 , 1 ]/ 3

QUESTÃO 5:

SCILAB: //os x serão os pontos onde a f(x) é calculada

//usa qdo Un+1 = Un-1 + H [ C1Fn+1 + C2Fn + C3Fn-1]

x(1)=1

Página 175
T12
x(2)=0
x(3)=-1

//daqui pra baixo NUNCA MUDA


b(1)=2
b(2)=0
b(3)=2/3

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c) //resp.: 0.3333333; 1.3333333; 0.3333333

RESPOSTA: [ 1, 4 , 1 ]/ 3

QUESTÃO 6: Se utilizarmos o método de Adams-Bashforth


de ordem 4 para resolver uma EDO,
qual método deve ser utilizado nas primeiras iteracões

SCILAB:

RESPOSTA: Taylor de ordem 3

QUESTÃO 7:

SCILAB: //os x serão os pontos onde a f(x) é calculada

//o n é a posição do termo onde esta o Fn

//Fx(xn) = [C1Fn-1 + C2Fn + C3Fn+1] / H

n=2

x(1)=-1

Página 176
T12
x(2)=0
x(3)=1

//daqui pra baixo NUNCA MUDA


b(1)=0
b(2)=1
b(3)=2*x(n)

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b
S=c(1)^2+c(2)^2+c(3)^2
disp(c) //resp.: -0.5; 0; 0.5

RESPOSTA: [ -1, 0 , 1 ]/ 2

QUESTÃO 8:

SCILAB: //os x serão os pontos onde a f(x) é calculada

//o n é a posição do termo onde esta o Fn

//Fx(xn) = [C1Fn + C2Fn+1 + C3Fn+2] / H

n=1
x(1)=0
x(2)=1
x(3)=2

//daqui pra baixo NUNCA MUDA


b(1)=0
b(2)=1
b(3)=2*x(n)

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

Página 177
T12

S=c(1)^2+c(2)^2+c(3)^2

disp(c) //resp.: -1.5; 2; -0.5

RESPOSTA: [ -3, 4 , -1 ]/ 2

QUESTÃO 9:

SCILAB: //os x serão os pontos onde a f(x) é calculada

//o n é a posição do termo onde esta o Fn

//Fx(xn) = [C1Fn-1 + C2Fn + C3Fn+2] / H

n=2
x(1)=-1
x(2)=0
x(3)=2

//daqui pra baixo NUNCA MUDA


b(1)=0
b(2)=1
b(3)=2*x(n)

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c) //resp.: -0.6666667; 0.5; 0.1666667

RESPOSTA: [ -4, 3 , 1 ]/ 6

QUESTÃO 10:

Página 178
T12

SCILAB: //Encontre os coeficientes da fórmula para aproximar a derivada f_{xx}(x_n) = [c_1 f_{n} + c_2 f_{n

//Os x serão os pontos onde a f(x) é calculada

x(1)=0
x(2)=1
x(3)=3

//Daqui pra baixo NUNCA MUDA


b(1)=0
b(2)=0
b(3)=2

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c)

RESPOSTA: [ 2, -3 , 1 ]/ 3

Página 179
T12

Página 180
T12

Página 181
T12

Página 182
T12

a f_{xx}(x_n) = [c_1 f_{n} + c_2 f_{n+1}+c_3 f_{n+3}]/h^2

Página 183
M12
QUESTÃO 1:

SCILAB: //os x serão os pontos onde a f(x) é calculada


//usa qdo Un+1 = Un + H [ C1Fn + C2Fn-1 + C3Fn-2]

x(1)=0
x(2)=-1
x(3)=-2

//daqui pra baixo NUNCA MUDA


b(1)=1
b(2)=1/2
b(3)=1/3

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c) //resp.: 1.9166667; -1.333333; 0.4166667

RESPOSTA: 1,91666666667

QUESTÃO 2:

SCILAB: //os x serão os pontos onde a f(x) é calculada


//usa qdo Un+1 = Un + H [ C1Fn + C2Fn-1 + C3Fn-2]

x(1)=1
x(2)=-1
x(3)=-2

//daqui pra baixo NUNCA MUDA


b(1)=1
b(2)=1/2

Página 184
M12
b(3)=1/3

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c) //resp.: 1.9166667; -1.333333; 0.4166667

RESPOSTA: 0,583333333333

QUESTÃO 3:

SCILAB: //os x serão os pontos onde a f(x) é calculada


//usa qdo Un+1 = Un + H [ C1Fn + C2Fn-1 + C3Fn-2]

x(1)=1
x(2)=-1
x(3)=-2

//daqui pra baixo NUNCA MUDA


b(1)=1
b(2)=1/2
b(3)=1/3

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c) //resp.: 1.9166667; -1.333333; 0.4166667

Página 185
M12

RESPOSTA: -0.222222222222

QUESTÃO 4:

SCILAB: //os x serão os pontos onde a f(x) é calculada


//usa qdo Un+1 = Un + H [ C1Fn + C2Fn-1 + C3Fn-2]

x(1)=1
x(2)=-1
x(3)=-2

//daqui pra baixo NUNCA MUDA


b(1)=1
b(2)=1/2
b(3)=1/3

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

A=[c(1) c(2) c(3)];


B = norm(A,2)

disp(B)

RESPOSTA:  0,893218621712

QUESTÃO 5:

SCILAB: x(1)=1

Página 186
M12
x(2)=0
x(3)=-1

//daqui pra baixo NUNCA MUDA


b(1)=1
b(2)=0
b(3)=2/6

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c)

RESPOSTA: 0,166666666667

QUESTÃO 6:

SCILAB: x(1)=1
x(2)=0
x(3)=-1

//daqui pra baixo NUNCA MUDA


b(1)=1
b(2)=0
b(3)=2/6

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

Página 187
M12
disp(max(c))

RESPOSTA: 0.666666666667

QUESTÃO 7:

SCILAB: clear
n=2

x(1)=n-1
x(2)=n
x(3)=n+1

b(1)=0
b(2)=1
b(3)=2*(n+0.3) // <----------- só mudar aqui

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b
S=c(1)^2+c(2)^2+c(3)^2
disp(c)

RESPOSTA: -0.2

QUESTÃO 8:

SCILAB: clear
n=2

x(1)=n-1
x(2)=n
x(3)=n+1

Página 188
M12

b(1)=0
b(2)=1
b(3)=2*(n+0.8) // <----------- só mudar aqui

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b
S=c(1)^2+c(2)^2+c(3)^2
disp(c)

RESPOSTA: -1,6

QUESTÃO 9:

SCILAB: //os x serão os pontos onde a f(x) é calculada


//o n é a posição do termo onde esta o Fn
//Fx(xn) = [C1Fn + C2F(xn+h/4) + C3Fn+2] / h

n=1
x(1)=0
x(2)=1/4
x(3)=2

//daqui pra baixo NUNCA MUDA


b(1)=0
b(2)=1
b(3)=2*x(n)

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

Página 189
M12
disp(c)

RESPOSTA: -4,5

QUESTÃO 10:

SCILAB: //os x serão os pontos onde a f(x) é calculada


//o n é a posição do termo onde esta o Fn
//Fx(xn) = [C1Fn + C2F(xn+h/3) + C3Fn+2] / h

n=1
x(1)=0
x(2)=1/3
x(3)=2

//daqui pra baixo NUNCA MUDA


b(1)=0
b(2)=1
b(3)=2*x(n)

for i=1:3
M(1,i)=1
M(2,i)=x(i)
M(3,i)=x(i)^2
end

c=inv(M)*b

S=c(1)^2+c(2)^2+c(3)^2

disp(c)

RESPOSTA: 3,6

Página 190
M12

Página 191
M12

Página 192
M12

Página 193
M12

Página 194
M12

Página 195
M12

Página 196
M12

Página 197

Você também pode gostar