Mostrando postagens com marcador gradiente. Mostrar todas as postagens
Mostrando postagens com marcador gradiente. Mostrar todas as postagens

domingo, 9 de outubro de 2011

Máximos e Mínimos com Multiplicadores de Lagrange 2

Por conta da faculdade, estive algum tempo longe do blog mas não deixei de responder as dúvidas que eventualmente surgiam. Nesse periodo, comecei a pesquisar assuntos para escrever e acabei decidindo por falar novamente de Multiplicadores de Lagrange, pois esse foi um dos posts mais acessados do blog (Link aqui). O engraçado é que hoje esse post completa exatamente 1 ano, mas não por isso escolhi o mesmo tema. Enfim. Parabéns para o blog!

Hoje vamos resolver um exercício de máximos e mínimos simples que eu tirei do enunciado de uma prova do MIT (ocw.mit.edu) e que deve ter sido tirado de algum livro padrão (Stewart, Simmons). Dessa vez a resolução vai ser feita do modo convencional a partir do sistema não linear decorrente da equação que relaciona o gradiente da função e o gradiente da restrição. Vamos utilizar o Mathematica para visualizar a situação descrita pelo enunciado e entender o que se passa.
O exercíco em questão tem o seguinte enunciado:
Quais são os valores máximos e mínimos global da função $f(x,y,z)=xyz$ sobre a superfície elipsoidal de equação $2x^2+2y^2+z^2=2$.

Identificamos que a função a ser maximizada é $f(x,y,z)=xyz$ e a restrição do problema é a superfície elipsoidal $2x^2+2y^2+z^2=2$. Essa equação de elipsóide não está na forma canônica $\left(\dfrac{x}{a}\right)^2 + \left(\dfrac{y}{b}\right)^2 + \left(\dfrac{z}{c}\right)^2 = 1$. A forma canônica do elipsóide se reduz a uma equação de esfera quando $a=b=c=k$ e isso é intuitivo, pois como os valores de a,b e c determinam os alongamentos dos eixos do elipsoide na direção x, y e z, quando o alongamento é igual nas três direções, não se pode obter outra coisa senão a própria esfera.

Está ai a bola de futebol americano do enunciado!

Uma ideia interessante é tentar observar o que se passa através do enunciado. A função xyz está distribuida por todo espaço, ela é um tanto quanto problemática para valores pequenos de x y e z (por que?) mas é possível deduzir que ela vai cortar esse elipsóide algumas vezes e devemos determinar em quais pontos desse corte f(x,y,z) vai ter seu valor máximo.

Pois bem, esse exercício, diferentemente daquele que expliquei no primeiro post sobre Lagrange, possui somente uma restrição. Assim, o método dos multiplicadores nos diz que os pontos de máximo ou mínimo ocorrem quando o sistema

$\nabla f(x,y,z) = \lambda\nabla g(x,y,z)$
$g(x,y,z)=0$

É satisfeito. Lembramos que a primeira linha representa uma equação vetorial que dá origem a 3 equações escalares e a restrição deve ser reescrita como uma função escalar do $\mathbb{R}^3$, $g(x,y,z)=2x^2+2y^2+z^2=2$ e a condição $g(x,y,z)=0$ é a curva de nível que equivale à equação original.

Várias curvas de nível de g(x,y,z)

Expandindo as equações, chegamos em:

$yz = \lambda 4x$
$xz = \lambda 4y$
$xy = \lambda 2z$
$2x^2+2y^2+z^2-2=0$ 

Esse sistema é não linear com quatro variáveis e quatro equações. Para resolvê-lo, existe uma estratégia que quase sempre funciona quando caímos nessas equações pelo método de Lagrange.
A ideia é multiplicar a primeira linha por x e a segunda por y. Dessa forma, obtemos:

$xyz=\lambda 4x^2$
$xyz=\lambda 4y^2$

Dessa duas equações, chega-se em $\lambda 4x^2 = \lambda 4y^2$. A tentação de "cortar" tudo é muito grande, mas devemos ser cautelosos. Ao inves disso, reescrevemos $4\lambda(x^2-y^2)=0$. Essa equação é satisfeita se $\lambda = 0$ ou se $x^2=y^2$.

Analisando o caso que $\lambda=0$, caímos em $xy=0$, $xz=0$, $zy=0$. Isso implica que pelo menos duas variáveis são nulas e a terceira pode não ser. Supondo que $x=0$ e $y\neq 0$, vemos por eliminação que $z=0$. Assim, colocando esses valores na restrição $2(0)^2+2y^2+(0)^2-2=0$ determinamos $y=\pm 1$. Sumarizando, se $\lambda =0$ obtemos os pontos extremos $(0,0,\pm 1)$. Assim, $f(0,0,\pm 1)=0$. De forma geral, se $\lambda =0$, qualquer permutação do ponto $(0,0,\pm 1)$ é um ponto extremo.

