Introduo ao Mathematica 6.
Alan Bondesan De Maria - alandemaria@[Link],
RA 090217 Engenharia de Manufatura
Faculdade de Cincias Aplicadas
Universidade Estadual de Campinas
Sumrio
1 Introduo
2 Sintaxe Bsica
3 Denir Funes
4 Parmetros de Entrada
5 A Famlia Plot
5.1
Plot
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2
Plot3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
5.3
ContourPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
5.4
ContourPlot3D . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
5.5
RegionPlot
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
5.6
RegionPlot3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
5.7
PolarPlot
15
5.8
RevolutionPlot3D, SphericalPlot3D,...
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
6 Comandos Algbricos
16
17
6.1
Limit, D, Integrate . . . . . . . . . . . . . . . . . . . . . . . . . .
17
6.2
Expand, TrigExpand, Factor, TrigFactor e Simplify . . . . . . . .
19
7 Manipulate, Animate
21
8 Diversos
23
8.1
Metacomandos
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
8.2
Carregar Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
8.3
Elementos Bsicos
. . . . . . . . . . . . . . . . . . . . . . . . . .
26
8.4
O comando Show . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
9 Conclundo...
29
10 Referncias
29
2
1 Introduo
Esse tutorial foi escrito no intuto de ajudar os colegas ingressantes nos
cursos de engenharia da FCA a se familiarizarem com o software Mathematica.
Ele servir, primeiramente, para auxili-lo nos primeiros passos com o programa
e poder servir, posteriormente, como um guia prtico para solucionar algumas
dvidas que surgirem no caminho. Deixo meu endereo de e-mail na capa para
me enviarem perguntas referentes ao programa que no entenderam lendo o
nosso texto.
recomendado que o leitor deste tutorial tenha acesso ao software enquanto
acompanha os tpicos para colocar em prtica as idias de cada captulo.
texto foi escrito de maneira a no assustar quem ainda no teve o primeiro
contato com o programa - a leitura leve e apresenta vrios exemplos. Junto
com este tutorial vai tambm um notebook
1 com as funes e praticamente todos
os passos descritos abaixo.
Os tpicos, depois do captulo 2, no esto distribuidos em ordem hierrquica
de importncia ou diculdade. Cada um tem sua particularidade - destacada
no comeo de cada um - e sua sintaxe. No preciso ler em ordem tambm,
mas melhor que siga linearmente at o captulo 4.
A verso do programa em qual se baseou esse tutorial foi o Mathematica 6.0,
ainda que hoje j esteja na 7.0. O .pdf deste tutorial foi gerado pelo gerenciador
AT X chamado L X.
L
E
Y
2 Sintaxe Bsica
Todo programa que lida com programao possu uma sintaxe. atravs
da sintaxe que a linguagem do mundo real traduzida para o mundo virtual do software. No Mathematica, a sintaxe simplicada e otimizada para a
matemtica e esse um dos seus ponteciais face aos outros softwares matemtico.
Os comandos no Mathematica sempre comeam com letra mascula e a maioria so os prprios nomes das operaes em ingles. Expand, Sum, Derivate, Inte-
grate, Simplify, Factor, Sin, Cos, Tan so exemplos de comandos matemticos.
Quando o nome do comando composto, a maiscula ocorre nos dois nomes:
ParametricPlot, ContourPlot, ArcTan, ArcSin, FindRoot. Para saber se digitou
o comando corretamente, a palavra deve car, por padro, preta. Se permanecer
azul sinal que o comando no foi digitado corretamente ou no foi carregado
1 Notebook
o arquivo padro do software.
escrito e desenhado.
Sua extenso o .nb.
nele onde tudo
no software
2 Para executar um comando no Mathematica, deve-se apertar En-
ter do teclado numrico ou Shift-Enter. A ltima maneira acontece devido a
maioria dos notebooks, que no vm com teclado numrico.
In[40]:=
Out[40]=
Cos@ 2D
0
A multiplicao feita ou com o simbolo * entre os numeros ou com espas
entre eles.
Exemplo:
2*2
o mesmo que
2,
ou
2.
x 5x).
In[31]:=
Out[31]=
5 x
2 H5 + 12 2L
22
3
); o programa continua entendendo como 6(x
matemtica no se importa muito com espaos. Voc pode escrever
In[30]:=
H5 + 12 2L
Out[30]=
22
A diviso feita com barra, (4/2) por exemplo. Para soma e subtrao utiliza-se
os simbolos usuais ( + e - ). Para elevar algum nmero a um expoente, deve-se
apertar ctrl + 6 para entrar com o ndice superior e ctrl + espao para voltar
a linha central. Os parnteses servem para dividir os clculos algbricos como
fazemos no dia a dia.
Entre colchetes vo os argumentos da funo e entre
chaves os domnios de variao dos argumentos.
No Mathematica, logo aps executar um comando voce vai notar que antes
dele aparece o escrito
In[n]:=.
In. signica Input, ou entrada . O numero n
vai determinar qual a ordem da entrada. A resposta vem como
Out[n]=,
que
signica Output, ou sada .
A lgica bem intuitiva:
Voc entra com um comando, o programa efetua
uma sada com a resposta para a entrada. Entrada todo comando que gera
uma resposta. A porcentagem % representa o ultimo resultado guardado na
memria do programa (ultimo output ).
In[33]:=
Out[33]=
%2
11
Muitas vezes voc no desejar visualizar o output do comando para que
ele seja suprimido, deve-se inserir ponto e vrgula ; no m do Input.
In[26]:=
Out[26]=
Sum@2 + 2D
4
2 Comentaremos
s
sobre para que serve e como carregar os pacotes no software.
Podemos pensar no comando como um operador, e seu argumento como
o objeto a ser operado . O que vai ser operado sempre vem entre colchetes.
Vale dizer que o Mathematica um software essencialmente simblico, que no
gosta de trabalhar com nmeros decimais. Por exemplo se voc entrar com uma
frao, por exemplo, 1/6 ou at mesmo
e executar, ele no vai te responder
um nmero decimal - vai, entretanto, devolver os nmeros que voc entrou.
Caso voc esteja mesmo interessado no valor decimal, deve entrar com
ou
N[1/6]
N[ ] para obter alguns decimais. Se quiser, por exemplo, 10 casa decimais,
N[expresso,10]. Quando digo que o programa no gosta de decimal,
digite
isso valido tambm para outros campos.
Por exemplo, ao se realizar um
somatrio innito geralmente o Mathematica vai procurar alguma somatria
em seu banco de dados que se encaixe no input para depois responder o valor
simblico. Lgico que tudo isso feito em milisegundos.
3 possivel e muito mais conveniente somar quaisquer dois numeros digitando e executando
a + b. Utilizei o Sum para efeitos didticos.
3 Denir Funes
interessante trabalhar no Mathematica denindo funes. Quando queremos trabalhar com a mesma operao matemtica por vrias vezes, conve-
niente denir uma funo para simplicar o processo de escrita. Pode-se dizer
que mais elegante trabalhar no programa atravs de funes.
Para denir funes, por exemplo, uma
f[x],
o imput deve ser:
f[x_] =
funo.
A traduo desse comando para a nossa linguagem feita de seguinte maneira:
quero denir uma funo ( f[ ..) de x (f[x_] ) que seja igual
( f[x_] = ) a, por exemplo,
3x + 5
(f[x_]=3x
+5
5 a funo
Shift+Enter para entrar e, voil, denimos
)
f (x) = 3x + 5.
Quando
inserimos underline _ depois da varivel da funo, o conjunto varivel_
ca verde.
Poderamos inserir qualquer letra para a funo, e tambm uma composio em
seu nome (no somente f ), por exemplo:
Soma[t_] =t
+ 3,
soma[u_] =u
+ 2,
div[y_] =10/y , g[z_] =z
2z + 1
Tenha cuidado ao denir nome de funes se voc separar com espaos, o
programa entende que voc est multiplicando 2 fatores. Por exemplo,
aaaa 6=
aa aa = aaaa. Se colocar um numero antes do nome da funo, por exemplo,
2a, o programa entende que voc multiplicou 2 vezes a funo a. J a2 um
nome vlido para funes.
Bom, mas qual a vantagem de se denir funes?
Para explicar, vamos mostrar um exemplo prtico:
Suponha que um produtor tenha 5 galinhas e 5 galos. Cada galinha bota 1
ovo por hora, das 6 da manh at as 16 da tarde. Se de cada ovo nascer um galo,
podemos aproximar o numero da populao em funo do tempo (em meses de
30 dias). Denimos a funo no software atraves do input
g[t_]=1650t + 10.
Se quisermos saber quantas galinhas o produtor vai ter no 4 ms, basta escrever
g[4].
Se quisermos saber quantas galinhas o produtor vai ter no 34 dia,
fazemos a regra de tres:
4 Voc entender melhor essa armao quando souber manipular o software com conana.
5 Na realidade o que zemos foi guardar na memria do software uma sentena matematica
associada ao simbolo f[x] a qual se pode recorrer posteriormente.
1 ms
g[
34
30 ]
30
=1880
dias
ms
1 ms
30 dias
x ms
34 dias
34
dias.
Disto chegamos em
x =
34
30
galinhas.
In[41]:=
g@t_D = 1650 t + 10
Out[41]=
10 + 1650 t
In[36]:=
Out[36]=
g@34 30D
1880
Em suma, depois de denir a funo, podemos trabalhar com o simbolo
f[x],
tanto para obtermos resultados diretos como para manipular a funo
algebricamente (veremos isso mais a frente).
4 Parmetros de Entrada
No exemplo mais acima, quando entramos com
Input
Sum[2+2],
vimos que no
aparecer um pequeno acento circunexo em vermelho depois do
2+2.
Isso acontece quando faltam informaes sobre o argumento, isto , o programa
precisa de mais alguns parmetros para compreender o comando. Para descobrir
quais so estes argumentos, necessrio e recomendado procurar no help
6 o
comando e ver quais os requisitos de cada um. Geralmente esse requisito vem
depois de vrgula. Quando esse requisito uma n-upla de nmeros ele vem
entre chaves.
In[42]:=
DAx2 + 2E
Out[42]=
2 + x2
Por exemplo, o comando D usado para derivar uma funo. Se escrevermos
D[x+2], o output
vem como
2+x, ou seja, o programa no efetuou a operao.
D
D[x+2,x]
Qual o problema ento? Procurando no help voc encontra que o comando
necessita saber em qual varivel voc deseja derivar. Se escrevermos
declaramos que queremos derivar
2x.
Outro caso escrever
In[38]:=
Out[38]=
x+2
D[x + 2, y ].
em relao a
x.
O output dessa vez
Voc consegue adivinhar qual o output ?
DAx2 + 2, xE
2x
Em relao a n-upla, podemos pensar por exemplo, numa integral denida.
Voc precisa declarar os limites de integrao inferior e superior.
Para fazer
isso, ento, o comando Integrate deve vir com o argumento e, depois da vrgula,
a n-upla entre chaves contendo:
{r,s,t}
onde r = variavel a ser integrada, s
= limite inferior de integrao, r = limite superior de integrao.
Assim, a linha
Integrate[x,{x,0,1}] se refere a integrao da funo x em
relao a x, com limite de integrao inferior 0 e superior 1. Fica para o leitor
vericar o que ocorre com o output do comando Integrate quando adicionamos
mais um elemento na n-upla.
6 Procure
por Documentation Center nos menus de navegao
5 A Famlia Plot
Esse tpico vai tratar sobre uma famlia de comandos do Mathematica
muito importante no estudo de Clculo, tanto de uma como de duas ou mais
variveis a famlia Plot. Basicamente, o Clculo I e II vai tratar das funes
e suas caractersticas seu comportamento grco, suas derivadas, os pontos
de mximo e mnimo, reas e volumes delimitados pela funo.
Essa famlia
nos servir, enm, para um abordagem visual dos problemas propostos em sala
de aula. No somente a isso restrito, o comando Plot e seus variantes podem
ser utilizados mais a fundo para desenhos arquitetnicos, desenhos de projetos,
etc...
Apresento-lhes os comandos:
5.1
Plot
O comando Plot pode ser considerado dentro dessa familia de comandos o
mais simples. Isso porque o grco bidimensional, no plano xy, j conhecido
por ns (ou devia ser) faz tempo e tambm um dos principais objetos de
estudo no Clculo I. Escrevemos
Plot[funo,{x, a, b}].
A funo uma
f(x) qualquer, a n-upla entre chaves indica que vamos plotar um grco que
tem como varivel independente o x , e o domnio do x o subconjunto dos
numeros reais que vai de um limite inferior a at um limite superior b.
Dando continuidade a nosso exemplo, escrevemos
Plot[g[x],{x,0,5}] para
visualizar o grco da nossa funo do crescimento das galinhas.
In[44]:=
Plot@g@tD, 8t, 0, 5<D
8000
6000
Out[44]= 4000
2000
Podemos adicionar como argumento principal do Plot no apenas uma
funo, mas duas ou mais. Esse artifcio til para visualizar num mesmo plano
os grcos da funo e suas derivadas. As cores de cada grco so distintas.
O input nesse caso
5.2
Plot[{f(x),g(x),h(x),....,n(x)},{x,a,b}]
Plot3D
O uso do Plot3D mais importante em Geometria Analtica e em Clculo
II. O comando admite que no plano tridimensional a altura seja a imagem da
7 , em
funo f(x,y), cujo domnio a dupla dos reais
Escrevemos
Plot3D[f(x,y),{x,a,b},{y,c,d}].
R2 .
Voc vai notar que, ao plotar
grcos tridimensionais com este comando, o perl da superfcie no surge como
se esperava. Isso acontece pois o comando s admite domnios retangulares, o
que pode suprimir partes importantes de desenhos no espao. Para driblar esse
problema, utilizaremos outro comando, o ContourPlot3D.
In[45]:=
Plot3DAx2 - y2 , 8x, -2, 2<, 8 y, -2, 2<E
4
2
Out[45]=
0
2
-2
-4
-2
1
-1
0
0
-1
-2
O Plot3D tambm admite mais de uma funo como argumento.
mos escrever
Plot3D[{f(x,y),g(x,y)},{x,a,b},{y,c,d}]
Pode-
e os grcos sero
plotados junto. Nesse caso as cores so as mesmas.
7 Um
par de nmeros reais leva a um nico valor da funo, e este valor rebatido no
eixo z.
10
5.3
ContourPlot
O ContourPlot um grco que permite visualizar os campos escalares
de funes de duas variveis. Seria como se estivessemos a visualizar um mapa
topolgico plano de alguma superfcie. Ele construdo a partir das curvas de
nvel da funo. Esse comando j mais poderoso que o Plot pois ele desenha
equaes . O que quero dizer que podemos plotar equaes (das cnicas, por
exemplo) sem perda de informaes, como ocorre com o Plot.
Por exemplo,
experimente, como exerccio, plotar o grco de uma circunferncia centrada
na origem com o comando Plot ; repare que voc ter o trabalho de colocar y
em funo de x e dessa manipulao surge uma raz quadrada no percurso. Os
resultados de y negativo na circunferncia desaparecem por conta da implicao
algbrica da raz no admitir nmeros negativos. Essa perda de generalidade
o problema do comando Plot, que pode ser solucionada com o emprego do
ContourPlot.
Esse comando est ligado aos primeiros tpicos de Clculo II,
importante na resoluo de problemas de otimizao em duas variveis.
ContourPlotAx2 + y2 , 8x, -1, 1<, 8 y, -1, 1<E
1.0
0.5
0.0
-0.5
-1.0
-1.0
-0.5
0.0
0.5
A sintaxe a quase a mesma dos anteriores:
1.0
ContourPlot[f(x,y),{x,a,b},{y,a,b}].
Note que o grco vir com cores por padro, e alguns contornos da funo. As
cores fortes indcam profundidade. Veremos mais a frente que podemos mudar
essas opes.
Caso queira visualizar um valor exato da funo, por exemplo,
uma circunferncia de raio 1, deve-se escrever:
11
ContourPlot[x^2+y^2==1,{x,a,b},{y,c,d}]8 .
O sinal duplo
==
como o
programa entende a igualdade.
5.4
ContourPlot3D
O comando ContourPlot3D pode ser entendido como aquele que desenha as
superfcies de nvel de uma funo que vai do
R3
para o
R1 .
Para cada tripla
de numeros reais admitido um s valor da funo f(x,y,z).
A sintaxe do comando a mesma do anterior, porm com o domnio restrito a
tripla real {x,y,z}.
ContourPlot3D[F(x,y,z),{x,a,b},{y,c,d},{z,e,f}]
ContourPlot3DAx2 + y2 + z2 , 8x, -2, 2<, 8 y, -2, 2<, 8z, -2, 2<E
In[47]:=
Out[47]=
0
-2
-1
-1
0
-2
1
2
1
0
2
-1
-2
Podemos destacar uma superfcie de nvel especca desenhando-a implicitamente como:
8 Nas
ContourPlot3D[F(x,y,z)==k,{x,a,b},{y,c,d},{z,e,f}].
verses anteriores, obtia-se resultados semelhantes com o ImplicitPlot.
Na verso
6.0, o ContourPlot e ContourPlot3D admitem uma igualdade no seu argumento, o que no
acontecia nas verses antigas.
12
ContourPlot3DA2 x2 + 4 y2 + 3 z2 4, 8x, -2, 2<, 8 y, -2, 2<, 8z, -2, 2<E
-1
-2
2
-1
-2
-2
-1
0
1
2
5.5
RegionPlot
O comando RegionPlot a ferramenta do software especializada no desenho
de regies denidas por inequaes.
Esse comando super til no desenho
de regies de integrao do Clculo I e II, necessrias para a construo das
integrais que fornecem, a partir das inequaes, o valor da rea ou volume de
uma regio.
Sua sintaxe , entre os anteriores, a que foge dos padres, justamente por usar
inequaes. Ela feita de seguinte maneira:
Suponha que voc tenha que determinar a rea de uma regio compreendida e
limitada acima pela reta
x=y
e abaixo pela parbola
y = x2 .
Para desenhar
essa regio no Mathematica, voc precisar saber os pontos onde essas curvas
iro se interseccionar e a altura correspondente a esses pontos. Fazendo
x = x2
encontramos os pontos (0,0) e (1,1) (esses sero os limites do domnio).
13
sintaxe para plotar essa regio ca ento:
RegionPlot[y x && y x2 ,{x,0,1},{y,0,1}]
In[49]:=
RegionPlotA y x && y x2 , 8x, 0, 1<, 8 y, 0, 1<E
1.0
0.8
0.6
Out[49]=
0.4
0.2
0.0
0.0
0.2
0.4
0.6
0.8
1.0
Repare na lgica da sintaxe: O programa vai plotar uma regio na qual y
est abaixo da reta
y=x
e (&&) acima da parabola
y = x2 ,
e essa regio ca
restrita a interseco dessas duas condies, quando x=1 e y=1, e x=0, y=0.
A grande diferena esse operador
&&
que, basicamente, indica uma interde-
pendncia de dois argumentos do comando.
Caso existam mais inequaes
RegionPlot[ineq1
&& ineq2 && ineq3 && ... && ineqn,{x,a,b},{y,c,d}]
que denem a regio, separa-se da mesma forma acima:
5.6
RegionPlot3D
O RegionPlot3D o irmo mais velho do anterior e muito til na parte de
integrais triplas do Clculo II, quando voc precisar desenhar regies compreendidas entre planos e/ou superfcies diversas, como as qudricas.
slido, por exemplo, descrito pela inequao
x +y 1
2
Um cilindro
A sintaxe funciona
como a do RegionPlot, porm adiciona-se a restrio do domnio em z.
exemplo:
RegionPlot[z x2 && z x2 + y 2 ,{x,0,1},{y,0,1}]
14
Por
RegionPlot3DAz x2 && z x2 + y2 , 8x, 0, 1<, 8 y, 0, 1<, 8z, 0, 1<E
1.0
0.5
0.0
1.0
0.5
0.0
0.5
0.0
1.0
5.7
PolarPlot
O PolarPlot tambm de grande utilidade no Clculo I e II, no que se refere
a visualizao de formas descritas por equaes polares. Um objeto descrito por
uma equao polar , antes de tudo, um objeto descrito por sua parametrizao
em funo da distncia do ponto origem (o raio r ) e o ngulo que esse raio
forma com o eixo dos x (o angulo
)9 .
O PolarPlot um comando otimizado
para a plotagem dessas parametrizaes.
Se voc j leu at aqui, a sintaxe fcil e intuitiva como as anteriores:
PolarPlot[h[r, ],{, a, b}]
9A
parametrizao j conhecida,
x = rCos[]
y = rSen[]
Para mais informaes
sobre as equaes nas formas polares, consultar o livro Calculo com Geometria Analtica do
Luis Leithold, Volume I.
15
In[50]:=
PolarPlot@1 + Cos@tD, 8t, 0, 2 <D
1.0
0.5
Out[50]=
0.5
1.0
1.5
2.0
-0.5
-1.0
5.8
RevolutionPlot3D, SphericalPlot3D,...
Existem outros tipos de comando da famlia Plot. No ttulo deste tpico esto alguns deles. Na verdade, os comandos anteriores j do conta do recado pra
quem est num curso superior de exatas. Os outros comandos so alguns mais
especcos e otimizados para alguns tipos de plotagem. Quando falo otimizado
para plotagem, isso quer dizer que o Mathematica j tem um conjunto de algortmos internos feitos especialmente para o tratamento de algumas entidades,
tais como grcos polares, grcos de revoluo; ento, dependendo da aplicao, alguns comandos facilitam o usurio, economizando tempo de processamento. Caso queiram mais informaes sobre a famlia Plot sugiro uma busca
mais a fundo no Documentation Center.
In[7]:=
RevolutionPlot3D@88Cosh@tD, Sinh@tD<, 8Cosh@tD, -Sinh@tD<<, 8t, 0, 2<D
2
Out[7]=
-2
0
-2
0
-2
2
Mais a frente veremos como desenhar o bsico: Linhas, pontos, etc.
16
6 Comandos Algbricos
Os comandos algbricos nos auxiliam na resoluo de problemas em s:
So
eles que fazem as contas. Se seu professor passou uma derivada muito difcil,
o Mathematica est a sua disposio para resolv-la em questo de segundos.
No vou estender muito essa introduo, portanto, partamos direto para os
comandos e suas sintaxes.
6.1
Limit, D, Integrate
O comando Limit, como o nome ja diz, calcula os limites.
O programa
geralmente vai lhe fornecer o valor simblico do limite, caso existir.
um
grande ajudante no comeo do Calculo I, tanto para conferir o resultado dos
exerccios que fez, como para entender e extender o conceito de derivada.
A sintaxe do comando muito simples:
Limit[ f[x], x->a ]. Caso queira
Direction -> 1 para lim-
um limite pela direita ou pela esquerda, s colocar
Direction -> -1 para limite vindo a esquerda. Isto :
Limit[ f[x], x->a, Direction-> -1 ] ou Limit[ f[x], x->a, Direction->
1 ]
ite vindo a direita, e
In[8]:=
Out[8]=
In[9]:=
Out[9]=
Limit@1 x, x 0D
Limit@H1 + 1 xLx , x D
[x]
Limit[ f [x+h]f
, h->0, Analytic -> True ]
h
output f'[x].
Repare que se voc digitar
o programa retorna com o
O comando D (derivada) serve para derivar uma funo e j foi visto no cap-
D[ f[x] , x ] para derivar uma funo de x em relao a x;
pode-se tambm denir uma funo com n variveis, f [ x,y,z,k,w,...,n ] e
deriv-la numa variavel desejada p, por exemplo: D[ f [ x,y,z,k,w,...,n ],
p ]. Repare que, se voc optou por trabalhar com funes como sugerido no
captulo 3, tiver denido uma funo f[x] e digitar num input f'[x], obtm-se
tulo 4. A sintaxe
10 .
o resultado da derivao da funo denida como resposta
J para o m do Clculo I e quase todo o Clculo II voc vai precisar integrar
funes, e ai que o comando Integrate existe para te ajudar. A sintaxe a
seguinte:
10 Em
geral, depois de denir funes, voc pode utilizar o smbolo da funo (g[x,y], por
exemplo) para muitos outros comandos.
17
Integrate[ f, x ]
vai te dar a integral indenida de uma funo.
Integrate [ f, {x,a,b} ]
vai te dar a integral denida entre os limites de
integrao inferior a e superior b.
Integrate[ f, {x,a,b},{y,c,d}]
vai te dar a integral dulpla limitada em x
por a e b e em y por c e d. Fique esperto pois o programa entende que o primeiro
argumento depois da funo ser o ultimo a ser integrado. No nosso casso, ele
bd
vai realizar a seguinte operao:
dydx.
a c
In[10]:=
DAx2 + 2 x + 5 x, xE
5
Out[10]=
2-
+2x
x2
In[12]:=
IntegrateAx2 + 5 y 2 y , y, xE
x3 y
Out[12]=
5
+
2 y x H-1 + 2 yL
Lembrando que voc pode fazer as integrais utilizando o smbolo (eu, particularmente, prero desta maneira). Abra o menu superior Pallets -> BasicMathIn-
put e uma janela pequena abrir com diversos simbolos. Dentre eles o smbolo
de uma integral denida.
Clique neste smbolo e nele voc consegue inserir
os limites superior e inferior de integrao. Para fazer o simbolo diferencial
11 .
necessrio apertar Esc, digitar dd e Esc novamente
11 As
letras gregas podem ser inseridas desta maneira, digitando por exemplo esc->pi->esc
voc obtem
e assim por diante.
18
6.2
Expand, TrigExpand, Factor, TrigFactor e Simplify
Os comandos Expand, TrigExpand e Simplify so de uso geral. Eles so
aquelas operaes algbricas que algumas vezes temos que decorar os macetes
para conseguir chegar num resultado satisfatrio. Por exemplo o comando Expand serve para expandir algum polinmio. A sintaxe bem simples> o input
Expand[(2x+5)5 ]
vai abrir esse polinmio at a quinta potncia. Da mesma
maneira, o comando TrigExpand realiza expanses trigonomtricas do tipo Seno
[a+b]. A sintaxe como a anterior:
TrigExpand[Sin[xy+x]]
por exemplo. O
TrigExpand tambm faz expanses de funes trigonomtricas inversas e hiperblicas.
In[13]:=
Out[13]=
In[14]:=
Out[14]=
In[16]:=
Out[16]=
ExpandAH2 x + 5L5 E
3125 + 6250 x + 5000 x2 + 2000 x3 + 400 x4 + 32 x5
TrigExpand@Sin@xy + xDD
Cos@xyD Sin@xD + Cos@xD Sin@xyD
Simplify@%D
Sin@x + xyD
19
O comando Simplify til quando numa integrao, por exemplo, o resultado
vem cheio de somas - aplicar o Simplify vai deixar o resultado mais bonito e
limpo. , antes de tudo, o que a palavra indica: Ele simplica. Corta os fatores
comuns numa razo, troca expresses por identidades (Sen
etc.
Simplify[x + 2x + 1]
2
gera
(x + 1)
Factor vai fatorar uma expresso.
x + Cos2 x = 1)
Na verdade esse comando quase sem-
pre retorna resultados parecidos com o Simplify e recupera expresses originais
quando expandidas.
Por exemplo se escrevessemos
riamos uma srie de somas at a quinta potncia.
Factor[%]
obteramos o output (2x
+ 5)
20
Expand[(2x+5)5 ],
obte-
Em seguida, com o input
7 Manipulate, Animate
O comando Manipulate uma tima ferramenta grca interativa do sofware
Mathematica que lhe permite visualizar, basicamente, as mudanas que um
parmetro causa numa funo. Pode ser um forte aliado para o entendimento
da periodicidade de funes trigonomtricas e das formas cnicas e suas rotaes.
Porm seu uso no est limitado somente ao campo grco das funes - Pode
ser usado tambm para operaes simblicas: ver as mudanas termo a termo
uma expanso binomial de ordem 1, 2, 3, n; Visualizar todas as n - simas
integrais de uma funo; fatorar um polinmio at a ordem desejada.
A sintaxe do comando similar as outras do programa, mas necessario
car esperto para as seguintes nunces: O comando manipulate deve ser seguido
sempre por outra operao que voc quer variar. Na verdade, o comando tem
como imput qualquer outro comando que possa gerar uma resposta. exemplo,
se quiser manipular a soma x + 4 quando x varia de 0 at 6, voc deve escrever:
Manipulate[x + 4, {x, 0, 6}].
Outro exemplo legal o seguinte:
6}].
Manipulate[Expand[(a + b)^n], {n, 1,
Se estiver com o soft aberto, vai notar que ele no expandiu o binmio.
Nesses casos, necessrio introduzir outra entrada no intervalo de variao, alem
do comum
{x, xmin, xmax},
coloque um numero v
{x, xmin, xmax, v}
que
corresponda a quanto a barra de rolagem vai variar por vez. convencional,
neste exemplo utilizar v = 1. Dica : Note que quando o comando executado,
surge um sinal de + do lado da barra de rolagem: ao clic-lo, voc pode ver
qual o valor de "n" no momento e tambm pode animar o grco apertando
o boto de play.
Alguns exemplos bons de comando esto abaixo. No pdf anexo, segue as imagens
dos outputs abaixo.
Porm, como o Manipulate um comando dinmico,
melhor voc fuar por s mesmo no programa.
Manipulate[ ContourPlot[a x^2 - b y^2 , {x, -1, 1}, {y, -1, 1}, ContourShading
-> False], {a, 0, 1}, {b, 0, 1}]
Esse exemplo mostra as curvas de nvel de uma hiperbole mudando conforme
os parmetros a e b mudam.
Manipulate[ContourPlot3D[ x^2 - a y^2 - z^2 == 1, {x, -2, 2}, {y, -2,
2}, {z, -2, 2}, Mesh -> None], {a, -1, 6}]
21
In[24]:=
Animate@ContourPlot3D@ x ^ 2 - a y ^ 2 - z ^ 2 1, 8x, -2, 2<, 8 y, -2, 2<, 8z, -2, 2<, Mesh NoneD, 8a, -1, 6<D
a
2
Out[24]=
1
2
-1
-2
2
1
-1
0
-1
-2
-2
Esta linha de comando mostra como a qudrica muda de forma dependendo do
parmetro a. Repare que o hiperbolide de revoluo vai passando para cilindro
hiperblico e por m hiperbolide de duas folhas.
O comando Animate funciona como o anterior, alias at com o mesmo
Imput.
O que muda que o Animate j vem, por padro, preparado para
animar a variao do parmetro, coisa que era preciso fazer manualmente no
anterior.
22
8 Diversos
8.1
Metacomandos
Metacomandos so comandos que dizem respeito ao prprio funcionamento
do software e/ou seus comandos. Talvez, no incio, essa parte no seja muito importante em s, mas quem a domina certamente consegue tirar melhor proveito
das ferramentas que o programa oferece. Isso porque alguns metacomandos ajudam a saber quais os padres dos comandos e, sabendo modic-os, os resultados
quase sempre melhoram.
O comando Options uma metacomando. Executado, ele lista uma srie
de argumentos admitidos por certo comando. Para isso, escrevemos, por exemplo,
Options[Plot].
Neste caso, o output surge com os argumentos seguidos
de uma echa e sua condio padro.
No caso do Plot, o argumento Aspec-
tRatio vem como padro 1/GoldenRatio; isso signica que todos os grcos
12 , o que faz,
plotados com o comando Plot vem escalado pela proporo urea
por exemplo, um crculo parecer com uma elipse neste comando. Para isto no
acontecer, depois de escrever a linha do comando, voc insere depois de vrgula
a condio: AspectRatio->Automatic. D um zoom para enxergar a lista inteira
de argumentos abaixo:
Options@ PlotD
:AlignmentPoint Center, AspectRatio
1
GoldenRatio
, Axes True, AxesLabel None, AxesOrigin Automatic, AxesStyle 8<, Background None, BaselinePosition Automatic, BaseStyle 8<, ClippingStyle None
Exclusions Automatic, ExclusionsStyle None, Filling None, FillingStyle Automatic, FormatType TraditionalForm, Frame False, FrameLabel None, FrameStyle 8<, FrameTicks Automatic, FrameTicksStyle
MeshStyle Automatic, Method Automatic, PerformanceGoal $PerformanceGoal, PlotLabel None, PlotPoints Automatic, PlotRange 8Full, Automatic<, PlotRangeClipping True, PlotRangePadding Automatic
In[2]:=
PlotB:
1 - x2 , -
1 - x2 >, 8x, -1, 1<F
1.0
0.5
Out[2]=
-1.0
0.5
-0.5
1.0
-0.5
-1.0
12 A
proporo de ouro um numero que vem da soluo de uma equao quadrtica que
envolve a razo de segmentos.
=1,618...
23
PlotB:
In[3]:=
1 - x2 , -
1 - x2 >, 8x, -1, 1<, AspectRatio AutomaticF
1.0
0.5
Out[3]=
-1.0
0.5
-0.5
1.0
-0.5
-1.0
Existem outros argumentos interessantes. Nos grcos 3D, a opo Mesh->None
some com as linhas dos grcos.
8.2
13
Carregar Pacotes
O Mathematica um programa enxuto e por conta disso suprime algu-
mas necessidades no inicio do programa para economizar memria e processamento. Por exemplo, algumas idias do Clculo II, como gradiente de uma
funo, campos vetoriais, entre outros, tm seus respectivos comandos que esto desabilitadas por padro no inicio do programa. Para faz-las funcionar,
necessrio carregar pacotes. Pacote um macro que contm diversos algortmos
especializados para trabalhar em tipo especcos de comandos.
A sintaxe para carregar pacotes :
Needs[pacote`]
No exemplo a seguir, carregamos o pacote VectorFieldPlots e executamos alguns
de seus comandos:
13 O
grco do hiperbolide da parte do animate est com essa opo.
24
In[6]:=
In[15]:=
Needs@" VectorFieldPlots`"D
a = VectorFieldPlot3D@82 x, 2 y, z<, 8x, -1, 1<, 8 y, -1, 1<, 8z, -1, 1<, VectorHeads TrueD
Out[15]=
Ai est o campo vetorial 2x i + 2y j + z k. O argumento adicional VectorHeads-
>True serve para adicionar a cabea(a echa) do vetor.
Out[16]=
25
8.3
Elementos Bsicos
Agora que voc j viu uma grande quantidade de comandos que desenham
grcos, deve-se estar perguntando como desenhar coisas mais simples, como
um tringulo?
A resposta para essa pergunta est no comando Graphics. Esse comando
quem cuida dos desenhos de objetos elementares, como o ponto e a linha. A
idia a voc especicar, geralmente, a coordenada inicial e coordenada nal. No
caso de um ponto, a sintaxe s conta com uma coordenada. No caso de uma
linha, ou de uma echa, voc especica duas coordenadas (o ponto de partida e
o ponto de chegada). Isso feito da seguinte maneira:
Graphics[Line[{{0,0},{2,2}}]]
vai desenhar uma linha que parte do ponto
{0,0} e chega at o ponto {2,2}.
In[36]:=
Graphics@ Line@880, 0<, 82, 2<<DD
Out[36]=
R
O comando
ListPlot[{{n,m},{j,k}}]
vai marcar diversos pontos nas
coordenadas indicadas.
In[38]:=
Graphics@ Arrow@880, 0<, 80, 0.3<<DD
Out[38]=
O comando
Graphics[Arrow[{{n,m},{j,k},...}]]
desenha uma echa
que nasce em {n,m} e morre em {j,k}.
Existem outras entidades elementares aceitas pelo Graphics, como Disk e Circle.
Disk vai desenhar um disco circular e Circle um crculo. A sintaxe nesses casos
Graphics[Circle[{a,b},r]]
onde {a,b} a coordenada do centro e r o
raio da entidade.
26
In[43]:=
Graphics@ Disk@80, 0<, 1 4DD
Out[43]=
8.4
O comando Show
O comando Show uma ferramenta interessante cuja funo apresentar,
num mesmo grco, dois ou mais elementos juntos. Por exemplo, quando voc
quiser plotar um campo escalar e ver junto os gradientes, recomendado dividir esse procedimento em 2 partes.
A primeira desenhar o campo escalar
com o ContourPlot e a segunda desenhar o gradiente. Antes de executar os
dois comandos anteriores, voc pode, e deve, associ-los a um smbolo (quase
como zemos com uma funo) para que ele seja guardado na memria e ser
buscado posteriormente. Depois disto, usar o comando
Show[a,b]
para ver os
dois grcos juntos.
Em termos prticos, o que vai acontecer o seguinte:
1. graco1 = ContourPlot[........];
2. gradiente = PlotGradientField[.....];
3. Show[graco1,gradiente]
O output dessa sequncia ser dois grcos sobrepostos. Voc pode usar quantos
elementos quiser com o Show, basta que eles sejam de mesma espcie.
Exemplos:
In[1]:=
= ContourPlotAx2 - y2 , 8x, -2, 2<, 8 y, -2, 2<E;
27
Needs@" VectorFieldPlots`"D
= GradientFieldPlotAx2 - y2 , 8x, -2, 2<, 8 y, -2, 2<E
Show@, D
2
-1
-2
-2
-1
28
9 Conclundo...
Aqui termina, parcialmente, esse tutorial. Os trs pontos no nome do captulo
indicam que este tutorial um projeto que ainda no terminou. Ainda existe
espao para ser preenchido com outros comandos, alguns detalhes a mais e com
a experincia pessoal de cada um.
Espero que, com a iniciao no programa
dada, surjam novas idias e sugestes dos leitores para melhor-lo. Descobriu
um novo comando? Conseguiu programar algum algortmo que ajuda nas nossas
matrias? No hesite em divulgar seu achado.
Agradecimentos:
1. Ao professor Mrcio Rosa.
2. A minha familia.
3. Aos colegas da faculdade que esto juntos comigo neste barco.
10 Referncias
Documentation Center, Mathematica 6.0
EDWARDS, PENNEY, Clculo com Geometria Analtica, Vol 3., Quarta edio.
Editora Prentice Hall Do Brasil
Notas pessoais
29