Você está na página 1de 39

PROBLEMAS DE VALORES DE CONTORNO E

AUTOVALORES
PROBLEMAS DE VALORES DE CONTORNO E
AUTOVALORES
Discutir-se- trs novos tipos de problemas relacionados s EDO:
problemas de valor de contorno (PVC), problemas de autovalor (PAV) e
problemas de contorno livre (PVL).
Definio 1: Denomina-se problema de valores de contorno
(PVC) a um problema do tipo:

2
2 1 0 0
2
0 0
, ,
,
n
n n
d y dy
a x a x a x y g x x x x
dx
dx
y x y y x y
Os valores prescritos na equao acima,
0 0
y x y e
n n
y x y , so
denominados de condies de contorno, enquanto
0
,
n
x x o espao
de definio ou validade da varivel dependente, e , 0,..., 2
i
a x i e g x
so funes contnuas no intervalo de definio de x , isto , em
0
,
n
x x .
Um problema de valor de contorno para uma EDO de qualquer
ordem (ou para um sistema de EDOs) , como na definio acima,
aquele no qual as variveis dependentes so obrigadas a satisfazer
condies especficas em mais de um ponto. Assim, uma equao de
n-sima ordem tem uma soluo geral dependente de n parmetros,
isto , do nmero total de condies de contorno requerido para
determinar sua soluo nica. bvio que se o nmero de pontos
de contorno for superior ou inferior a n poder no haver soluo
ou uma infinidade de solues.
Quando as restries que acompanham as n equaes de um
sistema de equaes diferenciais ordinrias de um envolvem apenas
os pontos iniciais (
0
x x y ) e os pontos finais do espao de definio
(
n
x x y ), mas nenhum outro ponto intermedirio; esta uma
caracterstica que distingue os problemas ditos problemas de
valores de contorno de 2 pontos PVC-2p.
Tomando a equao inicialmente dadas, pode-se verificar que
existem outros pares de condies de contorno como

0 0
0 0
0 0
, ;
, ;
, ;
n n
n n
n n
y x y y x y
y x y y x y
y x y y x y

Ou ainda uma combinao destes

1 0 1 0 1
2 2 2 n n
y x y x
y x y x

Com
1 2 1 2 1 2
, , , , , constantes e mais
1 2
0 e
1 2
0 .
Mtodo do Chute ou por Tentativa
A idia deste mtodo a de resolver o PVC
Erro! Fonte de referncia no encontrada., por exemplo,
transformando-o em um PVI da forma:

2
2 1 0 0
2
2
1 0
2
2 2
0 0 0 1
, ,
,
,
n
i
i
d y dy
a x a x a x y g x x x x
dx
dx
a x g x
d y dy
p x p x y f x p x f x
dx a x a x
dx
y x y y x m
(0.0.1)
Onde
1
m simplesmente um valor tentativo (ou chute) para a
inclinao da curva soluo no ponto conhecido
0 0
, x y x ou
0 0
, x y . A
partir da, aplica-se os mtodos j estudados para soluo de PVI
(mtodo de Euler ou de Runge-Kutta) em (0.0.1) para se achar uma
aproximao de
n
u para
n
y x .
Se
1
n
u se ajusta ao valor de
n n
y x y dentro de uma tolerncia (ou
erro) admissvel, o processo para; caso contrrio repetimos o
processo, iniciando com um novo valor tentativa igual a
0 2
y x m
para obter uma nova aproximao
2
n
u para
n
y x . O mtodo continua
por tentativa-e-erro at que e tenha sucesso.
Outro procedimento para este mtodo aquele onde se substitui a
equao dada por um sistema equivalente de primeira ordem e em
seguida se utiliza um mtodo do tipo preditor-corretor (vide seo
13.5.3, por exemplo).
O teorema a seguir garante as condies com as quais a soluo de
PVC existe e nica.
Teorema: Suponha que uma funo f que esteja num
PVC
0 0
, , , , 0,
n n
y f x y y x x x y x y y x yn
seja contnua no domnio definido como
0
, , | , ,
n
x y y x x x y y
e mais, que as derivadas parciais
y
f e
y
f tambm sejam contnuas em
. Se
1 - , , 0, , ,
y
f x y y x y y
2 existir uma constante M em que , , , , ,
y
f x y y M x y y
ento o PVC original tem soluo e nica.
Exemplo
Seja resolver pelo mtodo do chute o seguinte PVC:

