curso1.mw

 

INTRODUÇÃO AO MAPLE 

 

Introdução Geral 

Material para download:    

               http://www.lncc.br/~portugal/maple.html 

 

Maple Application Center 

               http://www.mapleapps.com 

 

Site oficial do Maple 

               http://www.maplesoft.com 

 

Este material foi preparado na versão 18. 

Interface com o Usuário: A Folha de Trabalho (worksheet)  

 

A interface principal de trabalho é chamado de worksheet, que pode ser traduzido como folha de trabalho ou caderno de anotações. Neste curso descrevemos em detalhes o funcionamento da folha de trabalho (os detalhes são descritos oralmente nos cursos no LNCC/UCP/PUC-Rio). Pressionando F1, a seguinte janela aparece: 

 

Image 

 

Esta janela tem muito pouca utilidade. A primeira sugestão é fechar (F1 novamente), desmarcar o box Show on new Documents no canto inferior e não abrir mais para não ocupar espaço.  

 

Existem duas principais versões de worksheet: padrão (extensão .mw) e clássica (extensão .mws). É conveniente usar a versão padrão para ter acesso a todas as funcionalidades. A versão clássica é o modelo antigo cuja tendência é ser abandonada. É possível converter uma na outra no momento de salvar (salvar como). Basta escolher a extensão mw.  

 

Na linha abaixo vemos um comando de pronto (prompt): 

O usuário pode entrar com um comando do Maple, por exemplo, somar dois números e pressionar Enter: 

>

> `+`(5, 7)
12 (1.1.1)
 

A saída é na cor azul por default. A linha de comando por default é preta. Neste curso, a cor vermelha será usada para destaque. 

 

As hotkeys são muito úteis. Veja a descrição delas de acordo com o sistema operacional. 

 

worksheet,reference,hotwin   - Windows 

worksheet,reference,hotunix  - Linux
worksheet,reference,hotmac - Mac 

 

As mais usadas são:  

 

Ctrl+k - cria um comando de pronto acima 

Ctrl+j  - cria um comando de pronto abaixo 

Ctrl+Delete - apaga um linha inteira 

F2 ou Ctrl+F1 - abre a janela do Help on Line. 

F2 - abre a janela do Help on Line na palavra (já escrita na worksheet) imediatamente após o cursor (a palavra tem que fazer parte do Help on Line). 

F3 - separa um grupo de comandos ou linhas de texto 

F4 - une um grupo de comandos ou linhas de texto 

Tab - o cursor vai para a próxima linha de comando 

Shift+Tab - o cursor vai para a linha de comando anterior  

 

Help on Line 

O help on line é uma parte fundamental do Maple, pois é impossível memorizar todos os comandos. Existem diversas maneiras de usar o help on line:  

1. Através de um hiperlink: diff    

2. Crtl+F1 - depois digite o termo de procura em Inglês no canto superior esquerdo depois clique search. 

3. Clique com o mouse no começo (ou no meio) do comando desejado sem hiperlink (o comando já tem que estar escrito) e pressione F2. Por exemplo, teste no comando solve escrito nesta linha ou no da linha abaixo. 

>

4. No comando de pronto, digite o sinal interrogação seguido do termo de procura, por exemplo: 

> solve

