Escolar Documentos
Profissional Documentos
Cultura Documentos
Mathematica
Mathematica
INDICE 1
Indice
1.1 Introdu c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Deni c ao de fun c oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Composi c oes iterativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Estruturas de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5 Listas, Vectores e Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6 Uso de fun c oes no Mathematica . . . . . . . . . . . . . . . . . . . . . . . . 21
1.1. INTRODUC
AO 2
No c oes de programa cao em
Mathematica
1.1 Introdu cao
O Mathematica permite efectuar c alculos numericos e simb olicos, usando uma lin-
guagem muito pr oxima da linguagem usual da matem atica. Constitui tambem uma ferra-
menta muito util para o tra cado de gr acos de diversos tipos. O Kernel e o Notebook s ao
as duas componentes que constituem o sistema Mathematica.
O Notebook e identico a um processador de texto, pelo que se utiliza para escrever e editar
texto e express oes, visualizar, gravar e imprimir resultados.
O Kernel processa e avalia as express oes escritas no Notebook; e carregado e ca activo
aquando da primeira avalia c ao e permanece activo ate que se desligue o sistema Mathe-
matica ou o Kernel.
O Notebook e formado por celulas. Cada celula pode conter o Input (comando introduzido
pelo utilizador) e o seu respectivo Output (resultado do processamento do comando In-
put), mensagens de erro, gr acos, etc... Note-se que o Input de uma celula pode ser
avaliado premindo simultaneamente as teclas shift e return.
No Notebook pode misturar texto com comandos. Para tal basta escrever os coment arios
entre os smbolos: ( ), e assim o Mathematica executa os comandos mas n ao executa
o coment ario.
Vejamos um exemplo
In[1]:=3*5 (*multiplica c~ ao de 3 por 5*)
Out[1]=15
As palavras In[1] e Out[1] abreviam as palavras Input e Output respectivamente. O
n umero entre parentesis rectos indica que este e o primeiro Input e o primeiro Output. O
Mathematica numera o Input e Output pela ordem em que s ao executados. Neste pequeno
exemplo o unico comando executado e a multiplica c ao de 3 por 5, pois como o restante se
1.1. INTRODUC
AO 3
encontra entre os smbolos (* *) o Mathematica interpreta o comando como coment ario e
n ao o executa.
O Mathematica e Case Sensitive, isto e, nos seus comandos letras mai usculas e
min usculas n ao s ao indistintas. Como qualquer linguagem o Mathematica tem uma sin-
taxe inerente. Vejamos algumas regras:
- Os comandos come cam com letra mai uscula, e se o comando e formado por duas
palavras, cada palavra come ca por letra mai uscula. Ex: MatrixForm
- As fun c oes em Mathematica tem sempre a primeira letra mai uscula e o argumento
aparece entre parentesis recto. Vejamos alguns exemplos em concreto
Tabela 1.1
Nota cao usual Escrita em Mathematica
sen(x) Sin[x]
cos(x) Cos[x]
f(x) = 2x f[x_]:=2x
f(x, y) = 2x + y f[x_,y_]:=2x+y
ln(x) Log[x]
log
a
(x) Log[a,x]
x Sqrt[x]
Para alem dos parentesis rectos o Mathematica utiliza os parentesis curvos e as
chavetas.
Os parentesis curvos s ao usados para agrupar termos, ` as vezes s ao estritamente
necess arios; outras vezes s ao usados para tornar as express oes mais claras.
As chavetas s ao normalmente usadas para delimitar uma lista, de modo a que todos
os objectos de um conjunto sejam tratados como um s o.
- As express oes booleanas (de valor verdadeiro ou falso) desempenham um papel
importante no Mathematica. A tabela que se segue descreve a sintaxe dos conectivos
booleanos nega c ao, conjun c ao e disjun c ao:
1.1. INTRODUC
AO 4
Tabela 1.2
Escrita em Mathematica
Nega c ao !p ou Not[p]
Conjun c ao p&&q ou And[p,q]
Disjun c ao p||q ou Or[p,q]
- No que diz respeito aos principais operadores de compara c ao, a sua sintaxe e des-
crita na tabela apresentada de seguida
Tabela 1.3
Escrita em Mathematica
Igual x = = y ou Equal[x,y]
Diferente x != y ou Unequal[x,y]
Menor x < y ou Less[x,y]
Maior x > y ou Greater[x,y]
Menor ou igual x <= y ou LessEqual[x,y]
Maior ou igual x >= y ou GreaterEqual[x,y]
Para obter mais informa c oes acerca de um comando podemos recorrer ao Help. Para
tal, no menu do Helpescolha Help, este encontra-se dividido nos seguintes t opicos:
- Built-in Functions: Informa c ao acerca das fun c oes que est ao denidas no Mathe-
matica.
- Add-ons:Informa c ao acerca dos programas adicionais no seu sistema.
- The Mathematica Book: O livro The Mathematica Book.
- Getting Started: Algumas informa c oes iniciais.
- Other Information: Informa c oes acerca dos comandos denidos no menu do
Mathematica e outras informa c oes.
- Master Index: Um ndice geral do Help.
1.2. DEFINIC
AO DE FUNC
OES 5
Para alem do mencionado anteriormente tambem no pr oprio Notebook e possvel obter
informa c oes acerca de um determinado comando do Mathematica. Para tal basta escrever
?MatrixForm :Fornece breve informa c ao acerca do comando MatrixForm
??MatrixForm :Fornece informa c ao detalhada acerca do comando MatrixForm
?F* :Fornece lista de todos os comandos que come cam com a letra F
?*Form :Fornece lista de todos os comandos que terminam com Form
1.2 Deni cao de fun c oes
O Mathematica possui um enorme leque de fun c oes pre denidas. No entanto, ao longo
do curso teremos necessidade de denir as nossas pr oprias fun c oes que poder ao n ao estar
disponveis no leque de fun c oes iniciais do Mathematica.
A deni c ao de uma fun c ao real de vari avel real f : R R, no Mathematica, e efectuada
atraves do comando:
f[x
] = expressao (1.1)
O underscore, , serve para indicar a vari avel independente, ou seja, permite que os
argumentos da fun c ao possam ser substitudos por qualquer express ao, seja ela numerica
ou simb olica.
Exemplo 1
- Atribui c ao a f[x] da express ao z
In[1]:= f[x] = z (*defini c~ ao de uma express~ ao*)
Out[1]= z
- A express ao f[x] e substituda por z, o mesmo n ao acontece a f[y]
In[2]:=f[x] + f[y]
Out[2]= z + f[y]
- Denamos agora a fun c ao Cos(x)
In[3]:= f[x_] = Cos[x] (*defini c~ ao da fun c~ ao Cos(x)*)
Out[3]=Cos[x]
1.2. DEFINIC
AO DE FUNC
OES 6
- Efectuando novamente a soma de f[x] com f[y], o valor z continua a ser atribudo ` a
express ao f[x]. No entanto, o valor de f[y] e identicado com a imagem da fun c ao
f, anteriormente denida, no ponto y.
In[4]:=f[x] + f[y]
Out[4]= z + Cos[y]
- Se n ao quiser mais identicar f[x] com z pode apagar essa informa c ao da mem oria.
Fa ca,
In[5]:=Clear[f]
ou
In[6]:= f =.
Assim, agora quando denimos uma nova fun c ao f e efectuamos a soma de f[x]
com f[y] obtemos
In[7]:= f[x_]=Log[x] (*defini c~ ao da fun c~ ao logar tmica de base e*)
Out[7]=Log[x]
In[8]:= f[x] + f[y] (*soma de duas imagens da fun c~ ao f*)
Out[8]= Log[x] + Log[y]
Existem determinadas situa c oes em que se torna necess ario juntar os dois conceitos
atr as explicados.
Por exemplo, a deni c ao da fun c ao factorial pode ser feita da seguinte forma:
f[n