2
1 1
2 4 . . , 0 , 1
4 3
0, 1
y x y x x y x y x com y y
x
(0.0.1)
Soluo:
A soluo exata de (0.0.1) conhecida e dada por:

2
2 2
2
1 2
, 2 .
4
4
x
y x y x x y x
x
x
(0.0.2)
Note que a equao diferencial de segunda ordem (0.0.1) pode ser escrita na forma de equaes de estado:

2 1 1 0
2
2 2 1 1 2
0 1 / 4
,
1 1 / 3 2 4 . .
n
y x y x y y
y x y y y x x y x y x
(0.0.3)
Para aplicar o mtodo do chute necessrio estabelecer ou chutar o valor inicial de
2
0 y y x . Para isso far-se-

1
0
2 0 2
0
1 / 3 1 / 4
1
0
1 0 12
n
n
y y
y x u
x x
(0.0.4)
e resolve-se as equaes de estado com a condio inicial
1
1 2 2
0 0 y y u para se encontrar o valor aproximado
1
1
u de
1
1 y ; calcula-se o desvio
1 1
1 1
1
n
e u y x . Dependendo de valor de
1
e ser positivo ou negativo, faz-
se o novo valor tentativa,
2
2
u , maior ou menor que o chute anterior e resolve-se novamente as equaes de estado com uma
nova condio inicial
2
1 2 2
0 0 y y u . Repete-se o processo at que o desvio
1 1
1
k k
n
e u y x se tornar
suficientemente pequeno que atenda a tolerncia desejada.
% Soluo de PVC2 pelo mtodo do Chute
% ====================================
clc; clear; %limpa tela e limpa variveis
% Valores iniciais
x0 = 0; xf = 1; %valores inicial e final dos x
y0 = 1/4; yf = 1/3; %condies de contorno
N = 100; %numero de pontos em x(x0,xf)
tol = 1e-8; %tolerncia ou erro mximo permitido
kmax = 10; %numero max de iteraes
%
[x,y,k] = bvp2_shoot('df1',x0,xf,y0,yf,N,tol,kmax);
%
fprintf('\n Soluo de PVC pelo Mtodo do Chute\n');
fprintf('\n Nmero efetivo de iteraes k = %3d\n',k);
%
y(:,k+1) = 1./(4 - x.*x); % soluo exata do PVC em y(:,k+1)
err = norm(y(:,1) - y(:,k+1))/(N + 1); % erro
%
str = char(sprintf(' k= 1 '));
for n=2:k
str = strvcat(str,char(sprintf(' k=%2d ',n))); % string para legenda
end
str = strvcat(str,char('exata')); % string para legenda
plot(x,y), hold on, % criao da figura
xlabel('0 \leq x \leq 1')
ylabel('Soluo de PVC2')
axis([x0 xf 0.24 0.45])
title('Soluo PVC pelo Mtodo do Chute')
legend(str,2);
%
fprintf('\n ----x---- ---y+aprox--- ---y.exato--- -----erro-----\n');
for i = 1:N+1
fprintf(' %8.4f %12.11f %12.11f %12.9e\n',x(i),y(i,k),y(i,k+1),y(i,k+1)-y(i,k));
funo para o calculo do problema
function [x,aux,k] = bvp2_shoot(f,x0,xf,y0,yf,N,tol,kmax)
%========================================================
%Para resolver BVP2: [y1,y2] = f(x,y1,y2) com y1(x0) = y0, y1(xf) = yf
% ======= entradas =======
% f = funo dada
% x0 = valor inicial do x em (xo, xf) % xf = valor final de x em (x0,xf)
% y0 = valor de y em x0 % yf = valor de y em xf
% N = numero de intervalos entre xo e xf % tol = erro maximo permitido
% kmax = numero mximo de iteraes
% ======= saidas ========
% x = array com os pontos x
% aux = array com tantas colunas quantas forem as iteraes
% cada coluna contem a k-esima soluo encontrada
% k = nmero de iteraes realizadas
if nargin < 8, kmax = 10; end % valor default para kmax
if nargin < 7, tol = 1e-8; end % valor default para tol
if nargin < 6, N = 100; end % valor default para N
% chute inicial para y(x0)
dy0(1) = (yf - y0)/(xf-x0);
[x,y] = ode_RK4(f,[x0 xf],[y0 dy0(1)],N); % executa RK4
aux(:,1) = y(:,1); % faz y = aux
e(1) = y(end,1) - yf; % y(xf) - yf = desvio ou erro em tf
dy0(2) = dy0(1) - 0.1*sign(e(1));
for k = 2: kmax-1
[x,y] = ode_RK4(f,[x0 xf],[y0 dy0(k)],N);
aux(:,k) = y(:,1);
%diferena entre o resultado final avaliado e o objetivo a atingir
e(k) = y(end,1) - yf; % y(xf)- yf
ddy = dy0(k) - dy0(k - 1); % diferena entre derivadas sucessivas
% teste do erro
if abs(e(k))< tol | abs(ddy)< tol, break; end
deddy = (e(k) - e(k - 1))/ddy; % o gradiente do erro
dy0(k + 1) = dy0(k) - e(k)/deddy; % move pelo mtodo da secante
Escreveu-se uma nova rotina de Runge-Kutta para favorecer o
processo, mas ela semelhante apresentada na seo 13.4.
function [t,y] = ode_RK4(f,tspan,y0,N,varargin)
% =============================================
% Mtodo de Runge-Kutta mtodo para resolver eq.dif. y(t) = f(t,y(t))
% f = equao diferencial do tipo y(t) = f(t,y(t))
% tspan = [t0,tf] - intervalo de variao da varivel independente
% y0 = valores iniciais (yo e dy(incremento))
% N = nmero de passos no tempo ou na varivel independente
% varargin -- permite variar de numero de variveis de entrada
%
if nargin < 4 | N <= 0, N = 100; end
if nargin < 3, y0 = 0; end
y(1,:) = y0(:)'; %faz y um vetor linha
h = (tspan(2) - tspan(1))/N; t = tspan(1)+[0:N]'*h;
for k = 1:N
f1 = h*feval(f,t(k),y(k,:),varargin{:});
f1 = f1(:)';
f2 = h*feval(f,t(k) + h/2,y(k,:) + f1/2,varargin{:});
f2 = f2(:)';
f3 = h*feval(f,t(k) + h/2,y(k,:) + f2/2,varargin{:});
f3 = f3(:)';
f4 = h*feval(f,t(k) + h,y(k,:) + f3,varargin{:});
f4 = f4(:)';
y(k + 1,:) = y(k,:) + (f1 + 2*(f2 + f3) + f4)/6;
end

