Beruflich Dokumente
Kultur Dokumente
Diamantina
Novembro - 2014
Vibraes Mecnicas
2 Resolvendo Integrais e Derivadas usando o MatLAB
Sumrio
Introduo ............................................................................................................................................... 3
Objetivos ................................................................................................................................................. 3
Derivando e Integrando com o MatLAB .................................................................................................. 3
Obteno de resultados na forma analtica ........................................................................................ 3
Obteno de resultados na forma numrica ...................................................................................... 6
Integrao........................................................................................................................................ 6
Diferenciao................................................................................................................................... 8
Concluso .............................................................................................................................................. 10
Referncias Bibliogrficas...................................................................................................................... 10
Vibraes Mecnicas
3 Resolvendo Integrais e Derivadas usando o MatLAB
Introduo
Objetivos
Descobrir e fazer o uso de algumas ferramentas do MatLAB para efetuar-se uma integrao ou uma
derivao, apresentando os resultados e explicando os pontos importantes ao se executar esse tipo
de tarefa. Seja pela a anlise de uma funo conhecida ou a partir de pontos obtidos
experimentalmente.
O MatLAB pode ser usado tanto para auxiliar o usurio nos clculos analticos quanto na
aproximao numrica usando mtodos apropriados.
Para obter os resultados na forma analtica seja por integrao ou diferenciao, preciso utilizar a
ferramenta syms do MatLAB, ao consultar a ajuda tem-se:
Vibraes Mecnicas
4 Resolvendo Integrais e Derivadas usando o MatLAB
Para ficar mais fcil o entendimento, utilizemos a funo para que seja possvel integr-la
analiticamente:
Suponha que seja desejada a integral indefinida dessa funo, ento o cdigo ser escrito no matlab
seria:
derivada =
integral =
1
A funo humps uma funo j implementada no MatLAB que serve como exemplo para fins didticos.
Vibraes Mecnicas
5 Resolvendo Integrais e Derivadas usando o MatLAB
Deste modo foi possvel utilizar o MatLAB para derivar e integrar uma funo analiticamente.
NOTA: importante ressaltar que o software faz uso de recursos numricos para chegar estes
resultados.
Este recurso pode ser muito til para conferir resultados de operaes matemticas feitas
manualmente ou para ganhar tempo quando no possvel realizar o clculo rapidamente, ou at
mesmo quando no lembramos um dado mtodo para sair de uma integral ou derivada muito
complicada.
Se por exemplo, deseja-se a derivada no ponto ou a integral definida em um dado intervalo basta
acrescentar os valores separando-os por vrgulas, no parnteses onde vo os parmetros da funo:
RESULTADO:
Derivada_x0 =
Vibraes Mecnicas
6 Resolvendo Integrais e Derivadas usando o MatLAB
Integral_x1_x2 =
14*pi + atan(1470053833920256146312/3874205111257197316909) - 18
Note que o resultado ainda analtico, ou seja no um valor numrico j calculado. No caso da
integral por exemplo, basta copiar e colar2 na prpria janela de comando e ser possvel achar o valor
correspondente rea debaixo da curva:
ans =
26.34
Integrao
O MatLAB contm trs funes para calcular a integral de funes descritas por arquivos M ou
funes in-line: quad, quadl e dblquad.
Para ilustrar a integrao, considere a funo humps(x), mostrada na Figura 1. Ento a soma das
reas trapezoidais se aproxima da integral da funo. Evidentemente que medida que o nmero de
trapzios aumenta, o ajuste entre os trapzios e a funo torna-se melhor, resultando a uma
aproximao mais precisa da integral ou da rea.
Figura 3: Integrao numrica pelo mtodo da soma das reas dos trapzios
O script abaixo calcula a integral da funo humps no intervalo [-1,2] usando: trapz(x,y),
cumtrapz(x,y), quad(@humps,-1,2) e quadl(@humps,-1,2).
2
Particularmente estou procurando uma maneira mais interessante de fazer isso, ou seja, passar de variveis
simblicas para variveis numricas sem haver a necessidade de copiar e colar
Vibraes Mecnicas
7 Resolvendo Integrais e Derivadas usando o MatLAB
subplot(1,3,1);
plot(x,y);
title('Funo humps incremento de 0.17' );
xlabel('x');
ylabel('humps(x)');
grid on;
subplot(1,3,2);
plot(x,y);
title('Funo humps 100 pontos regulares' );
xlabel('x');
ylabel('humps(x)');
grid on;
area4 = quad(@humps,-1,2)
area5 = quadl(@humps,-1,2)
Resultados:
area1 = 25.92
area2 = 26.34
area3 = 26.34
area4 = 26.34
area5 = 26.34
Vibraes Mecnicas
8 Resolvendo Integrais e Derivadas usando o MatLAB
Dependendo das propriedades da funo em questo, pode ser difcil determinar uma largura tima
de trapzio. bvio que se fosse possvel variar as larguras individuais dos trapzios a fim de adequ-
los s caractersticas da funo, uma preciso bem maior poderia ser obtida.
As funes quad e quadl, que se baseiam no conceito matemtico de quadratura, usam essa
estratgia. Essas funes de integrao funcionam da mesma maneira. Ambas calculam a funo a
ser integrada usando intervalos com comprimentos adequados para obter resultados precisos. Alm
disso a funes fazem aproximaes de ordem mais elevada que a de um simples trapzio, sendo
quadl mais rigorosa que quad.
Diferenciao
Comparada integrao, a diferenciao numrica muito mais difcil, uma vez que a diferenciao
muito mais sensvel pequenas variaes na forma de uma funo que a integrao. Como a
diferenciao descreve a inclinao de uma funo no ponto, qualquer mudana pequena em uma
funo pode gerar grandes alteraes em sua inclinao, nas proximidades de onde ocorreu a
mudana3.
Quando possui-se apenas alguns pontos, torna-se interessante realizar um ajuste de curva
polinomial, usando o mtodo dos mnimos quadrados e derivar o polinmio resultante. Ou ajustar
splines cbicas e encontrar a representao por splines das derivadas. Ou seja, costuma-se encontrar
uma melhor funo de interpolao antes de aplicar a derivada.
n = 2; % ordem do ajuste
subplot(1,2,1);
plot(x,y,'o',xi,yi,'--');
xlabel('x');
ylabel('y = f(x)');
title('Ajuste da curva de segunda ordem');
dp = polyder(p);
dyp = polyval(dp,x); % avalia o polinmio derivada para comparao
dy = diff(y)./diff(x); %calcula as diferenas e usa a diviso vetorial
xd = x(1:end-1); %xd um novo vetor para o eixo x
%j que dy tem comprimento menor que y
3
Devido a essa dificuldade inerente, a diferenciao numrica evitada sempre que possvel, principalmente
se os dados a serem derivados so obtidos experimentalmente.
Vibraes Mecnicas
9 Resolvendo Integrais e Derivadas usando o MatLAB
subplot(1,2,2);
plot(xd,dy,x,dyp,':');
xlabel('x');
ylabel('dy/dx');
title('Derivada por diferentes mtodos');
legend('polyder','diff');
RESULTADOS:
Comparando a derivada encontrada utilizando a funo diff com a obtida por aproximao
polinomial, bastante evidente que a aproximao da derivada por diferenas finitas pode conduzir
resultados ruins, principalmente se os dados foram obtidos experimentalmente ou partir de
medidas imprecisas. No entanto o uso de qualquer um dos mtodos pode ser interessante para fins
de visualizao.
Evidentemente calcular a derivada de uma funo polinomial de ordem n fcil tanto analiticamente
quanto numericamente. Numericamente a dificuldade est em encontrar o melhor polinmio que se
adequa aos pontos em questo. Por outro lado, hesitem outros mtodos de interpolao. Todavia
estes problemas parecidos podem ocorrer.
Vibraes Mecnicas
10 Resolvendo Integrais e Derivadas usando o MatLAB
Concluso
O presente trabalho apresentou, brevemente, tcnicas para resolver integrais e derivadas de forma
analtica e/ou numrica com o auxlio do MatLAB. Alm disso, foi discutido algumas particularidades
de cada mtodo utilizado.
Foi possvel observar que os casos que envolvem diferenciao so muito mais complicados que os
que envolvem integrao. De modo que uma escolha inadequada de um determinado mtodo, pode
conduzir resultados ruins.
Enfim, foi possvel aprender algumas novas tticas de programao no MatLAB, de modo tornar
possvel a sua utilizao para a resoluo de problemas diversos de engenharia.
Referncias Bibliogrficas
HASELMAN, D.; LITTERFIELD, B.. Matlab 6: Curso Completo Integrao e Diferenciao. So Paulo:
Ed. Pearson Prentice hall, 2003. p.269-279.
Vibraes Mecnicas