Agora analisando o caso $x^2=y^2$, isto implica que $x=\pm y$. Supondo que $x=y$, por enquanto, vemos que da primeira equação chegamos em $z=4\lambda$ e pela terceira equação $x^2=2\lambda z$. Juntando esses dois casos, chegamos na relação $x^2 = \dfrac{z^2}{2}$. Substituíndo essa condição na restrição, chegamos em: $3z^2=2\Rightarrow z=\sqrt{\frac{2}{3}}$. Voltando com esse valor de z chegamos em $x=y=\dfrac{1}{\sqrt{3}}$. O valor da função neste ponto é $f\left(\dfrac{1}{\sqrt{3}},\dfrac{1}{\sqrt{3}},\sqrt{\dfrac{2}{3}}\right)=\dfrac{\sqrt{6}}{9}$. Como o valor de f neste ponto é maior que o ponto encontrado anteriormente pela condição $\lambda = 0$, concluí-se que este é um máximo global. Supondo que $x=-y$, chega-se nos mesmos resultados exceto pelo sinal de y, o que resulta num valor da função de: $f\left(\dfrac{1}{\sqrt{3}},-\dfrac{1}{\sqrt{3}},\sqrt{\dfrac{2}{3}}\right)=-\dfrac{\sqrt{6}}{9}$ que é o mínimo global.

Na figura vemos nosso elipsóide em azul e as curvas de nível da função f(x,y,z) com os dois pontos, um máximo e outro mínimo. Essas superfícies que parecem "cebolas invertidas" são as curvas de nível de f, ou seja, quando $xyz=K& onde K é uma constante qualquer. O elipsóide intersecciona a funçaõ f diversas vezes, porém, somente nos pontos em que encontramos acima é que f assume seu valor máximo.

Espero que a explicação do exercício tenha ficado clara. Um abraço a todos! Parabéns ao nosso post de Lagrange.

quarta-feira, 15 de dezembro de 2010

O cálculo e desenho do campo elétrico.

Engraçado pois eu não consigo responder nem colocar comentários no meu próprio blog, que coisa estranha. Mas segue aqui minha resposta ao comentário do Júlio feito nesse post:

Olá Julio, obrigado pela visita ao blog. Quanto ao problema, posso ajudá-lo sim, mas não sei se vou ser preciso pois não tenho todas as informações - por exemplo, não sei a geometria dos condutores nem as condições de contorno dentro das quais eles estão inseridos, mas enfim:

Eu suponho que você esteja fazendo numericamente o cálculo do potencial (bidimensional, $V(x,y)$) numa região do plano cartesiano, para depois calcular o campo elétrico.

Quanto ao cálculo do potencial elétrico, acho que isso não tem muito segredo. 1 - Define-se uma malha (matriz) de pontos dentro da região que você quer analisar, 2 - Atribui-se a cada ponto um valor inicial de potencial diferente de zero para evitar problemas, 3 - Como o potencial em cada ponto é a média dos potenciais dos pontos vizinhos, você faz um loop com essa condição e pára quando a diferença entre o novo potencial e o antigo seja menor que um $\epsilon$ estabelecido. No final deste processo, sua matriz vai conter o valor do potencial elétrico em cada ponto do espaço. Quanto maior sua quantidade de pontos, em geral melhor será a sua solução, porém mais demorado será para fazer estes cálculos.

Feito isso, resta agora calcular campo elétrico em cada ponto e é isso que o comando do Matlab gradient faz: dado uma matriz com o potencial numérico, ele retorna duas matrizes com as componentes do campo elétrico. Eu não conheco um comando no Scilab que faça isso automaticamente. Mas vamos pelo lado mais hard:

Lembre-se que em coordenadas cartesianas, o campo elétrico é dado da seguinte maneira:

$\vec{E}=-\vec{\nabla}V = \left(- \dfrac{\partial V(x,y)}{\partial x}, -\dfrac{\partial V(x,y)}{\partial y}\right)$

Portanto, é natural que o comando retorne duas matrizes, uma para as componentes x do campo elétrico ($E_x$) e outra para a y ($E_y$).

O problema então é calcular numericamente as derivadas parciais de V para encontrar as componentes do campo, como faremos?

Da definição de derivadas parciais, temos:

$E_x= - \dfrac{\partial V(x,y)}{\partial x}=\lim_{h\to0}-\dfrac{V(x+h,y)-V(x,y)}{h}$

Analogamente para y: 

$E_y= - \dfrac{\partial V(x,y)}{\partial y}=\lim_{h\to0}-\dfrac{V(x,y+h)-V(x,y)}{h}$