function dy = df1(x,y)
dy(1) = y(2);
DY(2) = (2*Y(1) + 4*X*Y(2))*Y(1);
Os resultados da execuo destes programas e funes a seguinte:
Soluo de PVC pelo Mtodo do Chute

Nmero efetivo de iteraes k = 6

----x---- ---y+aprox--- ---y.exato--- -----erro-----
0.0000 0.25000000000 0.25000000000 0.000000000e+000
0.0100 0.25000625016 0.25000625016 -9.556799796e-013
0.0200 0.25002500250 0.25002500250 -1.905808844e-012
0.0300 0.25005626266 0.25005626266 -2.850331082e-012
0.0400 0.25010004002 0.25010004002 -3.789579761e-012
0.0500 0.25015634772 0.25015634772 -4.723665903e-012
0.0600 0.25022520269 0.25022520268 -5.652756041e-012
0.0700 0.25030662562 0.25030662562 -6.576961198e-012
0.0800 0.25040064103 0.25040064103 -7.496392396e-012
.............. ............... ............ ............
0.9100 0.31526845112 0.31526845109 -3.333466836e-011
0.9200 0.31709791987 0.31709791984 -3.083100442e-011
0.9300 0.31896909192 0.31896909189 -2.807720723e-011
0.9400 0.32088307023 0.32088307021 -2.505373686e-011
0.9500 0.32284100083 0.32284100081 -2.173933256e-011
0.9600 0.32484407486 0.32484407484 -1.811079064e-011
0.9700 0.32689353079 0.32689353078 -1.414290907e-011
0.9800 0.32899065668 0.32899065667 -9.808487356e-012
0.9900 0.33113679261 0.33113679261 -5.077827048e-012
1.0000 0.33333333333 0.33333333333 8.137934771E-014

