Questionários Calculo Numerco
Questionários Calculo Numerco
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
RESPOSTA: 2.5
SCILAB: bin2dec('101001')
VIDA: (1*2^5) + (1*2^3) + (1*2^0)
RESPOSTA: 41
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 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)
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)
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
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
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
SCILAB: (9^2-6+1)/(2*3+1)
RESPOSTA: (9^2-6+1)/(2*3+1)
RESPOSTA: 7,3,7,10
Converta x = (01D0.C)16 para decimal
hex2dec('01D0')
y=C*16^-1
x+y
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
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
RESPOSTA: 101,011
VIDA: 123.45
RESPOSTA: 123.45
VIDA: 123.46
RESPOSTA: 123.46
SCILAB: x=1234.56
x1=1200.00
erro_rel=abs((x-x1)/x)
erro_rel = 0.0279938
0.0279938 < 5 * 10^-2
RESPOSTA: 2
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
SCILAB: x=3/9
x=0.333333333
y=0.333333
x-y
0.000000333
RESPOSTA: 6
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
RESPOSTA: x ≈ -3
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
RESPOSTA: 12345.7
RESPOSTA: 10100
RESPOSTA: 0.0012345679
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
SCILAB: y=1/3000
x=0.000333
erro_rel=abs((y-x)/y)
erro_rel = 0.001
0.001 < 5 * 10^-3
RESPOSTA: 3
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?
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
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
y=1/3000
x=0.0003333
erro_rel=abs((y-x)/y)
0.0001
0.0001 < 5*10^-4
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
RESPOSTA: 1/3
RESPOSTA: 20000
VIDA:
RESPOSTA: 0,022599
RESPOSTA: 200
RESPOSTA: -0.588533
SCILAB:
SCILAB:
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
SCILAB:
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
RESPOSTA: 16
SCILAB: x=3.1444444444444444444444444
y=(x*cos(x))/(sin(x))
y=1102.6179970474829588056
z=10^-11/y
z=0.0000000000000090693241
RESPOSTA: 0.0000000000000090693241
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
RESPOSTA: -1.1342865808195676802228
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
RESPOSTA: 7.203941345
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
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
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
/sin(5*x)
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
-1.57561
x=-20:20 x=-20:20
plot(x,sin(x)+x-11,'*r') plot(x,sin(x)-11+x,'*r')
xgrid xgrid
É O NUMERO QUE APARECE LOGO APÓS O ANS (primeiro numero que aparece na resposta do código)
a=0 a=0
b=1 b=1
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')
coloca o intervalo
*f(m)<0 then
SCILAB: x=0.9
for n=1:1000
x=x^3-x^2+1
disp(x)
end
SCILAB: x=1.1
for n=1:1000
x=x^3-x^2+1
disp(x)
end
SCILAB: x=0
for n=1:10
x=-1/(x^2-x-2)
disp(x)
end
RESPOSTA: 0.445041
VIDA:
RESPOSTA:
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]
RESPOSTA: 0.739085
RESPOSTA: 1.39774
SCILAB:
?
?
?
RESPOSTA: 1 e 2 respectivamente
RESPOSTA: 7 3
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
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:
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
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
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
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
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
-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
RESPOSTA: 4n FLOPS
RESPOSTA: 3n FLOPS
VIDA:
RESPOSTA: n(n+1)/2
VIDA:
RESPOSTA: 9n-10
VIDA:
RESPOSTA: 3n-3
VIDA:
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:
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
RESPOSTA: 1000
QUESTÃO 1: Quantos flops (+,-,*,/) são necessários para calcular
((x+2)*x+4), onde x é um vetor com 283 componentes
RESPOSTA: 849
RESPOSTA: 1192
VIDA: 3n
RESPOSTA: 1044
VIDA: 9^4
RESPOSTA: 6561
RESPOSTA: 2134
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?
RESPOSTA: 24084
RESPOSTA: 32 e 31
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?
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?
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?
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
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
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
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
RESPOSTA: 27 17
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
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
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?
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:
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
RESPOSTA: 11
SCILAB: 5*n-6
RESPOSTA: 1464
SCILAB: x=poly(0,"x")
y=x^7 + 12*x + 12
roots(y)
RESPOSTA: - 0.94423339
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
RESPOSTA: 9.0242608671482678062148
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
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
SCILAB:
RESPOSTA:
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
RESPOSTA: 1.6092897
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
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)
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
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
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
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
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
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
SCILAB:
RESPOSTA:
m 12 dígitos
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
for i=1:n
for j=1:n
V(i,j)=x(i)^(j-1)
end
end
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
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
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
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
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
RESPOSTA: 2.7182818
RESPOSTA: 1.634375
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.-')
RESPOSTA: L4(9)=0
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
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
RESPOSTA: 2,667512
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
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
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
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
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
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.
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)
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)
SCILAB: x=[0:0.1:1]'
b=sin(x)
A=[x^1]
c=(A'*A)\(A'*b)
disp(c)
RESPOSTA: y = 0.8945302x.
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)
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)
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)
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)
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)
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)
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
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
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
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
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);
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
SCILAB: x=[-2:0.1:2]'
b=exp(x/3)-1
A=[x^1]
c=(A'*A)\(A'*b)
disp(c)
RESPOSTA: 0.349137427371
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;
RESPOSTA: -0.307360278706
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;
//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
SCILAB:
RESPOSTA: -0.983636986551
QUESTÃO 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:
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:
function y=f(x)
y=cos(2*x)
endfunction
disp(simpson(2,3,64))
RESPOSTA: 0.2386935
QUESTÃO 4:
function y=f(x)
y=sin(cos(2*x))
endfunction
disp(simpson(2,3,100))
RESPOSTA: 0.2113779
QUESTÃO 5:
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:
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)
disp(riemann(0,2,256))
RESPOSTA: 9.0151934
QUESTÃO 9:
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)
disp(trapezio(0,2,32))
RESPOSTA: 9.0591045
QUESTÃO 10:
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)
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:
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:
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)
RESPOSTA: 1,98870892461
QUESTÃO 3:
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:
function y=f(x)
y=cos(x)+cos(3*x)
endfunction
disp(simpson(5,6,52))
RESPOSTA: 0,212417079056
QUESTÃO 5:
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:
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)
RESPOSTA: 0,0368794103436
QUESTÃO 9:
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)
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]
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]
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]
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]
Página 134
T10
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]
QUESTÃO 6:
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))
RESPOSTA: 0.7290668255193253344260
QUESTÃO 7:
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))
RESPOSTA: 1.4893639527612676509705
QUESTÃO 8:
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:
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))
RESPOSTA: 1.4893704422700360101572
Página 138
T10
QUESTÃO 10:
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;
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))
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:
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))
RESPOSTA: -0,024470463418
QUESTÃO 2:
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))
RESPOSTA: 0,00184996038604
QUESTÃO 3:
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
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))
RESPOSTA: 0.0588466049375
QUESTÃO 4:
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))
RESPOSTA: -0,00165904654237
QUESTÃO 5:
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))
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]
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]
RESPOSTA: 0.393518518519
QUESTÃO 8:
//Limites de integração
a=0
b=2
w=inv(A)*b
disp(w)
resposta=w(2)
disp(resposta)
RESPOSTA: 1,33333333333
QUESTÃO 9:
Página 152
M10
//Limites de integração
a=0
b=2
w=inv(A)*b
disp(w(4))
RESPOSTA: 0,375
QUESTÃO 10:
//Limites de integração
a=0
b=2
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.
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
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
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
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
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
RESPOSTA: 2.658666
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
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:
Página 166
T11
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.
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
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
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.
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
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
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
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
Página 171
M11
Aproxime u(2) com 7 dígitos significativos.
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:
x(1)=0
x(2)=-1
x(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
QUESTÃO 2:
x(1)=1
x(2)=0
x(3)=-1
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
RESPOSTA: [ 5, 8 , -1 ]/ 12
QUESTÃO 3:
x(1)=1
x(2)=-1
x(3)=-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
Página 174
T12
RESPOSTA: [ 8, 5 , -1 ]/ 12
QUESTÃO 4:
x(1)=0
x(2)=-1
x(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
RESPOSTA: [ 7, -2 , 1 ]/ 3
QUESTÃO 5:
x(1)=1
Página 175
T12
x(2)=0
x(3)=-1
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
RESPOSTA: [ 1, 4 , 1 ]/ 3
SCILAB:
QUESTÃO 7:
n=2
x(1)=-1
Página 176
T12
x(2)=0
x(3)=1
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:
n=1
x(1)=0
x(2)=1
x(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
Página 177
T12
S=c(1)^2+c(2)^2+c(3)^2
RESPOSTA: [ -3, 4 , -1 ]/ 2
QUESTÃO 9:
n=2
x(1)=-1
x(2)=0
x(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
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
x(1)=0
x(2)=1
x(3)=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)
RESPOSTA: [ 2, -3 , 1 ]/ 3
Página 179
T12
Página 180
T12
Página 181
T12
Página 182
T12
Página 183
M12
QUESTÃO 1:
x(1)=0
x(2)=-1
x(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
RESPOSTA: 1,91666666667
QUESTÃO 2:
x(1)=1
x(2)=-1
x(3)=-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
RESPOSTA: 0,583333333333
QUESTÃO 3:
x(1)=1
x(2)=-1
x(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
Página 185
M12
RESPOSTA: -0.222222222222
QUESTÃO 4:
x(1)=1
x(2)=-1
x(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(B)
RESPOSTA: 0,893218621712
QUESTÃO 5:
SCILAB: x(1)=1
Página 186
M12
x(2)=0
x(3)=-1
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
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:
n=1
x(1)=0
x(2)=1/4
x(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
Página 189
M12
disp(c)
RESPOSTA: -4,5
QUESTÃO 10:
n=1
x(1)=0
x(2)=1/3
x(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: 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