Essas derivadas significam o seguinte: No plano, fixe um ponto $(x,y)$ cujo potencial é $V(x,y)$. Ande, na direção x, uma distância h. Veja, nesse ponto $(x+h,y)$, quanto vale o potencial $V(x+h,y)$. Agora faça a subtração dos dois e divida por quanto andou. Essa é a taxa de variação da sua função V quando você se movimenta em relação ao eixo x. O resultado para y é análogo.

Você pode tomar como aproximação numérica das derivadas parciais o próprio quociente que as define. Para x, isso fica:

$E_x=-\dfrac{\partial V(x,y)}{\partial x}\simeq -\dfrac{V(x+h,y)-V(x,y)}{h}$

É possível utilizar também como boa aproximação outro método de derivação numérica:

$E_x=-\dfrac{\partial V(x,y)}{\partial x}\simeq -\dfrac{V(x+h,y)-V(x-h,y)}{2h}$

Este último sai da subtração das séries de Taylor para $f(x+h)$ e $f(x-h)$ truncada na primeira ordem.

Para y segue do mesmo jeito. Então vejamos: Para determinar $E_x(x,y)$ precisamos calcular $\dfrac{V(x+h,y)-V(x,y)}{h}$. $h$ representa a distância entre os pontos da malha, o termo $V(x+h,y)$ representa o potencial no ponto seguinte ao $V(x,y)$. Esses dois potenciais são conhecidos. A distância $h$ que você anda é arbitrária e depende de como você determinou sua malha.

Então para fazer esses cálculos numericamente usei as seguintes linhas de código no Scilab:

for j =1:N  
for k =1:N
      EX(j,k) = -(V(j,k+1)-V(j,k))/0.5
      EY(j,k) = -(V(j+1,k)-V(j,k))/0.5
    end
  end

Nesse exemplo eu utilizei h=0.5. N é a dimensão da sua malha, EX(j,k) vai receber o valor do campo $E_x$ em cada ponto j,k. O meu potencial foi chamado de V(j,k), onde j é para linha e k é para coluna.

O fim desse loop vai te gerar duas matrizes. Imagine então que vc queira saber qual é o potencial no ponto (4,5). Procure então EX(4,5) e saberá quanto vale o campo na direção x e EY(4,5) para saber quanto vale na direção y. Se quiser saber o campo total nesse ponto, faça: $|E(4,5)|=\sqrt{E_x(4,5)^2 + E_y(4,5)^2}$.

Tendo essas duas matrizes é possível desenhar os vetores do campo com o Scilab. Basta usar o comando champ(), que admite quatro (ou mais) parâmetros de entrada: o primeiro é o tamanho da sua malha na direção x, se sua malha for NxN, então 1:N. O segundo é para y, então 1:N. O terceiro parâmetro é a matriz com as componentes do campo em X e o quarto é a matriz das componentes Y. Então no nosso caso teriamos: champ(1:N, 1:N, EX, EY). O resultado que fiz agora rapidamente foi esse:



Nele calculei o potencial numa região do espaço confinada por paredes. A parede no topo tem 30V de potencial e as laterais e inferior com 5V de potencial. A malha que defini foi 10x10. Desenhei as equipotenciais (pixels gigantes) com o comando Matplot(V) (V era a matriz cujas entradas eram os valores dos potenciais em cada ponto) e o campo vetorial com o champ.

Há outros parâmetros passíveis de modificação nesse comando champ, pois, por exemplo, ele desenha o vetor com tamanho proporcional ao módulo. É possível desenhar vetores de mesmo tamanho, mas coloridos de acordo com o módulo, usando o comando champ1:



Embora eu não saiba qual o critério de cores, ele dá um desenho bonitinho do campo. Há mais informações no help do Scilab também, talvez encontre alguma coisa la.

Espero ter ajudado e resolvido sua dúvida. Boa sorte no restante do trabalho. Abraços.

sábado, 9 de outubro de 2010

Máximos e mínimos com multiplicadores de Lagrange

CONFIRA O NOVO POST SOBRE MULTIPLICADOR DE LAGRANGE AQUI: Máximos e mínimos com multiplicadores de Lagrange 2