Grfico de Sada do Programa de Soluo de PVC
pelo Mtodo do Chute
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0.24
0.26
0.28
0.3
0.32
0.34
0.36
0.38
0.4
0.42
0.44
0 x 1
S
o
l
u

o

d
e

P
V
C
2
Soluo PVC pelo Mtodo do Chute
k= 1
k= 2
k= 3
k= 4
k= 5
k= 6
exata
Mtodo do Chute para problemas no-lineares
A idia deste mtodo a de resolver o PVC no linear

0 0
, , , , 0,
n n
y f x y y x x x y x y y x yn (0.0.1)
De maneira similar tcnica para problemas lineares vistos na seo
anterior, exceto naquilo em que o problema no linear no pode ser
expresso como uma combinao linear de dois PVI. Em vez disso,
aproxima-se a soluo do PVC pela aproximao de uma seqncia
de PVI envolvendo um parmetro, t , por exemplo. Assim, o
problema tem a seguinte forma:

0 0 0
, , , , 0,
n
y f x y y x x x y x y y x t (0.0.2)
Faz-se isto pela escolha do parmetro
k
t t de maneira a assegurar
que
lim ,
n k n
k
y x t y x yn
onde ,
k
y x t denota a soluo do PVI (0.0.2) com
k
t t , e y x representa
a soluo do PVC (0.0.1).
A soluo numrica do problema inicia-se com um chute para o
parmetro
0
t , que determina a inclinao inicial no ponto
0 0 0
, x y y x
e ao longo da curva descrita pela soluo do PVI (0.0.2).
Se nesta soluo o valor no ponto
0
,
n
y x t no for suficientemente
prximo do valor de
n
y x yn , corrige-se a inclinao
1 2
, , t t at que
,
n k
y x t seja igual a yn com to pequeno quanto desejvel.
Para determinar os parmetros
k
t , supondo-se que (0.0.1) satisfaz ao
ultimo teorema apresentado, e como ,
k
y x t denota a soluo do PVI
(0.0.2) ento a equao no-linear
, 0
n
y x t yn (0.0.3)
deve ser resolvida.
Mtodo das Diferenas Finitas
No captulo 9 (no volume 1 desta obra) estudou-se as diversas
espcies de diferenas finitas que se aplicar aqui neste seo.
Este mtodo consiste em escrever a EDO dada e suas condies de
contorno na forma de equaes em diferenas finitas e resolver o
sistema de equaes algbricas resultante.
Para se melhor visualizar este mtodo, seja um problema de valores
de contorno PVC resolvido pelo mtodo das diferenas finitas,
assim seja a EDO e as suas condies de contorno as seguintes:
, , , ,
a b
u f x x a b e u a u u b u (0.0.1)
Onde pode-se colocar o operador em forma aberta, por exemplo,
no caso de uma equao homognea
Os valores das condies so dados nas bordas ou contorno, isto ,
em 5
a
r cm e 8
b
r cm . Neste mtodo as derivadas que aparecem nas
equaes so substitudas por aproximaes em diferenas finitas
divididas, tais como:

