

























Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Manual de utilização do software MAXIMA
Tipologia: Manuais, Projetos, Pesquisas
1 / 33
Esta página não é visível na pré-visualização
Não perca as partes importantes!


























Nomes:
Cristina Marioni Torres RA: 042708 Filipe Ricardo Polizel RA: Letícia Andréa Bocchi Silva RA: Luís Fernando L. Sato RA: Natália do Carmo Carvalho RA: Thiago de Moraes Sfredo RA: Tiago Bonatto de Lima RA:
Inicie o Maxima com o comando "maxima". Maxima mostrará a informação de versão e uma linha de comando. Termine cada comando no Maxima com um ponto e vírgula. Termine uma sessão com o comando "quit();".
Aqui está um exemplo de sessão:
[wfs@chromium]$ máxima Maxima 5.9.1 http://maxima.sourceforge.net Using Lisp CMU Common Lisp 19a Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. This is a development version of Maxima. The function bug_report() provides bug reporting information. (%i1) factor(10!); 8 4 2 (%o1) 2 3 5 7 (%i2) expand ((x + y)^6); 6 5 2 4 3 3 4 2 5 6 (%o2) y + 6 x y + 15 x y + 20 x y + 15 x y + 6 x y + x (%i3) factor (x^6 - 1); 2 2 (%o3) (x - 1) (x + 1) (x - x + 1) (x + x + 1) (%i4) quit(); [wfs@chromium]$
Maxima pode procurar as páginas info. Use o comando describe para mostrar todos os comandos e variáveis contendo uma dada seqüência de caracteres, e opcionalmente sua documentação. O ponto de interrogação? é uma abreviatura para describe:
(%i1)? integ
0: (maxima.info)Introduction to Elliptic Functions and Integrals. 1: Definitions for Elliptic Integrals. 2: Integration. 3: Introduction to Integration. 4: Definitions for Integration. 5: askinteger :Definitions for Simplification. 6: integerp :Definitions for Miscellaneous Options. 7: integrate :Definitions for Integration. 8: integrate_use_rootsof :Definitions for Integration. 9: integration_constant_counter :Definitions for Integration. Enter space-separated numbers, all' ornone': 6 5
Info from file /usr/local/info/maxima.info:
askinteger (expr, even)' andaskinteger (expr, odd)' likewise attempt to determine if `expr' is an even integer or odd integer, respectively.
(%o1) false
Para usar um resultado em cálculos posteriores, você pode atribuir esse valor a uma variável ou referir-se a esse mesmo valor através de seu rótulo gerado automaticamente. Adicionalmente, % refere-se ao mais recente resultado calculado:
(%i1) u: expand ((x + y)^6); 6 5 2 4 3 3 4 2 5 6 (%o1) y + 6 x y + 15 x y + 20 x y + 15 x y + 6 x y + x (%i2) diff (u, x); 5 4 2 3 3 2 4 5 (%o2) 6 y + 30 x y + 60 x y + 60 x y + 30 x y + 6 x (%i3) factor (%o2); 5 (%o3) 6 (y + x)
Maxima tem conhecimento sobre números complexos e constantes numéricas:
(%i1) cos(%pi); (%o1) - 1 (%i2) exp(%i*%pi); (%o2) - 1
Maxima pode fazer cálculos diferenciais e integrais:
(%i1) eq_1: x^2 + 3xy + y^2 = 0$ (%i2) eq_2: 3*x + y = 1$ (%i3) solve ([eq_1, eq_2]); 3 sqrt(5) + 7 sqrt(5) + 3 (%o3) [[y = - -------------, x = -----------], 2 2
3 sqrt(5) - 7 sqrt(5) - 3 [y = -------------, x = - -----------]] 2 2 (%i4) kill(labels); (%o0) done (%i1) plot2d (sin(x)/x, [x, -20, 20]); (%o1) (%i2) plot2d ([atan(x), erf(x), tanh(x)], [x, -5, 5]); (%o2) (%i3) plot3d (sin(sqrt(x^2 + y^2))/sqrt(x^2 + y^2), [x, -12, 12], [y, - 12, 12]); (%o3)
*Nota: Para a função Degrau Unitário Maxima não é capaz de desenhar os gráficos nem calcular sua transformada de La Place, apesar de estar inclusa em sua biblioteca.A Função Degrau Unitário é implementada como unit_step[x].
2) Solução de equações diferenciais
Uma equação diferencial é qualquer equação na qual esteja presente a derivada de alguma variável. Um exemplo simples é:
y te^ t dt
dy (^) 2
Note que dt
dy também pode ser escrito como y ′^. A variável y é chamada de
variável dependente e t é a variável independente. Equações diferenciais são divididas em várias classificações, sendo a mais básica a ordem. A ordem de uma equação diferencial é dada pela derivada de maior grau encontrada nela. No exemplo acima, a única derivada é de primeiro grau, portanto, trata-se de uma equação diferencial de primeira ordem.
Não existe um método universal para resolver equações de primeira ordem. Portanto, estas equações foram divididas em várias subclasses com métodos de solução diferentes. As mais importantes subclasses são equações lineares, equações separáveis e equações exatas.
2.2.1) Equações lineares
Equações lineares são normalmente encontradas na forma
p ( y ) y g ( t ) dt
dy
e representam uma relação linear entre a variável dependente e a independente. Para resolver uma equação linear de primeira ordem no Maxima usa-se o comando ode2(equação, variável dependente, variável independente).
Exemplo 1:
y te^ t dt
dy (^) 2
in: ode2('diff(y,t) + 2y = texp(-2*t),y,t);
out: c e t
t y^2
2
2
−
O Maxima retorna a solução geral da equação diferencial, por isso o uso da constante c. Isto possibilita desenhar o campo vetorial e trajetorial da equação (assumindo arbitrariamente valores para a constante). O valor da constante depende das condições iniciais do problema (exemplo logo a seguir). Observe que o comando para solução, tanto de equações de primeira ordem quanto para segunda, é o mesmo no Maxima. Este comando examina a equação e aplica vários métodos de solução até encontrar a solução geral. Para descobrir qual método foi utilizado pelo Maxima na resolução da equação, existe o comando method. Para a equação
resolvida acima, method retorna linear, o que quer dizer que o maxima obteve a solução geral da equação diferencial tratando-a como uma equação linear.
Aplicando as condições iniciais t = 1 e y = 0 para a equação resolvida no exemplo acima, podemos determinar o valor da constante c através da função ic1. Esta função deve ser usada da seguinte forma
ic1(solução, valor inicial de t, valor inicial de y)
M (^) y ( x , y )= Nx ( x , y )
Cumprida esta condição, a solução geral da equação é dada pela função F, sendo
Fx ( x , y )= M ( x , y )e Fy ( x , y )= N ( x , y )
Nem sempre uma equação diferencial encontra-se na forma exata. Para transformá- la em uma equação exata, pode se multiplicar a equação por um determinado fator integrante u, que depende apenas de uma das variáveis. Comumente, utiliza-se u(x). A equação transformada é então
dx
dy u xM x y uxN x y e u N
dx
Exemplo da solução de uma equação exata com o uso de fator integrante:
dy xy x
In: ode2( (3xy + y^2) + (x^2 + xy)'diff(y,x) = 0; , y, x)
Out: c
Neste exemplo a função method retorna exact. Para avaliar se o Maxima usou um fator integrante para transformar a equação diferencial acima em uma equação exata, use-se a função intfactor. Neste caso a função intfactor retorna (^) x , ou seja, houve a necessidade de
multiplicar a equação diferencial por u ( x )= x.
A equação exata resolvida pelo Maxima então foi
( 2 3 ) +^2 + 3 2 = 0
dy x y x.
Como já visto anteriormente, equações de segunda ordem são aquelas em que o maior grau de suas derivadas é 2. Nesta seção veremos os diversos métodos de resolução destas equações, aplicados a cada tipo de equação.
Podemos ainda definir uma equação diferencial de segunda ordem pela forma:
dx
dy f t y dt
d y 2 , ,
2
Onde f é alguma função dada.
2.3.1) Equações Homogêneas com Coeficientes Constantes
Esse tipo de equação é dado na forma:
ay’’+ by’+cy = 0,
onde a, b e c são constantes.
O método de resolução de tais equações é bem simples, basta realizarmos a troca de
variável y = ert , aplicando as derivadas a cada fator e dividindo toda a equação por e rt ,
chegaremos a uma equação do segundo grau.
Seja r 1 e r 2 as raízes dessa equação, então teremos como solução geral do problema:
r t r t y = c 1 e 1 + c 2 e^2
Note que as constantes c 1 e c 2 podem ser encontradas dado um problema de valor inicial.
Exemplo 4:
y ' '− 5 y '+ 3 y = 0
In: ode2('diff(y,x,2)-5'diff(y,x)+6y, y, x);
Out: y = c 1 e^3 t^ + c 2 e^2 t
Neste caso a função method retorna constcoeff.
2.3.2) Raízes Complexas da Equação Característica
Este é um caso particular de equação homogênea com coeficientes constantes. Onde obtemos raízes complexas da equação de segundo grau, ou seja, b − 4 ac < 0.
As raízes da equação de segundo grau, neste caso, são dadas por
r 1 (^) = λ + i μe r 2 (^) = λ − i μ,
onde (^) i = − 1.
Neste problema, s solução para a equação diferencial se apresenta na forma:
y ' '+ p ( t ) y '+ q ( t ) y = 0
A solução geral de uma equação não-homogênea pode ser escrita na forma:
y = φ ( t )= c 1 y 1 ( t )+ c 2 y 2 ( t )+ Y ( t ),
onde y 1 e y 2 formam um conjunto de soluções da equação homogênea associada e Y é uma solução específica da solução da equação original (não-homogênea).
O Maxima não utiliza este método, por sua falta de generalidade.
2.4.2) Variação dos Parâmetros
Este é um método mais geral para a solução de equações diferenciais não- homogêneas, já que não são necessárias hipóteses detalhadas sobre a forma da solução.
A idéia básica do método da variação dos parâmetros é substituir as constantes c 1 e c 2 por funções u 1 (t) e u 2 (t), respectivamente, determinando essas funções de forma que a expressão resultante para a solução geral seja:
y = u 1 ( t )cos 2 t + u 2 ( t ) sen 2 t
Do método da variação de parâmetros, conclui-se que uma solução particular da equação particular é:
= − + W y y t dt
y t gt dt y t W y y t
y tgt Y t y t ( , )()
1 2
1 2 1 2
2 1 ,
onde W(y 1 ,y 2 ) é o Wronskiano aplicado às funções y 1 (t) e y 2 (t). Temos ainda que a solução geral para é:
y = c 1 y 1 ( t )+ c 2 y 2 ( t )+ Y ( t )
Exemplo 7:
y ' '+ 4 y '+ 4 y = t −^2 e −^2^ x
In: ode2('diff(y,x,2)+4'diff(y,x)+4y-(x^(-2))exp(-2x), y, x);
Out: y = ( c 2 x + c 1 ) e −^2 x − e −^2 x (log( x )+ 1 )
Podemos notar que
Y ( x )= − e −^2 x^ (log( x )+ 1 ), y (^) 1 ( x ) = e −^2 x , y (^) 2 ( x ) = xe −^2 x.
Neste caso a função method retorna variationofparameters.
O software Maxima possui um comando que facilita muito a resolução de um sistema de equações diferenciais. Esse comando é o “ desolve”. Ele calcula o sistema utilizando a transformada de La Place. É um método parecido a resolução de um sistema linear comum, mas utiliza a transformada de La Place para transformar um sistema de EDOs em um de equações algébricas e depois faz a inversa da transformada de La Place para encontrar o resultado final.
Inserindo as equações do sistema:
input: eq1: 'diff(f(x),x)='diff(g(x),x)+sin(x) input: eq2: 'diff(g(x),x,2)='diff(f(x),x)-cos(x)
Colocando algumas condições iniciais.
Input: atvalue('diff(g(x),x),x=0,a) Input: atvalue(f(x),x=0,1)
Resolvendo o sistema:
Input: desolve([%o1,%o2],[f(x),g(x)]) Output: [f(x) = a %e - a + 1, g(x) = cos(x) + a %e - a + g(0) - 1]
3) Apresentação de Campo de Direções e
Trajetórias
Campo de Direções é uma ferramenta importante para a avaliação de equações diferenciais, pois dão uma noção dos valores que as soluções dessas equações tendem. Eles são compostos por vetores tangentes às soluções nos pontos do plano xy. Para desenhar campos de direções no Maxima , devemos primeiramente carregar a biblioteca “plotdf” utilizando o comando “load(plotdf);”. A função que desenha os campos de direções é “plotdf”, para utilizá-la, passamos como argumento a função
dx f ( x , y )= dy
*Note que tal função só desenha campos de direções para equações diferenciais ordinárias de primeira ordem.
*Note que traçamos a solução para o ponto (1, 1), além de definir a magnitude dos eixos x e y, o número de passos e o incremento de t.
Exemplo 3: Para o exemplo anterior, mostrar várias soluções.
Para mostrarmos diversas soluções no Maxima , devemos traçar o campo de direções; clicando em “Config” podemos ver o campo “Trajectory at”, ao inserirmos os valores da coordenada do ponto desejado mostramos soluções adicionais, como mostrado abaixo:
*As soluções traçadas acima correspondem aos pontos (-5,-5), (-2,-2), (0,0), (1,1), (2,2), (3,3) e (4,4).
Exemplo 4: A aceleração ( v ' )de um corpo em queda satisfaz a seguinte equação:
v ' = 9. 8 − 0. 2 v ,
onde v é a velocidade do corpo.Desenhe o campo de direções para o problema dado, e estime a velocidade limite de queda.
Primeiramente, desenhemos o campo de direções:
plotdf(9.8 –0.2*y);
quando a integral imprópria existe. f ( t )é a transformada inversa de Laplace de F ( s ), o que quer dizer que
L { f ( t )}= F ( s ) logo, L { − 1 }{ F ( s )}= f ( t );
Para resolver uma equação diferencial por La Place usamos o seguinte comando na linha de comando do Maxima :” laplace(g[t], t, s )”, g ( t )em que é a função a ser aplicada a
transformada. Já o comando para calcular a transformada inversa de La Place é: ilt(f[s], s, t).
*Nota: Na versão que utilizamos do Maxima (0.6.6, win32) as funções de Transformada de La Place já vinha pré-instaladas e não foi necessário carregar nenhum pacote adicional.
Exemplo1: Encontre a transformada de La Place de:
(a) f ( t )= t^3
(b) f ( t )=sin( at )
(c) f ( t )=cos( at )
Solução: (a)usando o comando: Input: laplace(t^3, s, t)
Output: t 2
(b) Input: laplace(sin(a*t), t, s) Output: a/(s^2+a^2)
(c) Input: laplace(cos(a*t), t, s) Output: s/(s^2+a^2)
Vamos usar o comando ilt para calcular a inversa:
Input: ilt(4/(s^2 + 16 ), s, t)
Output: t 2
Transformada de La Place pode ser usada para resolver diversas equações diferenciais. Normalmente, quando usamos La Place para resolver uma equação diferencial
de uma função y ( t ), calculamos a transformada de La Place para cada termo da equação
diferencial, depois resolvemos algebricamente a equação para a transformada de La Place de y ( t ), L { y ( t )}, e finalmente determinamos y ( t )calculando a transformada inversa de La
Place de L { y ( t )}. Muito confuso? Então observe o exemplo abaixo:
Exemplo 3: Resolva a seguinte equação diferencial com valores iniciais pelo método das transformadas de La Place:
y ' '( t )+ 2 y '( t )+ 5 y ( t )= t , y ( 0 )= 0 , y "( 0 )= 1
Usando o comando “ode” para resolver a equação diferencial:
Input: ode: 'diff(y(t), t, 2) + 5'diff(y(t), t) + 4y(t) = t; Output: 'diff(y(t),t,2)+5('diff(y(t),t,1))+4y(t)=t
Inserindo as condições iniciais:
Input: atvalue(y(t), t=0, 0); Output: 0
Input: atvalue('diff(y(t), t), t= 0, 0); Output: 0
Calculando a transformada de La Place:
Input: lap_ode:laplace(ode,t,s); Output:s^2laplace(y(t),t,s)+5slaplace(y(t),t,s)+4laplace(y(t),t,s)=1/ s^
A equação diferencial original era uma equação diferencial, agora é uma equação algébrica com a variável “ laplace(y(t), t, s)”. Para resolver basta usar o comando solve :
Input: sol: solve(%, 'laplace(y(t), t, s)); Output: [laplace(y(t),t,s)=1/(s^4+5s^3+4s^2)]
*Note que você tem que escrever a desconhecida com um apóstrofo. Sem o apóstrofo, Maxima tentará avaliar a expressão “ laplace(y(t), t, s)”.
Veja que a resposta é uma lista com a solução linear.
Agora, podemos aplicar a transformação inversa de La Place para que a equação. algébrica com dependência em s , volte a ser dependente de t. Para selecionar um item da lista basta usar o comando map :
Input: map( lambda( [eq], ilt(eq, s, t)), sol) Output: [y(t)=%e^(-t)/3-%e^(-4*t)/48+t/4-5/16]