> help(

As páginas de ajuda têm a seguinte estrutura:  

1. Nome de comando 

2. Descrição geral da sintaxe do comando e dos parâmetros 

3. Descrição detalhada do comando 

4. Exemplos 

5. Comandos relacionados com hiperlinks 

Bibliotecas 

Por que alguns comandos Maple devem ser carregados com with? Para responder essa pergunta é conveniente esclarecer a estrutura das bibliotecas do Maple. Elas estão divididas em 3 tipos: 

 

Standard Library - Comandos que são carregados automaticamente. 

Packages - Comandos para áreas e aplicações específicas. Carregados com with . 

Maple Application Center - Pacotes acessíveis pela internet (usualmente escritos por usuários). 

 

A Standard Library consiste dos comandos que são carregados automaticamente. Alguns são carregados quando o Maple é disparado enquanto que outros são carregados posteriormente a medida em que forem sendo usados também de forma automática. O usuário não tem que se preocupar com o carregamento dos comandos desta biblioteca. Os comandos int, solve, map, dsolve, simplify, seq são exemplos de funções da Standard Library. Para a lista completa de comandos carregados automaticamente veja: ? index,function . Um subconjunto destes comandos são as funções matemáticas implementadas no Maple. Veja ? initialfunctions . 

 

Os pacotes são conjuntos de comandos voltados para áreas específicas da Matemática ou de outras disciplinas. No momento em que um pacote é carregado, subentende-se que um determinado contexto foi especificado. Algumas funções das outras bibliotecas ou de outros pacotes podem ser redefinidas. Nesse caso o Maple alerta para a redefinição. Alguns operadores novos podem ser acrescentados. Por exemplo, o pacote Linear Algebra tem os operadores +, * (ou e ^ para números e polinômios porém define o operador para multiplicação de matrizes. Através do comando ? index[package] podemos obter a listas do pacotes.  

>
> ?index[package]
 

Abaixo mencionamos alguns deles com as áreas que se referem: 

                                                                                               
CodeGeneration         geração de códigos em C, Fortran, Python, Matlab, Java   
combinat                   comandos para combinatória     
CurveFitting              ferramentas para ajuste de curvas       
DEtools                     ferramentas para equações diferenciais ordinárias  
finance                      comandos para matemática finaceira      
geom3d                     Euclidean three-dimensional geometry     
geometry                   Euclidean geometry       

GlobalOptimization    mínimos ou máximos globais de funções contínuas      
Groebner                    base de Groebner para sistemas de equações não lineares  
IntegrationTools        ferramentas para manipular integrais
LinearAlgebra            pacote principal para Álgebra Linear 

ListTools                   comandos para manipulação de listas
MathML                     importa exporta expressões de Maple como MathML       
Matlab                       Matlab Link         
numapprox                numerical approximation               
numtheory                 number theory         
PDEtools                   ferramentas para equações diferenciais parciais    
plots                         pacote principal para gráficos   
plottools                   pacote auxilar para gráficos       
RandomTools            ferramentas para geração de estruturas aleatórias   
RealDomain              ferramentas para manipulas números reais     
simplex                    otimização linear    
SolveTools                ferramentas para resolver equações algébricas
stats                         comando para cálculos estatísticos     
StringTools               ferramentas para manipulação de strings.   
student                     ferramentas em cálculo diferencial e integral      

VectorCalculus          cálculo vetorial 

 

Os pacotes são carregados com  o comando with. Nesse caso todas as funções do pacote estarão disponíveis. Por exemplo: 

> with(combinat);
 

[Chi, bell, binomial, cartprod, character, choose, composition, conjpart, decodepart, encodepart, eulerian1, eulerian2, fibonacci, firstcomb, firstpart, firstperm, graycode, inttovec, lastcomb, lastpa...
[Chi, bell, binomial, cartprod, character, choose, composition, conjpart, decodepart, encodepart, eulerian1, eulerian2, fibonacci, firstcomb, firstpart, firstperm, graycode, inttovec, lastcomb, lastpa...
[Chi, bell, binomial, cartprod, character, choose, composition, conjpart, decodepart, encodepart, eulerian1, eulerian2, fibonacci, firstcomb, firstpart, firstperm, graycode, inttovec, lastcomb, lastpa...
[Chi, bell, binomial, cartprod, character, choose, composition, conjpart, decodepart, encodepart, eulerian1, eulerian2, fibonacci, firstcomb, firstpart, firstperm, graycode, inttovec, lastcomb, lastpa...
[Chi, bell, binomial, cartprod, character, choose, composition, conjpart, decodepart, encodepart, eulerian1, eulerian2, fibonacci, firstcomb, firstpart, firstperm, graycode, inttovec, lastcomb, lastpa...
(1.3.1)
 

> powerset({a,b,c});    
 

{{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}} (1.3.2)
 

É possível carregar uma única ou algumas funções de um pacote. Por exemplo 

> with(CurveFitting, Spline);
 

[Spline] (1.3.3)
 

> F := Spline([[0,0],[1,1],[2,4],[3,3]], x);
 

F := piecewise(`<`(x, 1), `+`(`*`(`/`(4, 5), `*`(`^`(x, 3))), `*`(`/`(1, 5), `*`(x))), `<`(x, 2), `+`(`-`(`*`(2, `*`(`^`(x, 3)))), `*`(`/`(42, 5), `*`(`^`(x, 2))), `-`(`*`(`/`(41, 5), `*`(x))), `/`(14... (1.3.4)
 

> plot(F(x), x=0..4);
 

Plot_2d
 

Para mais detalhes de como usar pacotes veja:   Using Packages . 

 

Exemplo 

Exemplo de simulação: Oscilação de uma corda de comprimento L. 

> omega := proc (n) options operator, arrow; `/`(`*`(n, `*`(Pi, `*`(c))), `*`(L)) end proc

> normal_mode := proc (n) options operator, arrow; `*`(sin(`/`(`*`(n, `*`(Pi, `*`(x))), `*`(L))), `*`(cos(`/`(`*`(n, `*`(Pi, `*`(c, `*`(t)))), `*`(L))))) end proc
 

(1.4.1)
 

> L := 50; 1

> c := 1
 

(1.4.2)
 

Clique na figura e dispare a animação (clique no play). 

> plots[animate](normal_mode(2), x = 0 .. L, t = 0 .. `+`(`/`(`*`(2, `*`(Pi)), `*`(omega(2)))), color = black, frames = 30, axes = none)
Plot_2d