1
2
1 1
2 2
2
i i
i i i
y y
dy
dx x
y y y
d y
dx
x
(0.0.1)
Tais substituies convertem a EDO dada em uma equao linear
(porm com mais de uma incgnita). Escrevendo a equao linear
resultante em diferentes pontos nos quais a EDO original vlida,
ter-se- um sistema de equaes lineares simultneas que podem
ser resolvidas pelo mtodo de Gauss ou pelo de Gauss-Seidel, ou
outro qualquer.
Para ilustrar o mtodo em epgrafe, seja um exemplo fsico da
soluo das equaes acima.
Exemplo
Seja o caso de um vaso de presso que esteja sendo testado em
laboratrio para checar sua capacidade de suportar presso. Para um
vaso de parede espessa com raio interno a e raio externo b , a equao
diferencial para o deslocamento u em qualquer ponto de sua
espessura dada por:
2
2 2
1
0
d u du u
r dr
dr r

Assumindo que o raio interno 5 a cm e o raio externo 8 b cm , e que
o material do vaso de presso um ao cuja resistncia fluncia de
2
25 / kN cm . Dois medidores de tenso so colocados nas bordas
tangencialmente aos raios interno e externo de modo a medir a tenso
normal tangencial cujas medidas, na presso mxima, foram:

/
/
0,00444
0,00098
t r a
t r b
(0.0.1)
Assim o deslocamento radial e a deformao tangencial so
relacionados por:
t
u
r
(0.0.1) , ento

/
/
0,004435 5 0,022175
0,000977 8 0,007816
r a t a a
r b t a b
u a cm cm
u b cm cm
(0.0.2)
As duas condies de contorno vo permitir a soluo do PVC e
determinar o deslocamento radial como uma funo da localizao
radial. Como se sabe a tenso normal mxima no vaso de presso no
raio interno r a dado por:

max
2
1
r a r a
E u du
r dr
(0.0.3)
onde E mdulo Youngs do ao (E= 20 kN/cm2);
coeficiente de Poissons ( 0.3);
Tendo-se calculado a tenso mxima pode-se calcular o fator de
segurana, FS como
max
Tenso de Escoamento do ao
FS (0.0.4)
As localizaes radiais desde r a at r b so divididas em n
segmentos igualmente espaados, resultando em 1 n ns.
Isso permitira encontrar a varivel dependente u numericamente
nestes ns. O procedimento numrico assim realizado o nosso
conhecido mtodo das diferenas finitas e neste caso determinado
da seguinte forma:
No n i no vaso de presso,
2
1 1
2 2
2
i i i
u u u
d u
dr
r
(0.0.1)
1 i i
u u
du
dr r
(0.0.2)
Substituindo essas aproximaes (0.0.1) e (0.0.2) na equao original
se tem

1 1 1
2 2
2
1
0
i i i i i i
i
i
u u u u u u
r r
r
r
(0.0.3)

1 1
2 2 2 2
1 1 2 1 1 1
0
i i i
i i
i
u u u
r r r r
r
r r r
(0.0.4)
Seja ento dividir a espessura, b a , do vaso de presso em 1 n ns,
isto , em r a o n 0 i e em r b o n i n . Isto significa que se
tm 1 n incgnitas.
Pode-se agora escrever a equao acima para cada um dos ns 1,..., 1 n
. Isto produzira 1 n equaes. Nos ns de borda, 0 i e i n , usa-se
as condies de contorno dadas,
0 r a
n r b
u u
u u

Isso gera um total de 1 n equaes. Assim se tm 1 n incgnitas e
1 n equaes lineares. Dessa forma se pode solucionar este sistema
por qualquer mtodo numrico j estudado.
Como exemplo numrico far-se- os clculos para 5, n com um total
de 6 ns. Assim,
8 5
0, 6
5
b a
r cm
n
.
No n
0
0, 5 i r a cm
0
5 0.022175 ; u u cm (0.0.1)
No n
1 0
1, 5 0.6 5.6 i r r r cm