Diferentemente dos métodos empregados no cálculo de uma variável, encontrar os máximos e mínimos de uma função de duas ou mais variáveis pode ser às vezes penoso por conta da análise que deve ser feita: Se $f(x,y)$  é uma função definida numa região R compacta, é preciso investigar se os máximos e mínimos estão no interior de R ou se estão na propria fronteira de R. 
Geralmente, o que se tem é uma função de três variáveis $f(x,y,z)$, sujeita a qualquer condição restritiva que nos permita eliminar uma variável do problema. Daí ficamos com uma função de duas variáveis, então procuramos os máx. e mins. pelos os métodos usuais - no interior de R, derivamos e impomos as derivadas pariciais serem zero para encontrar os pontos críticos, candidatos a máximos e mínimos. Depois, analisamos, usualmente através da parametrização, a curva que descreve o contorno da fronteira.
Como esse processo pode ser muito complicado se as funções forem complicadas, se a borda da região for díficil de parametrizar, etc, uma boa e eficente saída é utilizar o método dos multiplicadores de Lagrange.
O método dos multiplicadores no caso bidimensional fala que, se nosso objetivo é maximizar uma função $f(x,y)$ sujeito à restrição $g(x,y)=c$, os extremos de $f$ em $g$ ocorrem nos pontos em que se verifica a relação:
$\nabla f = \lambda \nabla g$

Lógico que a eq. acima tem sentido somente se as derivadas parciais de primeira ordem de $f$ e $g$ existirem e $\nabla g$ não se anular na curva vinculante. Geometricamente, essa equação vetorial nos diz que o gradiente da função a ser maximizada é proporcional ao gradiente da função vinculante (*). Isso faz sentido, porque, imagine que queremos maximizar uma função $f(x,y)$ sujeita a uma curva parametrizada por $u(t)=(x(t),y(t))$. Assim, caímos num problema de maximização de cálculo I pois $f(x(t),y(t))$ é função de uma variável. Então temos:
$\dfrac{d}{dt}f(x(t),y(t)) = 0$
pela regra da cadeia:
$\dfrac{df}{dx}\dfrac{dx(t)}{dt}+\dfrac{df}{dy}\dfrac{dy(t)}{dt} =0 \Rightarrow \nabla f\cdot u`(t) = 0$
 O que quer dizer que o gradiente da f é ortogonal ao vetor tangente da curva - uma outra forma de dizer (*).

Agora quando buscamos maximizar uma função de três variáveis $f(x,y,z)$ sujeita aos vínculos $g(x,y,z)=c$ e $h(x,y,z)=k$, escrevemos:
$\nabla f = \lambda\nabla g + \mu\nabla h$
que nos leva a um sistema de 5 equações e 5 incógnitas:
$f_x = \lambda g_x + \mu h_x$
$f_y = \lambda g_y + \mu h_y$
$f_z = \lambda g_z + \mu h_z$
$g(x,y,z)=c$
$h(x,y,z)=k$
O subscrito denota a derivada parcial. Resolver esse sistema não-linear é um tanto quanto chato na maioria das vezes, mas é resolvível. Ocorre que podemos desenvolver uma ideia geométrica análoga ao que fizemos para o caso de duas variáveis e simplificar sua solução. Tomemos a figura abaixo

Essa é nossa situação em Lagrange com doís vínculos. Obtemos uma curva formada pela intersecção das duas superfícies vinculantes e queremos maximizar a função $f$ sujeita a esta curva. Os gradientes de cada restrição formam um plano, e o método dos multiplicadores exige que o gradiente da função a ser maximizada more neste plano. Esse resultado vai de encontro com o análogo bidimensional, quando o gradiente da função era proporcional ao gradiente da restrição ou ortogonal ao vetor tangente da curva restritiva (são as mesmas condições). Assim, é possível utilizar um resultado da geometria analítica para eliminar os multiplicadores de forma que se resolva somente um sistema 3x3. Vejamos como:

A condição para que três vetores sejam coplanares é que o produto misto entre eles seja zero. Faz sentido, pois o produto misto envolve um produto vetorial que no caso 3x3 é um determinante e como bem sabemos o determinante se anula quando existe uma linha proporcional as outras - este é nosso caso, pois queremos que $\nabla f = \lambda\nabla g + \mu\nabla h$. Então tudo se resume em realizar o produto misto $\nabla f\cdot (\nabla g \times\nabla h)$ e igualá-lo a zero.

E assim chegamos a uma equação equivalente a equação dos multiplicadores de Lagrange porém sem os multiplicadores. Esse resultado é interessante e simplifica muito o trabalho de se resolver maximos e mínimos condicionados, porém torna-se inviável utilizá-lo quando a função possuí  n variáveis (n>3) e exige que existam n-1 condições vinculantes. Mesmo assim, é uma ferramenta útil - verifique em exercícios já resolvidos pelo método usual.
No próximo post resolveremos um exercício por este método e verificaremos de fato que simplifica as contas. Abraços.
Os créditos da figura são do prof. Márcio Rosa.


Postagem em destaque

Quais os melhores livros de Cálculo 1?

Uma dúvida muito comum de quem acabou de entrar na faculdade de exatas é qual livro de cálculo seguir e adotar como referência. Consulta...