Escolar Documentos
Profissional Documentos
Cultura Documentos
Matrícula: 2015220230009
Prof. Leonidas Chaves de Resende
“a)”.
Solução:
A necessidade de obter um valor intermediário que não consta de uma tabela ocorre
comumente. Dados experimentais, tabelas estatísticas e de funções complexas são
essa função por uma outra função g( x) , escolhida entre uma classe de funções
1 CAMPOS FILHO, Frederico Ferreira. Algoritmos numéricos. 2.ed. Rio de Janeiro: LTC, 2012. 428 p.
pn ( x )=d 0+ d 1 ( x−x 0 ) + d 2 ( x−x 0 ) ( x−x 1 ) +…+d n ( x−x 0 ) ( x−x 1 ) … ( x−x n−1)
dk k =0,1, … ,n
Onde os coeficientes , acima, são diferenças divididas de ordem
x
f (¿¿ j )
k entre os pontos j=0,1,… ,k .
xj ,¿ ,
¿
x1 , x
x2 , x1 , x
f [¿¿ 0 ]( x−x 0 )( x −x1 )
f [¿¿ 0] ( x−x 0 ) +¿
p2 ( x )=f ( x 0 ) +¿
p2 ( 1,9 ) =0,2675 A
Portanto, quando U=1,9 V , estima-se que a corrente seja I =0,2675 A .
x−x
x−x
x−x
(¿¿ 0)
( ¿¿ 0)… ¿ M n+1
b) O erro de truncamento é dado por: , onde é o maior valor
M n+1
(¿¿ 0)¿
( n+1 ) !
¿
|En (x )|≤¿
em módulo das diferenças divididas de ordem ( n+1 ) . Dessa forma, para calcular o
M
Para |E2 ( x )|≤|( x−x 0 ) ( x−x 1 ) ( x−x 2)| 3 !3 , onde
M3
é o maior valor em módulo das
M 3=0,275
diferenças divididas de ordem 3, ou seja, , a inequação nos fornece a
%% Dados de entrada
U=[1 1.5 1.7 2 2.5]; % Tensão
I=[0.11 0.14 0.18 0.30 0.35]; % Corrente
for j=1:r
k=0;
for i=s:r-1
k=k+1;
Num=Tab(i+1,j+1)-Tab(i,j+1);
Den=Tab(i+1,1)-Tab(k,1);
Tab(i+1,j+2)=Num/Den;
end
s=s+1;
end
%% Erro de truncamento
n=2; % Grau do polinômio interpolador
M=max(abs(Tab(:,n+2+1)));
E=(abs((1.9-1.7)*(1.9-2)*(1.9-2.5))*M)/factorial(n+1);
t = linspace(1,2.5,1000);
PN=-0.375.*t.^2+1.7875.*t-1.775;
plot(t,PN,'r'); % Plotando polinômio interpolador de Newton
2ª Questão
A velocidade do som na água varia com a temperatura de acordo com a tabela a
seguir:
Temp. (ºC) 86,0 93,3 98,9 104,4 110,0
Vel. (m/s) 1552 1548 1544 1538 1532
m
p2 ( 100 ) =1542,79
s
m
1542,79
água seja de s .
%% Dados de entrada
Temp=[86 93.3 98.9 104.4 110]; % Temperatura
Vel=[1552 1548 1544 1538 1532];% Velocidade
%% Erro de truncamento
n=2; % Grau do polinômio interpolador
M=max(abs(Tab(:,n+2+1)));
E=(abs((1.9-1.7)*(1.9-2)*(1.9-2.5))*M)/factorial(n+1);
3ª Questão
A curva de carga típica de uma cidade é dada pela figura:
Solução:
No intuito de comparar os métodos apresentados a seguir, foi considerado que a
potência na hora zero é igual à potência na hora 24, ou seja, 30MW, pois o número
de subintervalos no Método de Simpson deve ser par para a primeira regra
composta e um múltiplo de 3 para a segunda regra composta.
A figura 3 mostra a curva de carga típica da cidade.
%% Dados de entrada
Pot=[30 30 28 29.8 32 33 38 40 39 33 32.5 31 39 42 38 34 30 29 31 39 45 50
44 40 30]; % Potências
Hora=0:1:24; % Hora
%% Dados de entrada
Pot=[30 30 28 29.8 32 33 38 40 39 33 32.5 31 39 42 38 34 30 29 31 39 45 50
44 40 30]; % Potências
Hora=0:1:24; % Hora
for i=1:n
if (i==1||i==n)
Soma=Soma+Pot(i);
else
Soma=Soma+2*Pot(i);
end
end
R=(h/2)*Soma;
%% Imprimindo resultados
disp(['A estimativa de consumo de energia diário dessa cidade utilizando a
Regra dos Trapézios Composta é: ',num2str(R),' MW.'])
disp(' ')
%% Dados de entrada
Pot=[30 30 28 29.8 32 33 38 40 39 33 32.5 31 39 42 38 34 30 29 31 39 45 50
44 40 30]; % Potências
Hora=0:1:24; % Hora
for i=1:n
if (i==1||i==n)
Soma=Soma+Pot(i);
else
k=mod(i,2); % Retorna 0 (ímpar) ou 1 (par)
switch k
case 0
Soma=Soma+4*Pot(i);
case 1
Soma=Soma+2*Pot(i);
end
end
end
R=(h/3)*Soma;
%% Dados de entrada
Pot=[30 30 28 29.8 32 33 38 40 39 33 32.5 31 39 42 38 34 30 29 31 39 45 50
44 40 30]; % Potências
Hora=0:1:24; % Hora
for i=1:n
if (i==1||i==n)
Soma=Soma+Pot(i);
else
j=j+1;
if j<=2
Soma=Soma+3*Pot(i);
else
j=0;
Soma=Soma+2*Pot(i);
end
end
end
R=(3*h/8)*Soma;
%% Dados de entrada
Pot=[30 30 28 29.8 32 33 38 40 39 33 32.5 31 39 42 38 34 30 29 31 39 45 50
44 40 30]; % Potências
Hora=0:1:24; % Hora
for j=1:n-1
for i=s:n-1
Tab(i+1,j+2)=Tab(i+1,j+1)-Tab(i,j+1);
end
s=s+1;
end
% Valor de F(t0)
R0=A0*subs(P,'t',t0);
% Valor de F(t1)
R1=A1*subs(P,'t',t1);
R=R+R0+R1;
end
4ª Questão
π
2
| |
3
(b−a)
max|f (x)| ,
''
Regra do Trapézio – Fórmula Composta: ET ≤ 2
12 n
a≤x ≤b ;
−( b−a )5 ( IV )
Primeira Regra de Simpson – Fórmula Composta: ET = f (c ) ,
180 n 4
c ∈[a , b] ;
Solução:
a) O algoritmo desenvolvido no Matlab para calcular o valor aproximado da integral
dada usando a regra dos trapézios composta é mostrado a seguir.
clear all
close all
clc
%% Dados de entrada
x0=0.0; % Limite inferior de integração
xn=pi/2; % Limite superior de integração
n=30; % Número de intervalos de integração
h=(xn-x0)/n; % Passo de integração
f=@(x)exp(x)*sin(x);
for i=1:n-1,
R=R+f(x0+i*h);
end
R=h/2*(f(x0)+2*R+f(xn));
% Imprimindo resultados
disp(['O valor aproximado da integral calculado utilizando a Regra dos
Trapézios Composta é: ',num2str(R),'.'])
disp(' ')
%% Erro de Truncamento
syms x
f=exp(x)*sin(x);
d2=diff(f,2); % calculando a derivada segunda
d21=abs(2*exp(x0)*sin(x0));
d22=abs(2*exp(xn)*sin(xn));
maior=max(d21,d22);
et=abs((h^3)/(12*n^2))*maior;
resultado:
π
2
x
I =∫ e sen ( x ) dx=2,9061
0
%% Dados de entrada
x0=0.0; % Limite inferior de integração
xn=pi/2; % Limite superior de integração
n=30; % Número de intervalos de integração
h=(xn-x0)/n; % Passo de integração
f=@(x)exp(x)*sin(x);
for i=1:2:n-1,
Soma_Impares=Soma_Impares+f(x0+i*h);
end;
for i=2:2:n-2,
Soma_Pares=Soma_Pares+f(x0+i*h);
end;
R=h/3*(f(x0)+4*Soma_Impares+2*Soma_Pares+f(xn));
% Imprimindo resultados
disp(['O valor aproximado da integral calculado utilizando a Primeira Regra
de Simpson Composta é: ',num2str(R),'.'])
disp(' ')
%% Erro de Truncamento
syms x
f=exp(x)*sin(x);
d2=diff(f,4); % calculando a derivada segunda
d21=abs((-4)*exp(x0)*sin(x0));
d22=abs((-4)*exp(xn)*sin(xn));
maior=max(d21,d22);
et=abs((h^5)/(180*n^4))*maior;
resultado:
π
2
I =∫ e x sen ( x ) dx=2,9052
0
Assim como para a Regra dos Trapézios Composta, observou-se que o aumento de
n .
5ª Questão
As técnicas vistas para a integração numérica podem ser estendidas para a
aproximação de integrais múltiplas. Para exemplificar, seja a integral dupla.
∬ f ( x , y ) dA
R
onde R= {( x , y )|a ≤ x ≤ b , c ≤ y ≤ d } .
R a
(
∬ f ( x , y ) dA=∫ ∫ f ( x , y ) dy
c
) dx
d 5 4
k k ∂ f ( x , μ)
∫ f ( x , y ) dy = 3 [ f ( x , y 0 ) + 4 f ( x , y1 ) + f ( x , y 2 ) ] − 90 ∂ y 4
c
y 2=d μ ∈( y 0 , y 2) .
e
Cada integral acima também pode ser calculada numericamente pela Primeira
Regra de Simpson:
b 5 4
h ∂ f (ξ , y j)
∫ f ( x , y ) dy = 3h [ f ( x0 , y j ) + 4 f ( x 1 , y j ) + f ( x 2 , y j ) ] − 90 ∂y
4
a
x 2=b
, ξ ∈( x 0 , x 2 ) e j=1,2,3 .
Resultando em:
b d
(
∫ ∫ f ( x , y ) dy
a c
) dx ≈
hk
9 {[ 0 0
f ( x , y ) + 4 f ( x1 , y 0 ) +f ( x 2 , y 0 ) ]+ 4 [ f ( x 0 , y 1 ) + 4 f ( x 1 , y 1 ) + f ( x 2 , y 1 ) ] + [ f ( x0 , y 2 ) +4
a) ∫∫ 2
[2∙ y ∙ sen ( x ) + cos ( x ) ]dy dx
0 sen( x)
1 2x
b) ∫∫ ( x 2+ y 3 )dy dx
0 x
1 2x
c) ∫∫ ( y 2 + x3 ) dy dx
0 x
Solução:
a) O algoritmo desenvolvido no Matlab para calcular o valor aproximado da integral
dada, usando a expressão desenvolvida a partir da primeira regra de Simpson no
enunciado da questão, é mostrado a seguir.
clc
clear all
close all
%% Dados de entrada
syms x y;
f=2*y*sin(x)+(cos(x))^2; % Função F(x,y)
lim_x=[0 pi/8 pi/4]; % Limites da integral em x
lim_y=[sin(x) (cos(x)+sin(x))/2 cos(x)]; % Limites da integral em y
Soma=0;
% Variação de x0 em relação y0, y1, y2
for i=1:3
for j=1:3
f_x_y(j)=subs(f_y(j),'x',lim_x(i));
if (j==2)
f_x_y(j)=4*f_x_y(j);
end
end
k=subs((lim_y(3)-lim_y(1))/2,'x',lim_x(i));
if (i~=2)
Soma=Soma+k*sum(f_x_y);
else
Soma=Soma+4*k*sum(f_x_y);
end
end
h=lim_x(2);
R=(h/9)*Soma;
%% Imprimindo resultados
disp(['O valor aproximado da integral calculado utilizando a expressão dada
é: ',num2str(R),'.'])
disp(' ')
disp(['O valor da integral calculado através do Matlab é:
',num2str(eval(Int)),'.'])
disp(' ')
disp(['Portanto, o erro cometido é: ',num2str(eval(Erro)),'%.'])
disp(' ')
%% Dados de entrada
syms x y;
f=x^2+y^3; % Função F(x,y)
lim_x=[0 0.5 1]; % Limites da integral em x
lim_y=[x 1.5*x 2*x]; % Limites da integral em y
Soma=0;
% Variação de x0 em relação y0, y1, y2
for i=1:3
for j=1:3
f_x_y(j)=subs(f_y(j),'x',lim_x(i));
if (j==2)
f_x_y(j)=4*f_x_y(j);
end
end
k=subs((lim_y(3)-lim_y(1))/2,'x',lim_x(i));
if (i~=2)
Soma=Soma+k*sum(f_x_y);
else
Soma=Soma+4*k*sum(f_x_y);
end
end
h=lim_x(2);
R=(h/9)*Soma;
%% Imprimindo resultados
disp(['O valor aproximado da integral calculado utilizando a expressão dada
é: ',num2str(R),'.'])
disp(' ')
disp(['O valor da integral calculado através do Matlab é:
',num2str(eval(Int)),'.'])
disp(' ')
disp(['Portanto, o erro cometido é: ',num2str(eval(Erro)),'%.'])
disp(' ')
∫∫ ( x 2+ y 3 ) dy dx=1,0313
0 x
%% Dados de entrada
syms x y;
f=y^2+x^3; % Função F(x,y)
lim_x=[0 0.5 1]; % Limites da integral em x
lim_y=[x 1.5*x 2*x]; % Limites da integral em y
Soma=0;
% Variação de x0 em relação y0, y1, y2
for i=1:3
for j=1:3
f_x_y(j)=subs(f_y(j),'x',lim_x(i));
if (j==2)
f_x_y(j)=4*f_x_y(j);
end
end
k=subs((lim_y(3)-lim_y(1))/2,'x',lim_x(i));
if (i~=2)
Soma=Soma+k*sum(f_x_y);
else
Soma=Soma+4*k*sum(f_x_y);
end
end
h=lim_x(2);
R=(h/9)*Soma;
%% Imprimindo resultados
disp(['O valor aproximado da integral calculado utilizando a expressão dada
é: ',num2str(R),'.'])
disp(' ')
disp(['O valor da integral calculado através do Matlab é:
',num2str(eval(Int)),'.'])
disp(' ')
disp(['Portanto, o erro cometido é: ',num2str(eval(Erro)),'%.'])
disp(' ')
Essa rotina fornece o seguinte resultado:
1 2x
∫∫ ( y 2 + x3 ) dy dx=0,79167
0 x