0 1 2
2 2 2 2
0 1 2
1 2 1 1 1 1
0
5.6 0.6 5.6 0.6
0.6 0.6 0.6
5.6
2.7778 5.8851 3.0754 0
u u u
u u u
(0.0.2)
No n
2 1
2, 5.6 0.6 6.2 i r r r cm

1 2 3
2 2 2 2
1 2 3
1 2 1 1 1 1
0
6.2 0.6 6.2 0.6
0.6 0.6 6.2 0.6
2.7778 5.8504 3.0466 0
u u u
u u u
(0.0.1)
No n
3 2
3, 6.2 0.6 6.8 i r r r cm

2 3 4
2 2 2 2
2 3 4
1 2 1 1 1 1
0
6.8 0.6 6.8 0.6
0.6 0.6 6.8 0.6
2.7778 5.8223 3.0229 0
u u u
u u u
(0.0.2)
No n
4 3
4, 6.8 0.6 7.4 i r r r cm

3 4 5
2 2 2 2
3 4 5
1 2 1 1 1 1
0
7.4 0.6 7.4 0.6
0.6 0.6 0.6
7.4
2.7778 5.7990 3.0030 0
u u u
u u u
(0.0.3)
No n
5 4
5, 7.4 0.6 8 i r r r cm

5
8 0, 007816
r b
u u u (0.0.4)

0
1
2
3
4
5
1 0 0 0 0 0 0.022175
2.7778 5.8851 3.0754 0 0 0 0
0 2.7778 5.8504 3.0466 0 0 0
0 0 2.7778 5.8223 3.0229 0 0
0 0 0 2.7778 5.7990 3.0030 0
0 0 0 0 0 1 0.007816
u
u
u
u
u
u

As equaes formam uma matriz tridiagonal; resolvendo o sistema:
0
1
2
3
4
5
0.022175
0.0184398476
0.0152574078
0.0124859615
0.0100284448
0.007816
u
u
u
u
u
u
u


Para achar a tenso mxima aplica-se a equao

max
2
1
r a r a
E u du
r dr
. . . tenso mxima;

3 2
20 10 / E N cm . . . mdulo de elasticidade;
0.3 . . . coeficiente de Poisson;
0
0.022175
r a
u u
1 0
0.0184398476 0.022175
0,006225254
0.6
r a
u u du
dr r

Logo a tenso mxima no vaso de presso
3
2
max
2
20 10 0.022175
0.3 0,006225254 56,43 N/cm
5
1 0.3

O fator de segurana FS dado
25000
443,05
56,43
FS
A equao diferencial tem uma soluo exata dada por

2
1
C
u C r
r
(0.0.1)
onde
1
C e
2
C so determinadas usando-se as condies de contorno em
r a e r b .
2
1
1
2 2
1
( ) ( 5) 0.022175 (5)
0.0012397
5
0.141867
( ) ( 8) 0.007816 (8)
8
C
u r a u r C
C
C C
u r b u r C

Assim,
2
0.141867
0.0012397
0.141867
0.0012397
u r
r
du
dr
r

max
2
3
2 2
2
1
0.141867
0.0012397 5
20 10 0.141867
5
0.3 0.0012397
5
1 0.3 5
21978,02 0,00443498-0,002074314
51,88 N/cm
r a r a
E u du
r dr

O erro real 56, 43 51,88 4,55
t
E
O erro relativo absoluto real
4,55
100 8,06%
56, 43
t

A aproximao
1 i i
y y
dy
dx x
tem uma preciso de primeira orem, e o
erro real da ordem de ( ) O x .
Procedendo a programao em Matlab do problema acima se tem:
% =========================================================
% Calculo do vaso de presso de paredes grossas
% =========================================================
%
clc; clear;
fprintf('\n Problema do Vaso de Presso de paredes grossas \n');
a = input('Raio interno do tubo = ');
if a == 0 % se nulo, pega os ltimos dados fornecidos
load ('dvp');
fprintf('\n Raio interno do tubo =
%+15.12f',a);
fprintf('\n Raio externo do tubo =
%+15.12f',b);
fprintf('\n Modulo de Young do material do tubo =
%+15.12f',E);
fprintf('\n Tenso escoamento ao =
%+15.12f',gs);
fprintf('\n Coeficiente de Poisson =
%+15.12f',ni);

fprintf('\n Nmero de segmentos =
%+15.12f',n);
fprintf('\n Condio de contorno em r=a =
%+15.12f',u0);
fprintf('\n Condio de contorno em r=b =
%+15.12f',un);
fprintf('\n Passo entre pontos = %+15.12f
\n',h);
else
b = input('Raio externo do tubo = ');
E = input('Modulo de Young do material do tubo = ');
gs = input('tenso escoamento ao = ');
ni = input('Coeficiente de Poisson = ');
n = input('Nmero de segmentos = ');
u0 = input('condio de contorno em r=a = ');
un = input('condio de contorno em r=b = ');
h = (b-a)/n
save ('dvp')
end
%
c = zeros(n+1,n+1); % matriz dos coeficientes
d = zeros(n+1,1); % vetor coluna dos termos
independentes
u = zeros(n+1,1); % vetor dos deslocamentos
uexata = zeros(n+1,1); % valores da soluo exata
%
x = linspace(a,b,n+1);
double(c); double(u); double(d);
%
d(1) = u0; d(n+1) = un;
c(1,1) = 1; c(n+1,n+1) = 1;
%
for i=1:n+1
if i ==1 || i== n+1
uexata(i)=.00013462*x(i)+0.016/x(i);
else
[c(i,i-1),c(i,i),c(i,i+1),d(i)] = d2udx(a,h,i);
uexata(i)=.00013462*x(i)+0.016/x(i);
end
end
%
u = c\d;
% calculo da tenso mxima
sigmax = (E/(1-ni^2))*(u0/a + ni*((u(2)-u0)/h));
% calculo do FS - fator de segurana
fs = gs/sigmax;
plot(x,uexata), hold on
plot(x,u,'-r')
% impresso dos resultados
% impresso dos resultados
fprintf('\n ponto valor exato valor aprox.
erro \n')
for i=1:n+1
erro(i) = (uexata(i) - u(i))*100/uexata(i);
fprintf(' %6.5f %16.12f %16.12f %+16.12e
\n',x(i),...
uexata(i), u(i),erro(i));
end
fprintf('\n Valor da tenso mxima = %15.12f \n',sigmax);

function [a,b,c,d] = d2udx(a,h,i);
ri = a + (i-1)*h; r2 = ri * ri;
h2 = h * h;
c = (1/h2 + 1/(ri*h));
b = (-2/h2 - 1/(ri*h) - 1/r2);
a = 1/h2;
D = 0;
Aplicando os dados do problema, conforme fornecido no exemplo
se tem:
Problema do Vaso de Presso de paredes grossas

Raio interno do tubo = +5.000000000000
Raio externo do tubo = +8.000000000000
Modulo de Young do material do tubo = +20000.000000000000
Tenso escoamento ao = +25000.000000000000
Coeficiente de Poisson = +0.300000000000
Nmero de segmentos = +5.000000000000
Condio de contorno em r=a = +0.022175000000
Condio de contorno em r=b = +0.007816000000
Passo entre pontos = +0.600000000000

Valores dos deslocamentos radiais atravs da parede do tubo
ponto valor exato valor aprox. erro
5.00000 0.022175000000 0.022175000000 +0.000000%
5.60000 0.018391200000 0.018439728677 -0.263869%
6.20000 0.015195787097 0.015257130566 -0.403687%
6.80000 0.012433011765 0.012485629040 -0.423206%
7.40000 0.009997637838 0.010028168704 -0.305381%
8.00000 0.007816000000 0.007816000000 +0.000000%
Valor da tenso mxima = 56.425589851898