Buscar

Maple Matematica Guia

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Continue navegando


Prévia do material em texto

Um Curso de Maple 
 
 
UESC 
Universidade Estadual de Santa Cruz 
Departamento de Ciências Exatas e Tecnológicas 
 
André Nagamine 
andren@uesc.br 
 
março de 2001 
 
 
 2
SUMÁRIO 
 
 
I. Introdução _______________________________________________________ 3 
1. Sintaxe e Comandos Básicos ________________________________________ 5 
1.1 Sintaxe ______________________________________________________ 5 
1.2. Operações Básicas ____________________________________________ 7 
1.3. Representação Decimal ________________________________________ 8 
1.4. Aritmética ___________________________________________________ 9 
1.5. Operações com número complexos______________________________ 11 
1.6. Atribuindo letras e nomes _____________________________________ 12 
1.7. Operações Simbólicas_________________________________________ 13 
1.8. Somatórios__________________________________________________ 14 
2. Sequência, Listas, Conjuntos e “Array”______________________________ 15 
2.1. Sequência___________________________________________________ 15 
2.2. Lista _______________________________________________________ 16 
2.3. Conjunto ___________________________________________________ 18 
2.4. Operações com Conjuntos e Listas ______________________________ 18 
2.5. Array ______________________________________________________ 19 
3. Encontrando Soluções (sistemas e expressões), Funções e Polinômios _____ 22 
3.1. Resolução de Equações e Sistemas ______________________________ 22 
3.2. Funções de uma variável ______________________________________ 24 
3.2.1 Funções reconhecidas (usuais) _______________________________ 26 
3.2.2 Funções definidas por partes ________________________________ 28 
3.3. Operações com Polinômios ____________________________________ 30 
4. Gráficos de Funções 2D e 3D_______________________________________ 33 
1.1. Gráficos em duas dimensões ___________________________________ 33 
1.1.1 Gráficos de funções _______________________________________ 33 
1.1.2 Gráficos de curvas no plano _________________________________ 35 
1.1.3 Gráficos em Coordenadas Polares ____________________________ 36 
1.1.4 Múltiplos Gráficos em 2D __________________________________ 36 
1.1.5 Animação de Gráficos em Duas Dimensões ____________________ 38 
1.2. Gráficos em três dimensões ____________________________________ 39 
1.2.1 Gráficos de funções _______________________________________ 39 
1.2.2 Gráficos de superfícies no espaço ____________________________ 40 
1.2.3 Múltiplos Gráficos em 3D __________________________________ 41 
2. Tópicos de Cálculo _______________________________________________ 42 
2.1. Limites _____________________________________________________ 42 
2.1.1 Limites de funções de uma variável ___________________________ 42 
 3
2.1.2 Limites laterais ___________________________________________ 43 
2.1.3 Limites de funções de mais de uma variável ____________________ 43 
2.2. Derivadas___________________________________________________ 44 
2.2.1 Derivadas de funções de uma variável _________________________ 44 
2.2.2 Derivadas de ordem superior ________________________________ 45 
2.2.3 Derivadas de funções de mais de uma variável __________________ 46 
2.3. Integrais____________________________________________________ 47 
2.3.1 Integrais Múltiplas ________________________________________ 48 
3. Tópicos de Programação __________________________________________ 50 
3.1. Fundamentos________________________________________________ 50 
3.2. Estruturas de Programação____________________________________ 51 
3.2.1 O Comando “for” _________________________________________ 52 
3.2.2 O Comando “if” __________________________________________ 53 
3.2.3 O Comando “while” _______________________________________ 54 
3.3. Controle de Parâmetros _______________________________________ 55 
3.4. Outros Exemplos ____________________________________________ 55 
3.4.1 Procedimentos Recursivos __________________________________ 55 
3.4.2 Procedimento com Listas ___________________________________ 57 
3.4.3 O Método de Iteração de Newton_____________________________ 58 
7. Bibliografia _____________________________________________________ 59 
 
 
 
I. Introdução 
 
O presente texto foi elaborado no sentido de nortear o andamento do curso intitulado 
“Curso de Introdução ao Software Maple”, ministrado no período de 18/04/2001 a 
07/052001, o qual é parte integrante das atividades desenvolvidas pelo Grupo de 
Pesquisa em Ensino e Aprendizagem da Matemática em Ambiente Computacional – 
GPEMAC que vem atuando na área de matemática de DCET desde janeiro de 2000. 
O Maple é um sistema de computação algébrica desenvolvido por Waterloo Maple Inc. 
(Ontário, Canadá). A expressão “sistema de computação algébrica”, deve-se ao fato de 
que o Maple permite aos seus usuários fazer cálculos não somente com números, mas 
também com símbolos, fórmulas, expressões, equações e assim por diante. Pode-se usar 
essa capacidade simbólica para obter soluções analíticas exatas para muitos problemas 
matemáticos, por exemplo, diferenciação, integração, sistemas de equações, expansão 
de funções em séries, problemas em Álgebra Linear, etc. Sistemas de computação 
algébrica, em particular o Maple, são poderosas ferramentas para matemáticos, físicos, 
 4
químicos, engenheiros, enfim para todos aqueles que necessitam de respostas rápidas e 
precisas para determinados problemas matemáticos. 
O curso tem como objetivo fornecer ao participante um apanhado geral das 
potencialidades de Maple em relação a diversos tópicos da matemática. Não se tem, no 
desenvolvimento das atividades, a pretensão de detalhar e aprofundar os temas 
propostos, mesmo porque isso seria improvável dada a carga horária destinada ao curso 
e também dada a extensão do software. Pretende-se, sim, fornecer ao participante os 
caminhos possíveis para que ele próprio possa escolher no tratamento e resolução de 
seus problemas matemáticos. O curso é dividido em dois módulos, no primeiro serão 
abordados os seguintes tópicos: sintaxe e comandos básicos, seqüência , listas, 
conjuntos, arrays, sistemas e expressões, funções e polinômios. No segundo módulo 
serão abordados os seguintes tópicos: gráficos 2d e 3d, tópicos de cálculo e tópicos de 
programação. 
 
 5
 
1. Sintaxe e Comandos Básicos 
 
1.1 Sintaxe 
Ao abrir o Maple nos é apresentada uma folha de trabalho(Worksheet ou prompt), no 
qual podemos acionar funções do aplicativo, produzir textos, hipertextos, cálculos, obter 
gráficos e animações. A interface gráfica do Maple não oferece dificuldades para os 
usuários. Na parte de cima da folha vemos três barras de menu, e na parte de baixo uma 
barra contendo informações sobre o estado atual do sistema. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Os procedimentos de abrir um novo documento do Maple, abrir um documento já 
existente do Maple, salvar um documento, imprimir, recortar, copiar e colar, são 
análogos aos do Word e podem ser acionados através dos ícones 
 
ou ainda através dos menus File e Edit, selecionando os comandos new, open, save, 
print, cut, copy e paste, respectivamente. Cada um desses comandos também possuem 
uma combinação de teclas de atalho que também podem ser utilizadas. 
Nesta primeira parte, através de exemplos, discutiremos algumas regras de sintaxe que 
são absolutamente indispensáveis na elaboração de um cálculo matemático com o 
Maple. Toda instrução de cunho matemático no Maple deve inicia–se com um prompt 
assinalado pelo símbolo > logo após o [, em frente ao qual podemos escrever um 
comando a ser executado, e necessariamente deve termina com o sinal ( ; ) ou ( : ). O : 
deve ser usado apenas quando desejamos que um determinado comando seja apenas 
guardado na memóriado Maple e não exibido em tela. Uma região tipo input pode ser 
modificada para uma região tipo texto, ou vice–versa, mediante o uso da tecla F5, ou 
usando o ícone do menu. 
 6
Vejamos o que acontece quando esquecemos o sinal de ponto e vírgula ( ; ) ao final de 
qualquer comando matemático. 
 >2*3 
 > 
 Warning, incomplete statement or missing semicolon 
 
O sistema reclama em azul dizendo que a instrução 2*3 está incompleta ou que falta um 
ponto e vírgula. Neste caso devemos voltar e corrigir o problema. 
>2*3; 
 6 
 
De forma semelhante às calculadoras científicas existe uma ordem de precedência ao 
efetuar operações algébricas básicas. A multiplicação e divisão são efetuadas antes da 
adição e subtração e potências são efetuadas antes da multiplicação, obedecendo assim a 
ordem de precedência na avaliação de expressões. Cabe lembrar que como qualquer 
outro software matemático existem símbolos determinados para efetuar as operações 
algébricas básicas de acordo com o teclado do computador. O esquema abaixo ilustra o 
que foi dito. 
 
 
 
 ! ^ou** / * + 
– 
fatorial potenciação divisão multiplicação adição 
subtração 
Por exemplo, se colocarmos: 
> 2+2–8*3/2; 
teremos como resposta –8, pois o Maple efetua primeiro a divisão 3/2 multiplica o 
resultado por 8 efetua a soma 2+2 e por último efetua a subtração 4–12. 
Para evitar confusões podemos utilizar parênteses () que é necessário para modificar a 
ordem de precedência. Porém colchetes [] e chaves {} não devem ser utilizados para este 
fim. 
Exemplo: 
> (2+2–8)*3/2; 
–6 
> (2+2–8*3)/2; 
 
–10 
> {2+2–8*3}/2; 
Error, use intersect for sets 
 
O Maple trabalha com um sistema multi–linha. Vários comandos podem ser colocados 
em uma mesma linha, ou um comando em várias linhas. Exemplos: 
>1+2; 2+3; 3+4; 
3 
5 
7 
 
Obs.: Um comando pode utilizar várias linhas, desde que agrupadas em um 
único colchete. 
ordem de precedência
 7
Se terminarmos uma instrução com : (dois pontos), o maple a executa e a guarda na 
memória, mas não mostra o resultado no tela. Por exemplo: 
>1+2: 
>%+3; #somando 3 ao resultado anterior 
6 
 
Para acionar o sistema de ajuda, help on–line, basta digitar no prompt o sinal ? 
seguido da expressão da qual se deseja informação. Por exemplo, digitando 
>?limit 
e acionando a tecla ENTER, é apresentada na tela um folha com informações sobre o 
comando limit, sua sintaxe, exemplos e comandos correlatos. O sistema de ajuda 
pode ser acessado também através do menu. No item help do menu básico se encontra 
várias maneiras de buscar ajuda no Maple. 
 
 
 
 
 
 
 
 
 
 
Ao encontrar uma falha em um comando o Maple responde com uma mensagem de 
erro. Na mensagem vem indicado o tipo de falha, e o cursor localiza a primeira falha. 
Os principais erros são: sintaxe inadequada, como equívoco na digitação, nome 
incorreto de comando, uso de palavras reservadas, ou ainda erro de domínio de funções 
matemáticas, cálculos que excedem a capacidade de memória ou de computação do 
sistema ou do aplicativo, etc. Exemplos: 
>7/0; 
Error, division by zero 
>6*–1; 
Syntax error, `–`unexpected 
>3x; 
Syntaxe error, missing operator or `;` 
>tan(Pi/2); 
Error, (in tan) singularity encoutered 
>1234567890^9876543210; “você sabe quantos dígitos tem esse número?” 
Error, integer too large in context 
 
 
1.2. Operações Básicas 
 
As operações aritméticas básicas são feitas com os seguintes símbolos: 
 
+ (adição) – (subtração) * (multiplicação) / (divisão) ^ (potênciação). 
 
>5*3+8; 
 8
23 
 
 
>3^2*3; 
27 
 
 
>(8*2+4)/(10*3–25); 
4 
Obs.: Os resultados acima estão de acordo com a ordem de precedência discutida 
anteriormente. 
1.3. Representação Decimal 
Quando se realiza operações numéricas, a menos que os tipos numéricos sejam float 
(números em representação decimal) o Maple retorna sempre o resultado exato na forma 
simbólica, por exemplo: 
> 1/2 + 5; 30/9; Pi; exp(2); ln(2); 
 
11/2 
10/3 
π 
e2 
ln(2) 
 
Em alguns casos para se obter o número na forma decimal basta acrescentar um ponto 
após o número. Isso faz com que o Maple leia o número em aritmética de ponto 
flutuante. 
> 1/2 + 5.; 30./9; ln(2.); 
5.500000000 
3.333333333 
.6931471806 
Obs.: o último número acima é o mesmo que 0,6931471806. O Maple usa ponto no 
lugar da vírgula e não mostra o número que está a esquerda ou a direita do ponto caso 
este seja apenas o zero. Nos exemplos acima 5. é o mesmo que 5,0, 30. é o mesmo que 
30,0 e 2. é o mesmo que 2,0. 
 
Uma forma mais geral é usar o comando evalf (avaliar com ponto flutuante) para se 
obter uma representação decimal de um número. Normalmente, o sistema utiliza dez 
algarismos significativos. 
 
>evalf(176/47); 
3.744680851 
 
Também podemos modificar o número de dígitos para quanto quisermos. Por exemplo: 
 
>evalf(22/7, 50); #modificando localmente o número de 
dígitos para 50; 
3.1428571428571428571428571428571428571428571428571 
 
>evalf(Pi); 
 9
3.141592654 
 
Obs.: O símbolo # utilizado acima significa comentário. Ele é utilizado quando se quer 
fazer algum comentário a respeito do comando. Tudo o que vem depois desse símbolo é 
ignorado pelo Maple. 
 
O número de dígitos utilizado na representação float é, por default, 10. Este valor está 
alocado na variável global Digits. Podemos modificar o valor dessa variável. Por 
exemplo: 
 
>Digits := 3 
Digits:=3 
>evalf(Pi); calculando o valor de π com 3 dígitos (incluindo o dígito inteiro) 
 
3.14 
Para restabelecer o valor original da variável global Digits implementamos o 
comando, 
 
>Digits:=10; 
Digits:=10 
 
>1/3; nos dá o resultado em forma de fração 
 
1/3 
 
>evalf(%); 
.3333333333 
 
O símbolo % junto com o comando evalf representa o último valor calculado na 
forma de número decimal. 
 
 
1.4. Aritmética 
O comando sqrt (abreviação de square root) calcula a raiz quadrada. 
 
> sqrt(25); 
5 
Se quisermos no Maple calcular o fatorial de um número, basta colocarmos depois do 
número o símbolo !. Por exemplo: 
 
> 20!; 
2432902008176640000 
 
Agora um outro comando pode contar quantos dígitos tem o resultado acima, estamos 
falando do comando length. Como por exemplo: 
>length(%); 
19 
 
 10
O Maple tem muitos comandos que podem trabalhar com números inteiros, citaremos 
alguns importantes. 
 
Se quisermos obter a decomposição de um determinado número inteiro em fatores 
primos usamos o comando ifactor. Por exemplo: 
 
>ifactor(60); 
(2)2 (3) (5) 
 
De outro modo o Maple pode determinar o máximo divisor comum entre dois ou mais 
números, para isso usamos o comando igcd. Por exemplo: 
 
>igcd(123,45); 
3 
 
O comando iquo calcula o quociente da divisão entre dois números inteiros, como por 
exemplo: 
 
>iquo(25,3); 
8 
 
Também no Maple pode–se calcular o resto da divisão entre dois números inteiros, 
basta usarmos o comando irem . 
 
>irem(25,3); 
1 
 
Na matemática, mas especificamente na álgebra vemos que para achar o resto da divisão 
entre dois números podemos aplicar o conceito de mod. No Maple tal conceito continua 
existindo, podendo assim também acharmos o resto da divisão entre dois números de 
outra maneiro, usando o comando mod. Por exemplo: 
 
>25 mod 3; 
1 
Obs.: O comando mod no exemplo acima também pode ser interpretado da seguinte 
forma: 25 em ZZ 3 é igual a 1 (faça as contas e tente outros exemplos). 
 
O comando isprime possibilita sabermos se um determinado número inteiro é primo 
ou não. Por exemplo: 
 
>isprime(3345674); 
false 
 
>isprime(18002676583); 
true 
 
Para acharmos no Maple o valor absoluto de um número, usamos o comando abs. 
 
>abs(–5);11
5 
 
No Maple podemos provocar um retorno em um tipo numérico desejado, para isso 
basta usarmos a função convert. 
 
>convert(sqrt(28),float); 
 5.291502622 
 
 
>convert(8.66666666, fraction); convert(5/7,float); 
 
 26/3 
 .7142857143 
 
>convert(247,binary); nos dá o número 247 em representação binária 
 
11110111 
 
Os comando cos, sin, tan nos dá o valor da função cosseno, seno e tangente 
respectivamente em um determinado ponto. Por exemplo; 
 
>cos(Pi/3); nos dar o valor exato da função cosseno no ponto Pi/3 
 
 ½ 
 
>sin(Pi/6); nos dar o valor exato da função seno no ponto Pi/6 
 ½ 
 
>tan(Pi/4); nos dar o valor exato da função tangente no ponto Pi/4 
 
1 
 
No Maple para escrevermos a função exponencial e logarítmica . Devemos usar 
respectivamente o comando exp e ln. 
 
>exp(1); 
e 
 
>ln(1); 
0 
 
>ln(exp(5)); 
5 
 
 
1.5. Operações com número complexos 
 
 12
No Maple podemos trabalhar também com números complexos. O símbolo I 
representa matematicamente para o Maple o número 1− , podendo assim usarmos os 
conceitos de operações de números complexos no Maple. Por exemplo: 
 
>(2+5*I)+(1–I); 
 3+4I 
 
>(1+I)/(3–2*I); 
 (1/13) + (5/13)I 
 
>4*I+(5+3*I); 
5+7I 
 
>(4–3*I)–(8–9*I); 
–4 + 6 I 
 
O Maple possibilita sabermos qual a parte imaginária e real de um determinado número 
complexo, para isso usamos respectivamente os comandos Im e Re. Por exemplo: 
>2+7*I; 
 2+7I 
>Im; nos dá a parte imaginária do número complexo acima 
 7 
>3–6*I; 
 3–6I 
>Re; nos dá a parte real do número complexo acima 
 3 
 
 
1.6. Atribuindo letras e nomes 
 
Nos trabalhos mais complexos é importante podermos representar por letras ou nomes 
expressões complicadas. No Maple esta representação é feita através do símbolo ( := ). 
A regra é simples: A := B significa que o lado direito (B) é a definição do lado esquerdo 
(A). 
 
>num := 4568/235; 
4568/235 
>var :=x; 
 var:=x 
 
>term :=x*y; 
 term:=xy 
 
>A1 :=x*sqrt(4); 
 A1:=2x 
 
Uma vez que você atribuiu um nome ou uma letra a uma certa expressão você pode 
usá–lo como se fosse a própria expressão. 
 13
>A1^2; 
 4x2 
>2*var+var^2+var^3; 
2x+ x2 + x3 
>2*num+num; 
13704/235 
 
Atribuir letras ou nomes a expressões é algo muito útil quando você precisa utilizar uma 
determinada expressão diversas vezes. 
 
1.7. Operações Simbólicas 
 
Uma das vantagens do Maple na computação algébrica é a capacidade de se fazer 
cálculos simbólicos, ou seja, a manipulação de expressões algébricas. Veremos a seguir 
os comandos expand (expandir), factor (fatorar), simplify (simplificar) os quais 
são os mais utilizados para se trabalhar com expressões algébricas. Primeiramente 
podemos ver que o Maple trabalha muito bem com qualquer tipo de expressões 
algébricas. 
>(1+x)^2; 
(1 + x)2 
>(1+x)+(1+x)–x–x^2+3*x^2; 
2 + x + 2x2 
Note que, expressões envolvendo apenas somas ou subtrações, são automaticamente 
simplificadas. 
>A2:= (x–y)*(x^2+x*y+y^2); 
 A2:= (x – y)(x2 + xy + y2) 
A2 acima é uma expressão qualquer definida no Maple através de um produto. Se 
desejarmos saber o resultado usamos, 
>expand(A2); 
 
 – y3 + x3 
O comando expand tem primariamente a função de efetuar o produto em uma soma, 
como foi visto no caso acima. 
>A3:=expand(A2*(y+1)); 
 A3:= x3y + x3 – y4 – y3 
 Expand também pode ser usado para se expandir outras expressões, 
>expand(cos(a+b)); 
cos(a)cos(b) – sin(a)sin(b) 
>expand(exp(a+ln(b))); 
eab 
 
O comando simplify é usado para se aplicar regras de simplificação às expressões. 
>A4:=A3/(y+1); 
 14
A4:=
1
3433
+
−−+
y
yyxyx 
>simplify(A4); 
– y 3+ x3 
>A5:=cos(x)^5+sin(x)^4+2*cos(x)^2–2*sin(x)^2–cos(2*x); 
A5:=cos(x)5 + sin(x)4 + 2cos(x)2 – 2sin(x)2 – cos(2x) 
>simplify(A5); 
cos(x)5 + cos(x)4 
 
O comando factor é usado para fatorar expressões algébricas. 
>A6:= x^2+2*x+1; 
A6:= x2 + 2x + 1 
>factor(A6); 
(x + 1)2 
 
>A7:= x^5–x^4–7*x^3+x^2+6*x; 
A7:=x5 – x4 – 7x3 + x2 + 6x 
>factor(A7); 
x(x – 1)(x – 3)(x + 2)(x + 1) 
Em um quociente o Maple o comando factor automaticamente simplifica os fatores 
comuns no numerador e denominador. 
>factor((x^2–1)/(x+1)); 
(x – 1) 
 
1.8. Somatórios 
 
No Maple podemos usar o conceito de somatório, para isso usamos o comando Sum ou 
sum. Os somatórios podem ser colocados de forma genérica, ou seja, a variação do 
índice não necessariamente precisa ser numérica. Vejamos alguns exemplos abaixo: 
 
>Sum(i, i=1..5); 
 ∑
=
5
1i
i 
 
O comando Sum quando escrito com letra maiúscula, apenas representa a soma no 
símbolo de somatório, agora se este estiver escrito com a letra minúscula ele nos dará o 
valor da soma, por exemplo. 
 
>sum(i, i=1..5); 
 15 
 
Veremos outro exemplo: 
>Sum(1/i^2, i=1..5); 
 15
 ∑
=
5
1
2
1
i i
 
 
Se usarmos o comando value, este também nos dar o valor da soma como acontece 
com o comando sum.Por exemplo: 
 
>value(%); 
 137/60 
Vejamos agora um exemplo onde a variação do índice não é numérica. 
>sum(i,i=1..n); 
2
1 (n + 1)2 – 
2
1 n – 
2
1 
Note que esta última fórmula é bem conhecida, pois é a soma de n primeiros números 
inteiros. 
Obs.: tudo o que foi dito acima para o somatório também é válido para o produtório, 
cujo comando no Maple é product. 
 
 
2. Sequência, Listas, Conjuntos e “Array” 
 
2.1. Sequência 
No Maple uma seqüência é uma estrutura de dados básica. Esta é um simples grupo de 
expressões do Maple separadas por vírgulas. 
 
>s:= 1, 2, 3, 4; 
 s:= 1, 2, 3, 4 
>x, y, z, w; 
 x, y, z, w 
 
O ponto “ . “ é usado para concatenar sequências. Por exemplo: 
>b:= 1, 3, 5, 7; 
 
 b:= 1, 3, 5, 7 
>a.b; 
 a1,a3,a5,a7 
Pode–se também fazer múltiplas atribuições utilizando a notação de sequência. Por 
exemplo 
 
>f, g, h:= 3, 6, 1; 
 
 f, g, h:= 3, 6, 1 
>f; 
 3 
>h; 
 1 
 16
No Maple ao se trabalhar com sequências, caso os temos de uma sequência sejam eles 
próprios sequências, este automaticamente transforma tudo em uma única sequência. 
>s:= 1, 2, 3, 4; 
s:= 1, 2, 3, 4 
>b:= 1, 3, 5, 7; 
b:= 1, 3, 5, 7 
>c:= x, y, z, w; 
c:= x, y, z, w 
>s, b, c; 
1, 2, 3, 4, 1, 3, 5, 7, x, y, z, w 
O comando seq pode ser usado para construir sequências da seguinte forma: 
 
>s:= seq(i^4, i={x,y,z}); 
 s : = x 4 , y 4 , z 4 
>a:= seq(i^2, i={2, 3, 4}); 
 a := 4, 9, 16 
 
2.2. Lista 
 
Uma lista é uma sequência delimitada por colchetes, ou seja, é algo do tipo: 
[sequência] 
 Exemplo: 
>data_list := [1, 2, 3, 4, 5]; 
data–list:=[1, 2, 3, 4, 5] 
>polynomials := [x^2+3, x^2+3*x–1, 2*x]; 
polynomials:= [ x 2 + 3 , x 2 + 3 x – 1 , 2 x ] 
 
>participantes := [Kathy, Frank, Rene, Niklaus, Liz]; 
participantes:= [Kathy, Frank, Rene, Niklaus, Liz] 
 
 
Citaremos aqui alguns comandos usados para trabalhar com listas: 
>L := [a, b, c, d, e]; 
L:= [a, b, c, d, e] 
 
>L[2]; retorna o segundo elemento da lista L 
b 
>nops(L); retorna o número de elementos da lista L 
 5 
>op(L); extrai os elementos da lista L 
a, b, c, d, e 
>map(x–>x^3, L); aplica a função 3xx → aos elementos da Lista L 
[a3, b3, c3, d3, e3] 
 
Caso deseje substituir algum elemento de uma lista basta usar o comando subs. 
>L := [a, b, c, d, e]; 
L:= [a, b, c, d, e] 
 17
>subs(b=2, L); 
[a, 2, c, d, e] 
>lista:= [sin(x), ln(x), x^2]; 
lista := [sin(x), ln(x), x2] 
>subs(x=Pi, lista); 
[sin(π), ln(π),π2] 
 
Obs.: Cabe observar que em uma lista ou em uma sequência a ordem em que os 
elementos são dispostos é relevante, além disso os elementos podem se repetir.18
2.3. Conjunto 
 
É uma sequência delimitada por chaves. As propriedades são as mesmas das dos 
conjuntos em Matemática. Exemplos: 
 
>data_set := {1, –1, 0, 10, 2}; 
 data_set:={ 1, –1, 0, 10, 2} 
>unknows := {x, z, y} 
 unknows := {x, z, y} 
 
>set1:= {a, b, c}; set2:={c, d, e}; 
 set1:= {a, b, c} 
 set2:={c, d, e} 
 
>set1 union set2; nos dá a união do conjunto set1 com o conjunto set2 
 {a, b, e, d, c} 
 
>set1 intersect set2; nos dá a intersecção do conjunto set1 com o conjunto 
set2 
 {c} 
>nops(set1); op(set1); 
 3 
 a, b, c 
>map(x–>x^2, set1); 
 {c2, a2, b2} 
 
O Maple não preserva a ordem dos elementos nem repetição dos mesmos. Isto é, 
conjuntos para o Maple tem as mesmas propriedades que estes possuem na Matemática.. 
Dessa forma os três conjuntos abaixo são idênticos. 
 
>{a, b, c}, {c, b, a}, {a, a, b, c, a}; 
 
 {b,c,a}, {b,c,a}, {b,c,a} 
 
 
2.4. Operações com Conjuntos e Listas 
 
Veremos aqui algumas operações que são feitas pelo Maple a respeito de conjuntos e 
listas. 
>numeros :={0, Pi/3, Pi/2, Pi}; 
numeros:={ π, 0, π/3, π/2} 
 
>map(sin, numeros); nos dá o valor da função seno em cada ponto do elemento 
do conjunto 
{0, 1, 3 /2} 
>conj1 := [Kate, Tom, Steve]; 
 19
conj1 := [Kate, Tom, Steve] 
>member(Tom, conj1); esse comando member diz se o elemento indicado é 
membro ou não da lista. 
 true 
 
>conj2 :={5, 6, 3, 7}; 
conj2 :={5, 6, 3, 7} 
>member(2, conj2); nos diz se elemento 2 está no conjunto 
false 
 
Também o Maple possibilita localizar qual o elemento da lista, basta usar a notação [n] 
onde n identifica a posição do elemento na lista. Por exemplo: 
>conj1 := [Kate, Tom, Steve]; 
conj1:= [Kate, Tom, Steve] 
> conj1[2]; 
 Tom 
 
O Maple entende conjuntos e listas que não tem nenhum elementos. Por exemplo: 
>empty_set :={}; 
empyt_set :={} 
>empty_list :=[]; 
empty_list :=[] 
 
No Maple pode–se criar um novo conjunto, usando por exemplo, o comando union. 
Por exemplo: 
>velho := {2, 3, 4}; 
velho := {2, 3, 4} 
>novo := velho union {2,5}; 
novo := {2, 3, 4, 5} 
 
>conj3:= velho minus {2, 5}; esse comando minus nos dá todos os 
elementos que pertence ao conjunto velho e não pertence ao conjunto {2, 5}, . 
conj3:= {3,4} 
 
 
2.5. Array 
 
Array é uma estrutura de dados que encontra muitas aplicações, por exemplo em 
Álgebra Linear. É uma maneira conveniente de definir vetores e matrizes usando listas. 
Array é uma extensão de uma lista. Uma lista como vimos acima é um grupo de itens 
onde se pode associar a cada item um número inteiro positivo. A estrutura de dados 
array é uma generalização dessa idéia. Cada elemento estará associado a um índice, 
mais não necessariamente restritos a uma dimensão. Além disso, esses índices poderão 
ser zero, ou números inteiros negativos. Vejamos alguns exemplos: 
 
>array1:=array(1..3); 
array1 := array(1 .. 3,[]) 
 20
Ao realizar essa operação o Maple cria uma lista (como se fosse um vetor) de nome 
array1, de três coordenadas (devido a variação “1..3”) cujos valores ainda não estão 
definidos, 
 
>array1[1]; 
array11 
isso significa que o primeiro elemento do array1 ainda não está definido. Podemos 
proceder da seguinte forma para definir os elementos de array1: 
 
>array1[1]:= 1; array1[2]:= 2; array1[3]:= 3; 
array11 := 1 
array12 := 2 
array13 := 3 
Com isso, array1 passa a ser uma lista com três entradas definidas. Para visualizá–la 
podemos fazer: 
 
>print(array1); 
[1, 2, 3] 
 
Há outra forma mais direta de definir o array1 acima. Vejamos: 
 
>array1:=array(1..3,[1,2,3]); 
array1 := [1, 2, 3] 
 
Como foi dito acima a estrutura de dados array não necessariamente está restrita a uma 
dimensão apenas. Podemos usar array para construir por exemplo matrizes. Vamos 
utilizar o último procedimento acima. 
 
>array2:=array(1..3,1..3,[[1,2,3],[4,5,6],[7,8,9]]); 
array2 :=








987
654
321
 
note que os parâmetros “1..3, 1..3” significam que o array2 terá dois índices cada qual 
variando de 1 até 3, daí o motivo do resultado ser uma matriz 3×3. Os colchetes 
representam as entradas da matriz, portanto deve–se tomar um certo cuidado na hora de 
defini–los. Pode–se usar esse procedimento para construir outros tipos de matrizes não 
necessariamente numéricas. 
 
>array3:=array(1..2,1..3,[[feijão,arroz,carne],[1.4,1.0,6.
3]]); 
array3:= 


3.60.14.1
carnearrozfeijão
 
para selecionar algum elemento da matriz, basta usar a notação “matriz[i, j]”. 
 
>array3[1,2]; array3[2,2]; 
arroz 
1.0 
 21
Suponha que quiséssemos colocar em sequência os elementos da primeira linha, então 
podemos proceder da seguinte forma: 
 
>seq(array3[1,i],i=1..3); 
feijão, arroz, carne 
da mesma forma os elementos da segunda linha, 
 
>seq(array3[2,i],i=1..3); 
1.4, 1.0, 6.3 
 
Pode–se construir arrays mais gerais que não sejam matrizes, por exemplo: 
 
>array4:=array(1..2,1..2,1..2,[[[1,2],[3,4]],[[5,6],[7,8]]
]); 
array4 := array(1 .. 2, 1 .. 2, 1 .. 2,[ 
(1, 1, 1) = 1 
 (1, 1, 2) = 2 
 (1, 2, 1) = 3 
 (1, 2, 2) = 4 
 (2, 1, 1) = 5 
 (2, 1, 2) = 6 
 (2, 2, 1) = 7 
 (2, 2, 2) = 8 
]) 
>array4[1,2,1]; array4[2,2,1]; 
3 
7 
 
Ao se construir matrizes com o comando array pode–se fazer operações usuais de 
matrizes normalmente. 
 
>array5:=array(1..2,1..2,[[1,2],[3,4]]); 
array6:=array(1..2,1..2,[[5,6],[7,8]]); 
array5:= 


43
21
 
array6:= 


87
65
 
>evalm(array5&*array6); evalm(array5–array6); 



5043
2219
 



−−
−−
44
44
 
Obs.: para efetuar a multiplicação de matrizes devemos utilizar o caracter “&” antes de 
*, além disso o comando evalm faz com que o cálculo seja efetuado. Para outros tipos 
de operações com matrizes devemos colocar o seguinte comando: 
>with(linalg): 
 22
tal comando será discutido posteriormente. 
 
>det(array5); 
–2 
>inverse(array6); 



−
−
2
5
2
7
34
 
>evalm(array6&*%); 



10
01
 
>charpoly(array5,x); 
x2 – 5x – 2 
o comando acima calcula o polinômio característico da matriz array5. 
 
>eigenvalues(array5); 
33
2
1
2
5 + , 33
2
1
2
5 − 
o comando acima calcula os autovalores da matriz array5. 
 
 
3. Encontrando Soluções (sistemas e expressões), 
Funções e Polinômios 
 
3.1. Resolução de Equações e Sistemas 
O comando solve (resolver), serve para resolver equações diversas. No exemplo 
abaixo resolveremos uma equação na variável x . 
 
>equa1 := x^3+3*x^2–4=0; 
 equa1 := x 3 + 3 x 2 – 4 = 0 ; 
 
>solve(equa1); 
 1,–2,–2 
 
Quando a equação possui mais de uma variável, é fundamental indicar ao sistema a 
incógnita do problema. 
 
>equa2 := 2*x+y=0; 
 equa2 := 2x+y=0; 
 
>solve(equa2, x); 
 (–1/2)y 
 
>solve(equa2, y); 
 –2x 
 
 23
O comando solve resolve também equações com raízes complexas. A letra ( I ) 
representa a unidade imaginária dos números complexos. 
 
>solve(x^2+1,x); 
 I,–I 
 
Se o comando solve não conseguir apresentar exatamente as raízes desejadas, 
podemos então executar o comando fsolve (resolver com ponto flutuante) para se 
obter raízes aproximadas. 
 
>equa3 := x^6 – 2*x^2 + 2*x; 
 
x6 – 2x2 + 2x 
 
>solve(equa3,x); 
0, RootOf(_Z5–2_Z+2) 
 
A expressão RootOf na resposta acima é uma forma simbólica de o Maple dizer que as 
outras soluções da equação equa3 são as raízes da equação 225 +− zz . 
>fsolve({equa3},x); 
{x = 0}, {x = –1.364430112} 
Obs.: a utilização das chaves em torno de equa3 acima faz com que as soluções sejam 
expressas em termos de conjuntos. 
Por questões práticas, a função fsolve não mostra automaticamente as raízescomplexas. É preciso adicionar a opção complex . 
 
>fsolve({equa3},x,complex); 
{x = 0}, { x = –1.364430112}, { x = –.1929606049–1.268917574I}, { x = –
.1929606049+1.268917574I}, { x = –8751756609–.3519221356I}, { x = –
8751756609+.3519221356I} 
 
Os comandos solve e fsolve também funcionam com sistemas. A sintaxe é a 
seguinte: 
solve( { equações },{ incógnitas } ) . 
Observe a utilização das chaves {} para representar conjunto de equações e de 
incógnitas. 
 
>equa4 := x + 2*y + 3*z = 7; 
 equa4 := x + 2y + 3z = 7 
 
>equa5 := 5*x – 2*y = 12; 
 equa5 := 5x – 2y = 12 
 
 
>equa6 := 2*x – y + 3*z = –6; 
 equa6 := 2x – y + 3z = –6 
 
>sol := solve( {equa4,equa5,equa6} , {x,y,z} ); 
 
 24
sol:={x=
13
63 , z=
39
125− , y=
13
77 } 
>evalf(sol,13); 
 
{x=4.769230769231, z=–3.205128205128, y=5.923076923077} 
 
Consideremos um sitema de cinco variáveis. 
 
>eqn1:= x+2*y+3*z+4*t+5*u=41: 
>eqn2 := 5*x+5*y+4*z+3*t+2*u=20: 
>eqn3 := 3*y+4*z–8*t+2*u=125: 
>eqn4 := x+y+z+t+u=9: 
>eqn5 := 8*x+4*z+3*t+2*u=11: 
 
Agora resolvendo o sistema com as cincos variáveis. 
 
>s1 := solve({eqn1, eqn2, eqn3, eqn4, eqn5}, {x, y, z, t, 
u}); 
s 1 : = { x = 2 , y = 3 , u = 1 6 , t = – 1 1 , z = – 1 } 
Podemos também resolver o sistema de equações acima só com três variáveis. Por exemplo: 
 
>s2 := solve({eqn1,eqn2, eqn3}, {x, y, z} 
 
s2:={z=–7t–(
13
59 )u–(
13
70 ), y=12t+(
13
70 )u+
13
635 , x=–7t–(
13
28 )u–
13
527 } 
 
Se quisermos podemos achar o valor de x, y, z no sistema acima quando atribuímos 
valores para u e t. Por exemplo: 
 
>eval(s2, {u=1, t=1}); 
{x= – 
13
643 , y = 
13
861 , z = –
13
220 } 
 
3.2. Funções de uma variável 
Para definir–se uma função de uma variável deve–se escolher um nome para a mesma, 
por exemplo "f" . Deve–se digitar esse nome seguido do comando "dois pontos – 
igual", que é o comando clássico de atribuição de nomes no Maple. A seguir deve–se 
digitar o nome da variável, depois o comando de transformação que é obtido através da 
sequência de caracteres "ifem – sinal de maior". Finalmente digita–se a lei de formação 
da função propriamente dita. 
 
f := ( variáveis ) –> ( expressão contendo variáveis ) 
 
Exemplo: entrar com a função )sen()( 2 xxxf = . 
>f := x –> (x^2)*sin(x); 
f : = x → ( x 2 ) s i n ( x ) 
Entrar com a função 432 632)( tttxg +++= . Pode –se digitar a entrada em sequência, 
isto é, sem os espaços digitados no exemplo acima. 
 25
 
>g:=t–>2+t^2+3*t^3+6*t^4; 
g : = t→ 2 + t 2 + 3 t 3 + 6 t 4 
 
Após a entrada das expressões das funções, elas ficam memorizadas e podem ser 
chamadas a qualquer instante, bastando digitar o nome da função e o ponto ou a variável 
que se quer calcular a função. 
Chame novamente a expressão da função f(x), e também o valor de g(a) e g(2.76). 
Convém observar que o comando abaixo só será executado a contento se os comandos 
acima tiverem sido executados previamente. 
>f(x); 
x → (x2)sin(x) 
>g(a); 
 2+a2+3a3+6a4 
>g(2.76); 
420.8583066 
 
Se o leitor entrar com uma nova função com um nome já utilizado, a primeira atribuição 
do nome será apagada da memória e só ficará disponível a nova definição da função. 
Por exemplo, se entrarmos agora com uma nova definição para o nome "g" a anterior 
será apagada. O leitor pode verificar: 
>g:=h–>3*h^3; 
g:=h→3h3 
>g(1); 
3 
>g(2.76); 
63.073728 
>g(x); 
3x3 
 
Pode–se também utilizar funções já definidas na definição de novas funções. Por 
exemplo, o leitor pode definir uma nova função que calcula a média aritmética dos 
valores das funções em determinados pontos . 
> f:=x–>2*x; 
f := x → 2 x 
>g:=x–>6*x; 
g := x → 6 x 
>m:=x–>(f(x)+g(x))/2; 
m:=x→ (f(x)+g(x))/2; 
>m(x); 
4x 
 
Deste modo o leitor pode definir qualquer operação aritmética envolvendo funções já 
definidas. 
Para calcular a composta de f com g , isto é, (f?g)(x) pode–se digitar exatamente a 
forma utilizada tradicionalmente na matemática: 
> f(g(x)); 
 26
12x 
Exemplo: 
>g:=x–>x^2; 
 g:= x→ x2 
>f:=x–>2*x; 
 f:= x→ 2x 
>g(f(x)); 
4x2 
Agora se quisermos definir uma nova função como sendo a composta de f com g, então 
podemos utilizar o símbolo “@” que faz o papel da “bolinha” na composta de duas 
funções. 
>h:=x–>(f@g)(x); 
h = f @ g 
>h(x); 
12x 
 
 
3.2.1 Funções reconhecidas (usuais) 
Existe uma grande quantidade de funções reconhecidas pelo Maple. Para ver a 
totalidade das funções pré–definidas utilize o Help do menu principal e dar busca no 
tópico inifcn. 
As funções mais usadas estão listadas abaixo. Deve–se lembrar que as variáveis 
envolvidas podem ser nomeadas pelo leitor. 
 
> exp(x); função exponencial 
> abs(x); função modular 
> sin(x); função seno 
> cos(x); função cosseno 
> tan(x); função tangente 
> sec(x); função secante 
> csc(x); função cossecante 
> cot(x); função cotangente 
> arcsin(x); função arcoseno 
> arccos(x); função arcocosseno 
> log10(x); função logaritma 
> ln(x); função log natural 
 
O Maple, nesta versão, trabalha preferencialmente com logaritmos naturais, tanto faz 
digitarmos log ou ln. Caso seja preciso o cálculo em outra base, por exemplo , pode–se 
usar o comando log[b](x) . Exemplo: 
>log[3](27); 
ln(27)/ln(3) 
 
O leitor deve perceber que o Maple transforma outras bases no logarítmo natural, para 
ver o valor da expressão deve–se pedir o comando evalf na expressão anterior. O 
símbolo % é compreendido pelo Maple como a última expressão efetuada. 
> evalf(%); 
 
 27
 
 
 28
3.2.2 Funções definidas por partes 
Em muitas situações é necessário definir–se uma função de uma variável com várias 
expressões algébricas diferentes, ou seja, uma função definidas por várias sentenças. 
Neste caso, para definir–se a função utiliza–se o comando piecewise como nos 
exemplos abaixo. 
Defina a função 

≥
<−=
0 se 
0 se 
)(
xx
xx
xp . 
A sintaxe do comando piecewise é a seguinte: 
piecewise(cond1,f1,cond2,f2,...,condn,fn) ou ainda 
piecewise(cond1,f1,cond2,f2,...,condn–1,fn–1,fn) 
A primeira opção é utilizada quando se deseja obter cada uma das expressões 
exatamente em seus respectivos domínios, 
>p:=x–> piecewise(x<0,–x,x>=0,x); 
p:= x→ piecewise(x < 0, –x, x >= 0, x) 
>p(x); 


≤
<−
xx
xx
0
0
 
A segunda é descrever apenas uma componente e atribuir outra expressão ao 
complementar do domínio dado: 
>p:=x–>piecewise(x<0,–x,x); 
p:= x→ piecewise(x < 0, –x, x) 
 >p(x); 

 <−
otherwisex
xx 0
 
 
Se, para construir uma nova função, for necessário três definições, pode–se utilizar do 
artifício de definir as expressões nas componentes infinitas e deixar a definição da 
componente limitada como restante. Por exemplo, para entrar com a definição de 



>
≤≤
<
=
2
2
1
0)sen(
02
)(
π
π
x
xx
xx
xh , podemos proceder da seguinte forma 
> h:=x–> piecewise(x<0,2*x,x>Pi/2,1,sin(x)); 
p:= x→ piecewise(x < 0, 2x, x >π/2, 1, sin(x)) 
>h(x); 



<π
<
otherwisex
x
xx
)(sin
1
02
2
1 
Uma outra forma de montar funções com três ou mais variações de domínio é fazer a 
descrição dos segmentos limitados do domínio utilizando duas desigualdades simples 
unidas com o comando and , se por exemplo for necessário entrar com a função, 
 29



>+−
<≤
<≤
<
= π
π
35
31
0)sen(
02
)(
2
2
xx
x
xx
xx
xg 
deve–se digitar as variações de x em [0, 2
π ) e [ 2π , 3) como intersecção de duas 
desigualdades. O procedimento é descrito no exemplo: 
>g:=x–>piecewise(x<0,2*x,0<=x and x<Pi/2,sin(x),Pi/2<=x and 
x<3,1,3<x,–x+5); 
g:= x→ piecewise(x<0,2x, x≤0 and π< 21x , sin(x), x≤π21 and x < 3, 1, 3 < x, –
x+5) 
>g(x); 



<+−
<≤−π
<π−≤−
<
xx
x-x
xxx
xx
35
03 01
00)(sin
02
2
1
2
1
and
and
 
Existe um comando que fica associado ao comando piecewise que é o convert. Ele 
pode ser utilizado quando se deseja transformar a expressão de uma função onde 
aparecem módulos, por exemplo, numa expressão piecewise . 
Considere o seguinte problema: seja |||1|)( xxf −= a função envolvendo módulo, 
reescreva–a como uma função definida por sentenças. Procedemos da seguinte forma: 
>f:=x–>abs(1–abs(x)); 
f:= x→ x−1 
>convert(f(x),piecewise); 



<−
≤−
≤+
−≤−−
xx
xx
xx
xx
11
11
01
11
 
 
A grande vantagem do comando piecewise é permitir a definição de funções utilizando 
expressões e desigualdades que não sejam imediatamente visíveis. Neste caso pode–se 
utilizar o comando simplify para simplificar a expressão da função, por exemplo 
podemos definir a função 

 <−−=
otherwisex
xx
xw
2
2 04
)( , e simplificar sua expressão. 
> w:=x–>piecewise( x^2–4<0, –x, x^2 ); 
w := x→ piecewise (x2 – 4 < 0, –x, x2) 
>simplify(w(x)); 



≤
<−
≤
xx
xx
xx
2
2
2
2
2
 
 
 30
O comando simplify também pode ser utilizado quando se deseja efetuar operações 
entre funções que são definidas por várias sentenças. Por exemplo, suponhamos que 
quiséssemos multiplicar a função w(x) com a última função g(x) definida acima. 
>g(x)*w(x); 






 <−−













<+−
<≤−π
<π−≤−
<
otherwisex
xx
xx
x-x
xxx
xx
2
2 04
35
03 01
00)(sin
02
2
1
2
1
and
and
 
o Maple apenas deixa indicada de forma simbólica a multiplicação. Agora para ver o 
resultado da multiplicação usamos o simplify: 
>simplify(g(x)*w(x)); 









<+−
=
<
<−
π≤−
≤−
−≤
xxx
x
xx
xx
xxx
xx
xx
35
30
3
2
)(sin
02
22
23
2
2
1
2
3
 
 
 
3.3. Operações com Polinômios 
Em computação algébrica também podemos operar polinômios simbolicamente. 
Começamos com uma expressão polinomial. O Maple V automaticamente simplifica o 
polinômio juntando os monômios semelhantes. 
>x^2+x–8–3*x; 
 x 2 – 2 x – 8 
Para fatorar o polinômio digitamos 
>factor(%); 
 (x+2)(x–4) 
o comando factor fatora o polinômio. 
Outro exemplo; 
>expand((x*y–x^2)*(y–x)*(y^2–x^2)); 
 y 4 x – 2 x 2 y 3 + 2 x 4 y – x 5 
o comando expand efetua multiplicações entre polinômios. 
Consideremos os dois polinômios abaixo: 
>p1:=7*x^4–3*x^3+7*x^2–3*x; 
 p1:=7 x4 – 3 x3 + 7 x2 – 3 x 
>p2:=5*x^5+3*x^3+x^2–2*x+1; 
 p2:= 5 x5 + 3 x3 + x2 – 2 x + 1 
 
Dividindo p1 por p2: 
 31
>p1/p2; 
1235
3737
235
234
+−++
−+−
xxxx
xxxx 
Normalizando (simplificando) a expressão racional acima: 
>normal(%); 
125
)37(
3 +−
−
xx
xx 
O comando normal acima pode ser utilizado quando se deseja simplificar expressões 
racionais envolvendo polinômios no numerador e denominador. O comando faz com 
que o Maple fatore o numerador e o denominador simplificando os fatores comuns. 
Portanto, determinadas expressões racionais permanecerão inalteradas mediante esse 
comando. 
>normal((x^3–1)/(x^2+1)); 
1
1
2
3
+
−
x
x 
Um outro tipo de simplificação, particularmente útil na resolução de integrais, é a 
transformação de uma função racional em frações parciais. 
>(x^5+1)/(x^4–x^2); 
24
5 1
xx
x
−
+ 
>convert(%,parfrac,x); 
x + 2
1
1
1
xx
−− 
Vejamos agora outros comandos específicos no tratamento com polinômios. Vamos 
considerar polinômios da forma 01
2
2 axaxaxa
n
n ++++" . Ao entrar com um 
polinômio no Maple, este fornece exatamente o polinômio como você o digitou, ou seja, 
os termos não são ordenados pelo Maple em ordem ascendente ou descendente em 
relação ao grau. 
>x^2+x^5+2*x^4+1+x; 
x2 + x5 + 2x4 +1 + x 
Para arrumar os termos em ordem decrescente podemos usar o comando sort 
>sort(%); 
x5 + 2x4 + x2 + x + 1 
Dado um polinômio qualquer, o coeficiente dominante desse polinômio é o coeficiente 
do termo de mais alto grau. O Maple reconhece esse coeficiente, bem como todos os 
outros 
>p3:=–17*x^6+11*x^4–20*x^3+13*x^2–3*x+20; 
–17 x6 + 11 x4 – 20 x3 + 13 x2 – 3 x + 20 
>lcoeff(p3); 
–17 
>coeffs(p3,x,’potencias’), potencias; 
20, –3, 11, –20, 13, –17 
1, x, x4, x3, x2, x6 
 32
Se quisermos saber o grau do polinômio p3, 
>degree(p3); 
6 
Vejamos outros comandos no tratamento com polinômios, 
>poly1:= x+x^2–x^3+1–x^4; 
poly1:=x + x2 – x3 + 1 – x4 
>poly2:= x*y+z*x*y+y*x^2–z*y*x^2+x+z*x; 
poly2:= xy + zxy + yx2 – zyx2 + x + zx 
>collect(poly2, x); 
(y – zy) x2 + (y + zy + 1 + z) x 
>collect(poly2, z); 
(xy – yx2 + x) z + xy + yx2 + x 
Existem várias formas de se interpretar o polinômio poly2 acima. Por exemplo, 
podemos interpretá–lo como um polinômio na variável x, onde todas as outras letras são 
consideradas constantes. Para proceder dessa forma utilizamos o comando collect 
como no primeiro exemplo. Podemos fazer o mesmo em relação a z, como no segundo 
exemplo. 
O comando divide abaixo nos diz se a divisão dos polinômios considerados é exata. 
No caso afirmativo o Maple retorna a palavra true (verdadeiro) e caso contrário retorna 
false (falso). 
>divide(x^3–y3, x–y); 
 true 
>divide(x^3–x, x–5); 
false 
Dado um polinômio qualquer às vezes nos interessa saber o valor desse polinômio para 
um determinado valor de x. Os exemplos abaixo ilustram como isso pode ser feito. 
>poly3:= x^2+3*x–4; 
 poly3:= x2 + 3x – 4; 
>eval(poly3, x=2); 
 6 
>poly4:= 3*z–z^2+2*z–3*z+1; 
 poly4:= 3z – z2 + 2z – 3z + 1 
>eval(poly4,z=sqrt(2)); 
122 − 
 
Um dos resultados mais importantes na teoria de polinômios dentro da Álgebra é o 
algoritmo da divisão (ou algoritmo de Euclides). Dados dois polinômios f e g, onde 
0≠g , o algoritmo da divisão nos diz que existem polinômios q e r tais que: 
rgqf += , onde 0=r ou gr ∂<∂ 
O polinômio q e r são chamados respectivamente o quociente e o resto na divisão de f 
por g. 
Dados dois polinômios f e g o Maple pode calcular o quociente e o resto na divisão de f 
por g. Os Comandos são respectivamente quo e rem, 
>f:= x^3+x+1; 
f : = x 3 + x + 1 
 33
>g:= x^2+x+1; 
g : = x 2 + x + 1 
>q:=quo(f,g,x); 
 q : = x – 1 
>r:=rem(f,g,x); 
r : = 2 + x 
Para confirmar, fazemos rgq + e verificamos se o resultado é igual a f. 
>expand(g*q+r); 
x 3 + x + 1 
ou ainda 
>testeq(f=g*q+r); 
true 
o Maple retorna true indicando que a igualdade é verdadeira. 
Para finalizar, uma outra operação que pode ser realizada no Maple é o máximo divisor 
comum (greatest common divisor – gcd). Dados dois polinômios f e g, um polinômio d 
se diz máximo divisor comum de f e g se 
i) fd | e gd | ; 
ii) se 1d é tal que fd |1 e ddgd || 11 ⇒ 
O cálculo do mdc de dois polinômios pode ser efetuado de forma análoga ao processo 
utilizado com números inteiros, através do método das divisões sucessivas. O Maple 
realiza esses cálculos automaticamente através do comando gcd. 
>f:= x^5+2*x^3–5*x^2+3; 
f:= x 5 + 2 x 3 – 5 x 2 + 3 
 
>g:= –x^3+5x^2–x+3; 
g : = – x 3 + 5 x 2 – x + 3 
>gcd(f,g); 
1 
 
4. Gráficos de Funções 2D e 3D 
 
4.1. Gráficos em duas dimensões 
 
4.1.1 Gráficos de funções 
Consideremos uma função qualquer de uma variável )(xfy = . O comando para traçar 
o gráfico de f é plot o qual possui algumas variações em sua sintaxe dependendo do 
que se deseja traçar. A sintaxe básica é a seguinte: 
plot(f,h,v,ops) 
onde, 
 f = expressão ou nome da função; 
h = intervalo no eixodas abscissas no qual o gráfico será visualizado; 
v = intervalo no eixo das ordenadas que controla a visualização vertical do 
gráfico; 
ops = opções de visualização e formatação. 
 34
 
Os parâmetros f e h no comando plot são obrigatórios, enquanto que os parâmetros v 
e ops são opcionais. Vejamos alguns exemplos: 
>plot(sin(x),x=-2*Pi..2*Pi); 
>plot(x^2,x=-5..5); 
>f:= x->7*sin(x)+sin(7*x); 
>plot(f(x),x=0..8); 
 
Quando o parâmetro v não é colocado o Maple automaticamente atribui ao “eixo y” 
(vertical) o maior e o menor dos valores funcionais correspondentes ao intervalo h. O 
parâmetro v é útil quando desejamos focalizar determinadas partes do gráfico. 
>plot(f(x),x=0..3.2,y=0..8); 
 
Uma outra situação em que é conveniente atribuir uma variação no parâmetro v, é 
quando se deseja modificar a escala do gráfico. Por exemplo, 
>plot(x^3,x=-10..10) 
note que o gráfico está completamente fora de escala. Podemos contornar este problema 
atribuindo uma variação conveniente no parâmetro v. 
>plot(x^3,x=-10..10,y=-10..10); 
 
Em relação ao parâmetro ops podemos destacar as seguintes opções: 
axes = normal, boxed, frame ou none – muda a visualização dos eixos coordenados; 
discont = true – força o Maple a exibir as descontinuidades de uma função, quando for 
o caso; 
color = “nome da cor” – especifica a cor do gráfico; 
numpoints = n – especifica o número de pontos que o Maple vai utilizar para traçar um 
gráfico. Em geral, o Maple utiliza numpoints=50; 
xtickmarks = n – especifica uma certa quantidade de pontos (não menor do que n) 
sobre o eixo x; 
ytickmarks = m - especifica uma certa quantidade de pontos (não menor do que m) 
sobre o eixo y. Pode-se fazer a mudança nos dois eixos diretamente utilizando 
tickmarks = [n, m]. 
title = `título` - esta opção pode ser utilizada quando se deseja colocar um título para o 
gráfico. Note que o título deve estar delimitado entre dois acentos graves. 
Há ainda outras opções, 
que podem ser testadas 
quando o gráfico é 
visualizado na tela. Dê 
um clique sobre o 
gráfico (com o botão 
direito do mouse), note o 
aparecimento de uma 
janela, o qual contém as 
opções: 
 
 
Também, dando um clique sobre o gráfico (com o botão esquerdo) aparecerá uma 
moldura em torno do gráfico (a qual você poderá mudar o tamanho da forma que 
desejar), além disso na barra de ferramentas aparecerão os ícones 
 35
 
os quais também ocasionam mudanças no gráfico. 
Exemplos: 
>plot(1/(1-x),x=-3..5,y=-5..5); 
>plot(piecewise(x<-1,1,x<0,0,x<1,-1,x<2,1,3),x=-5..5); 
(tente a opção discont=true) 
>plot(1/(1-x),x=-3..5,y=-5..5,axes=framed,discont=true, 
color=green, ytickmarks=7, title= `testando,testando`); 
>plot(6*x^3+2*x^2-2*x+1,x=-2..2,y=-2..2); 
Note que, neste último exemplo, ao visualizarmos o gráfico num fator de zoom maior as 
partes mais curvas do gráfico ficam distorcidas. Para corrigirmos esse problema 
utilizamos a opção numpoint para aumentar o número interno de pontos que o Maple 
utiliza para traçar o gráfico, 
>plot(6*x^3+2*x^2-2*x+1,x=-2..2,y=-2..2,numpoints=500); 
 
 
4.1.2 Gráficos de curvas no plano 
 
Para entendermos os tópicos abordados neste parágrafo é importante recordarmos 
rapidamente a noção de curvas planas, as quais generalizam as curvas obtidas por meio 
de gráficos de funções )(xfy = . 
 
 
 
 
 
O gráfico da curva C da definição acima é o conjunto de todos os pontos do plano 
cartesiano que são da forma ))(),(()( tgtftP = , onde t varia em I. 
As equações abaixo, 
)(tfx = e )(tgy = 
onde It ∈ , são chamadas equações paramétricas de C; t é o parâmetro. 
 
Para traçarmos o gráfico de uma curva na forma paramétrica no Maple, utilizamos a 
seguinte sintaxe: 
plot([f(t),g(t),t=a..b],h,v,ops); 
onde, 
f e g são as funções contínuas (que dependem do parâmetro t) no intervalo de 
variação de t; 
t = a..b – intervalo de variação de t; 
h, v e ops – são as opções já vistas anteriormente, no caso de gráficos de 
funções. 
Os itens h, v e ops nessa modalidade de gráfico são opcionais. 
Exemplos: 
>plot([t,t^2,t=-5..5]); 
>plot([cos(t),sin(t),t=0..2*Pi]); 
plot([cos(t),sin(t),t=0..2*Pi],scaling=constrained); 
>plot([t-sin(t),t-cos(t),t=-3*Pi..3*Pi]); 
>plot([cos(t)^3,sin(t)^3,t=-Pi..Pi]); 
Uma curva plana é um conjunto C de pares ordenados da forma 
))(),(( tgtf 
onde as funções f e g são contínuas em um intervalo I. 
 36
>plot([cos(t)^3,sin(t)^3,t=-Pi..Pi], color=blue, axes= 
framed, title=`curva parametrizada`); 
 
 
4.1.3 Gráficos em Coordenadas Polares 
 
Coordenadas cartesianas é a forma usual utilizada pelo Maple para especificar um ponto 
no plano. Existem outras maneiras, dentre elas, o uso de coordenadas polares, ),( θr . 
 
 
 
 
 
 
 
Em coordenadas polares, r é a distância de O até P, enquanto que θ é o ângulo entre o 
segmento OP e o eixo polar. Uma equação polar é uma equação em r e θ . Uma 
solução de uma equação polar é uma par ordenado ),( ba que conduz a igualdade 
quando se substitui r por a e θ por b. O gráfico de uma equação polar é o conjunto de 
todos os pontos que correspondem às soluções. 
Exemplos: 
 1=r ; )sen(4 θ=r ; θ=r ; )3cos(2 θ=r ; 
 
Para traçar gráficos em coordenadas polares, primeiramente precisamos carregar o 
pacote “plots” que possui várias opções gráficas, dentre as quais se destaca o comando 
que iremos utilizar. O pacote pode ser carregado através do comando: 
>with(plots); 
 
O comando que usaremos é o polarplot cuja entrada básica tem a seguinte sintaxe: 
polarplot(expr(θ ),θ =a..b, ops); 
onde, 
expr(θ ) – é uma expressão qualquer envolvendo a variável θ (no Maple a 
variável θ pode ser obtida digitando-se “theta”); 
θ = a..b – variação de θ (é usual neste caso indicar a variação em radianos); 
ops – opções gráficas (ver item 1.1.1). 
 
Exemplos: 
>polarplot(1,theta=0..2*Pi); 
>polarplot (theta,theta=0..20*Pi, scaling=constrained, 
axes=framed); 
>polarplot(4*(1-sin(theta)),theta=0..2*Pi); 
>polarplot(8*sin(5*theta),theta=0..2*Pi); 
>polarplot(-16*sin(2*theta),theta=0..2*Pi); 
 
 
4.1.4 Múltiplos Gráficos em 2D 
 
Eixo PolarPoloO
θ
 r 
 P(r, θ ) 
 37
É possível no Maple traçar diversos gráficos de funções de uma só vez, ou seja, em uma 
única tela. Para isso, basta usar o comando plot colocando, no espaço reservado para a 
função, uma lista de funções, ou seja, 
plot([f1, f2,...,fn],h,v,ops) 
Exemplos: 
 
>plot([x,x^2,x^3,x^4,x^5],x=-10..10,y=-10..10); 
Para podermos identificar qual função corresponde ao seu gráfico, podemos utilizar as 
opções de cores, ordenadas de acordo com a ordem que as funções estão na lista dentro 
do comando plot, 
>plot([x,x^2,x^3,x^4,x^5],x=-10..10,y=-10..10, color= 
[black, red,blue,yellow,green]); 
>plot([x,2*x,3*x,4*x,5*x], x=-5..5,y=-5..5); 
>plot([sqrt(x),- sqrt(x), sqrt(-x),- sqrt(-x)],x=-5..5); (na 
visualização do gráfico parece estar faltando um pedaço, tente arrumar!!). 
 
Também é possível utilizando a mesma sintaxe acima, “misturar” gráficos de funções 
com gráficos de curvas dadas pelas suas equações paramétricas. 
Exemplos: 
 
>plot([x^2,[t^2,t^3,t=-5..5]],x=-5..5,y=-5..5); 
>plot([x,-x,[sin(x),cos(x),x=0..2*Pi]],x=-2..2,y=-2..2); 
>plot([[sin(x),3*cos(x),x=0..2*Pi], 
[3*sin(x),cos(x),x=0..2*Pi], [sin(x)-cos(x),3*cos(x), 
x=0..2*Pi], [3*sin(x), cos(x)+sin(x),x=0..2*Pi]],x=-4..4); 
 
Há ainda uma outra forma de traçar diversos gráficos, incluindo-se aí os gráficos em 
coordenadas polares. Nesse caso temos que nomear cada gráfico separadamente e, em 
seguida, dar o comando 
plots[display]([“nomes dos gráficos”]) 
para o Maple traçar todos eles. 
Exemplos: 
 
>g1:=plot(x^2,x=-5..5,y=-5..5): 
>g2:=plot([sin(x),3*cos(x),x=0..2*Pi],x=-5..5,y=-5..5): 
>g3:=polarplot(t,t=0..4*Pi,numpoints=200): 
>plots[display]([g1,g2,g3]); 
 
Obs.: 1) Ao atribuir os nomes dos gráficos como g1, g2 e g3 éimportante finalizá-los 
com dois pontos ao invés de ponto e vírgula, pois neste último caso apareceriam na tela 
todos os pontos calculados pelo Maple para que este possa traçar o gráfico. 
2) Embora tenhamos colocado, nos gráficos g1 e g2 acima, as mesmas variações pra x e 
pra y, cabe observar que o Maple utiliza sempre a maior das variações colocadas nos 
gráficos. Por exemplo, se tivéssemos colocado 
>g1:=plot(x^2,x=-5..5,y=-2..2): 
>g2:=plot([sin(x),3*cos(x),x=0..2*Pi],x=-1..1,y=-5..5): 
>g3:=polarplot(t,t=0..4*Pi,numpoints=200): 
>plots[display]([g1,g2,g3]); 
O maple exibiria o eixo x e o eixo y variando de –5 a 5. 
 38
 
 
4.1.5 Animação de Gráficos em Duas Dimensões 
 
O uso de gráficos é útil em diversas situações dentro da matemática. No entanto, há 
outras situações em que deseja-se saber o que ocorre com um determinado gráfico 
quando alteramos certos parâmetros utilizados na sua construção. Por exemplo 
consideremos a função )sen()( txxf = , onde t é uma constante real qualquer, e suponha 
que queiramos saber o que ocorre com o gráfico de f quando o parâmetro t sofre uma 
variação. Podemos fazer esta verificação através do comando animate o qual pode ser 
utilizado com a seguinte sintaxe, 
plots[animate](f(x,t),v,t) 
onde, 
 f(x,t) – expressão na variável x contendo também um parâmetro t; 
 v – variação de x; 
 t – variação de t. 
 
Exemplo: 
 
>plots[animate](sin(t*x),x=-7..7,t=1..5); 
Clique na figura (aparecerá uma moldura em torno do gráfico) e note o aparecimento 
dos botões na barra de ferramentas. Para iniciar a 
animação clique no botão . Os outros botões servem para visualizar a animação 
quadro a quadro, mudar a orientação da animação, aumentar ou diminuir a velocidade e 
colocar a animação no modo de parada automática ou no modo contínuo. 
Quando você faz uma animação no Maple ele usualmente cria 16 molduras de gráficos 
(frames) e os coloca em seqüência dando a impressão de filme. Podemos aumentar a 
quantidade de frames a fim de aumentar a precisão da animação. Basta colocar logo 
após a variação de t a opção frames=n, onde n indica a quantidade de frames que 
serão visualizados. 
Exemplos: 
 
>plots[animate](sin(t*x),x=-7..7, t=1..5, frames=50, 
numpoints=200); 
>plots[animate](t*x,x=-2..2,t=1..15,view=[-2..2,-2..2]); 
>plots[animate]([t*sin(x),t*cos(x),x=-
4..4],t=1..4,frames=100,scaling=constrained); 
>plots[animate](t*theta,theta=0..8*Pi,t=1..4,coords=polar,n
umpoints=200); 
>plots[animate](8*sin(t*theta), theta=0..8*Pi, t=-1..4, 
coords=polar, numpoints=500, frames=50); 
 
Nos dois últimos exemplos colocamos a opção coords=polar para que a animação 
seja feita em coordenadas polares. 
 
 
 39
4.2. Gráficos em três dimensões 
4.2.1 Gráficos de funções 
Antes de ver as opções gráficas de funções em três dimensões, vamos recordar a noção 
de função de duas variáveis a valores reais. 
 
 
 
 
 
 
 
O gráfico de f é, por definição, o gráfico da equação ),( yxfz = num sistema 
retangular tridimensional, sendo, assim, em geral uma superfície S de algum tipo. 
Representando D por uma região do plano xy, consideremos um ponto qualquer 
Dyx ∈),( , os valores funcionais ),( yxf são as distâncias orientadas do plano xy a S. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Para traçar o gráfico de uma 
função ),( yxf em três dimensões utilizaremos o comando plot3d, o qual possui a 
mesma sintaxe do comando para gráficos em duas dimensões, 
plot3d(f(x,y),h,v,ops) 
onde, 
 f(x,y) – expressão ou nome da função de duas variáveis; 
h = intervalo no eixo das abscissas no qual o gráfico será visualizado; 
v = intervalo no eixo das ordenadas no qual o gráfico será visualizado; 
ops = opções de visualização e formatação. 
 
Ao contrário do caso bidimensional, a variação v no comando plot é obrigatória, além 
disso, as variações h e v, caso sejam numéricos, formarão um retângulo no plano xy que 
será encarado pelo Maple como a região D da definição de gráfico de funções de duas 
variáveis. 
Exemplo: 
 
> plot3d(9-x^2-y^2,x=-10..10,y=-10..10); 
 
Seja D um conjunto de pares ordenados de números reais, 
ou seja, ⊂D IR 2. Uma função →Df : IR , que a cada para 
),( yx de D associa um único número real, denotado por 
),( yxf , é denominada função de duas variáveis. 
),( yx
),( ba
)),(,,( bafba
)),(,,( yxfyx
),(: yxfzS =
x 
y 
z 
D
 40
Clicando sobre o gráfico e segurando o botão do mouse pressionado você poderá 
rotacioná-lo de várias formas possibilitando uma melhor análise e visualização do 
gráfico. Além disso, ao clicar sobre o gráfico note o aparecimento dos seguintes botões 
 
os quais controlam determinadas propriedades gráficas. 
Em relação às opções de visualização ops algumas são diferentes em relação ao caso 
bidimensional. Podemos destacar: 
axes=” “ – muda a visualização dos eixos coordenados. As opções deverão ser 
colocadas como: boxed, normal, framed ou none.Usualmente o Maple usa none, ou seja, 
não são mostrados os eixos coordenados no gráfico; 
grid=[m,n] – especifica as dimensões dos retângulos sob os quais os pontos serão 
calculados, m e n devem ser números naturais maiores do que 1. Se esta opção não for 
especificada o Maple usualmente utiliza uma quantidades satisfatória de pontos; 
gridstyle=” “ – especifica ser os “grids” serão retangulares ou triangulares. As opções 
deverão ser colocadas como triangular ou rectangular; 
labels=[x,y,z] – especifica o nome dos eixos coordenados. No lugar de x, y e z, podem 
ser colocados quaisquer nomes. Para evitar erros, coloque os nomes entre aspas para 
que o Maple possa interpretá-los da forma com que são escritos; 
linestyle=n – especifica o tipo de linha que será utilizado no gráfico. Se 1=n ou 0=n 
o tipo de linha será o usual, n deve ser maior ou igual a zero; 
tickmarks = [l, m, n] - especifica uma certa quantidade de pontos (não menor do que l, 
m, e n) sobre os eixos coordenados; 
title=” “ – esta opção define um título para o gráfico. Procure colocar o título entre 
aspas; 
view=[a..b, c..d, e..f] – esta opção possibilita a visualização de determinadas partes do 
gráfico especificando-se o intervalo de variação de x (a..b), de y (c..d) e z (e..f); 
 
Há ainda outras opções, mais estas não vem ao caso aqui. 
Exemplos: 
 
>plot3d(5-x^2-y^2,x=-4..4,y=-4..4); 
>plot3d(5-x^2-y^2,x=-4..4,y=-4..4, axes=framed, 
labels=[x,y,temperatura], title= ”Gráfico 1”, view=[-4..4,-
4..4,0..6]); 
>plot3d(4*(sin(x/2)+sin(y/4))+3*sin(x/2), x=0..20,y=0..70); 
>plot3d(4*(sin(x/2)+sin(y/4))+3*sin(x/2), 
x=0..20,y=0..70,axes=boxed, grid=[50,50], 
gridstyle=triangular, linestyle=7); 
>plot(x^2-y^2,x=-3..3,y=-3..3, title=”A sela de cavalo”); 
 
 
4.2.2 Gráficos de superfícies no espaço 
 
Procedendo de forma análoga ao que foi feito no parágrafo 1.1.2 podemos definir a 
noção de superfícies no espaço, as quais generalizam àquelas obtidas por meio da 
equação ),( yxfz = , ou seja, podemos obter a noção de superfície parametrizada. 
Para traçarmos o gráfico de uma superfície na forma paramétrica através do Maple, 
utilizamos a seguinte sintaxe: 
 41
plot3d([f(t,u),g(t,u),h(t,u)],t=a..b, u=c..d, ops) 
 
onde, 
 f, g, h – são expressões que dependem dos parâmetros t e u; 
 t=a..b – intervalo de variação de t; 
 u=c..d – intervalo de variação de u; 
 ops – opções gráficas citadas acima. 
 
Exemplos: 
 
> plot3d([x^3,y*x,5*y-x],x=-2..2,y=-2..2); 
>plot3d([sin(u),cos(u)*sin(t),sin(t)], t=-Pi..Pi,u=-
Pi..Pi); 
>plot3d([t*sin(t)*cos(u),t*cos(t)*cos(u),t*sin(u)],t=0..2*P
i, u=0..Pi); 
>plot3d([t*sin(t)*cos(u),t*cos(t)*cos(u),t*sin(u)],t=0..2*P
i, u=0..Pi,grid=[50,40], view=[-5 ..5,-6..6,1..3]); 
 
 
4.2.3 Múltiplos Gráficos em 3D 
 
No caso tridimensional também é possível traçar vários gráficos de uma só vez. Só que 
neste caso usamos chaves ao invés de colchetes para a lista das expressões. 
Exemplos:>plot3d({x^2+(y^2),x+y},x=-5..5,y=-5..5); 
>plot3d({x^2+1/(y^2),cos(x+y)},x=-5..5,y=-5..5,view=[-
5..5,-5..5,-5..20],grid=[50,50]); (note neste exemplo a necessidade da 
opção “view=[-5..5,-5..5,-5..20]”). 
 
Também é possível traçar vários gráficos na forma parametrizada, utilizando-se a 
sintaxe acima combinada com a sintaxe para gráficos na forma paramétrica. Por 
exemplo, 
>c1:= [cos(x)-2*cos(0.4*y),sin(x)-2*sin(0.4*y),y]: 
>c2:= [cos(x)+2*cos(0.4*y),sin(x)+2*sin(0.4*y),y]: 
>c3:= [cos(x)+2*sin(0.4*y),sin(x)-2*cos(0.4*y),y]: 
>c4:= [cos(x)-2*sin(0.4*y),sin(x)+2*cos(0.4*y),y]: 
primeiramente definimos as equações paramétricas acima, onde cada uma delas é um 
gráfico diferente. O que fizemos acima é apenas dar um nome para as equações para 
facilitar na hora de colocar dentro do comando plot3d. Com isso, colocamos 
>plot3d({c1,c2,c3,c4},x=0..2*Pi,y=0..10,grid=[25,15]); 
Uma curva espacial(não plana) pode ser traçada utilizando o comando spacecurve. 
O comando spacecurve não é carregado pelo Maple automaticamente, ele faz parte 
de um pacote específico de comandos (packages) que devem ser carregados 
manualmente quando desejamos utilizá-los e, para isso, digitamos “with(plots);” 
em qualquer linha, onde plots é o nome do package da qual o comando spacecurve 
faz parte. 
>with(plots); 
 42
>c1:=[t*cos(2*Pi*t),t*sin(2*Pi*t),2+t]: 
>c2:=[ 2+t, t*cos(2*Pi*t), t*sin(2*Pi*t)]: 
>c3:=[ t*cos(2*Pi*t), 2+t, t*sin(2*Pi*t)]: 
>spacecurve({c1,c2,c3},x=-8..12,y=-10..12,axes=boxed, 
numpoints=400); 
Obs.: atribuímos os nomes c1, c2 e c3 à cada uma das curvas presentes no gráfico 
apenas por conveniência, ou então, para possibilitar melhor visualização e evitar erros 
na digitação da expressões. 
 
Uma outra forma de se obter vários gráficos de uma vez é utilizar o comando 
display. Da mesma forma este também é um comando que consta no package plots, 
no entanto, uma vez que já o carregamos para usar o comando “spacecurve” não 
precisamos faze-lo novamente, pois o mesmo fica na memória do computador até que a 
seção do Maple em que se está trabalhando seja finalizada. Em seguida nomeamos cada 
um dos gráficos que queremos obter e executamos o comando display. Vejamos todo 
esse procedimento no exemplo, 
>g1:= plot3d(x^2-y^2,x=-5..5,y=-5..5): 
>g2:=plot3d([sin(x),cos(x),y],x=0..2*Pi,y=-20..20): 
>display([g1,g2]); 
 
Obs.: Ao atribuir os nomes dos gráficos como g1 e g2 é importante finalizá-los com 
dois pontos ao invés de ponto e vírgula, pois neste último caso apareceriam na tela todos 
os pontos calculados pelo Maple para que este possa traçar o gráfico. 
 
5. Tópicos de Cálculo 
 
5.1. Limites 
5.1.1 Limites de funções de uma variável 
 
Um dos tópicos mais importantes do Cálculo Diferencial é a noção de limites. Conhecer 
a definição, propriedades, teoremas e aplicações associadas a esse conceito é 
fundamental, principalmente para os estudantes do curso de Matemática. Embora 
existam vários métodos para o cálculo de limites, pode-se utilizar o Maple como 
ferramenta para se efetuar esses cálculos de limites. 
Comecemos com o caso de funções reais de uma variável. A sintaxe básica para o 
cálculo de limites é dada por: 
limit(f(x),x=a) 
onde, 
 f(x) – função qualquer de uma variável, ou ainda uma expressão qualquer; 
 x=a – faz o papel do ax → na simbologia usual de limites utilizada na 
literatura, ou seja, a deve ser o valor para o qual x se torna cada vez mais próximo. 
Observação: no caso em que quisermos trabalhar com limites no infinito colocamos 
x=infinity ou x=-infinity (conforme o caso) para simbolizar ∞→x ou 
−∞→x respectivamente. 
 43
Quando executamos o comando acima o Maple automaticamente retorna o resultado (se 
o cálculo é possível). Se o comando limit for colocado em letra maiúscula, ou seja, 
Limit então o Maple retornará a expressão simbólica de limites utilizada usualmente 
sem calculá-la. 
Exemplos: 
 
>Limit(x+1,x=1); 
>limit(x+1,x=1); 
>Limit((x^2-1)/(x-1),x=1); 
>limit((x^2-1)/(x-1),x=1); 
>limit((x^2+x)/(x+3),x=2); 
>Limit((x^3-5*x^2+8*x+4)/(x^4-5*x-6),x=2); limit((x^3-
5*x^2+8*x+4)/(x^4-5*x-6),x=2); 
 
Note que neste último exemplo a resposta foi undefined significando que neste caso o 
limite não existe (pode-se visualizar isso graficamente). 
>f:= x -> (x^(1/3)-2^(1/3))/(x-2); 
>Limit(f(x),x=2); limit(f(x),x=2); 
>g:= x -> (x^(1/n)-a^(1/n))/(x-a); 
>Limit(g(x),x=a); limit(g(x),x=a); 
Nesse último exemplo, pode-se perceber que em determinados casos o Maple também 
calcula o limite mesmo se a função contiver certos parâmetros indefinidos. 
 
 
5.1.2 Limites laterais 
Quando digitamos o comando limit(f(x),x=a) no Maple ele automaticamente 
entende este limite como sendo o limite bilateral, ou seja, quando x tende a a pela direita 
e esquerda. No entanto, pode-se calcular os limites laterais, para isso usamos uma opção 
a mais dentro do comando de limite já descrito, a saber limit(f(x),x=a,left) 
ou limit(f(x),x=a,right) onde left e right são respectivamente esquerda e 
direita. 
Exemplos: 
>f:= x-> piecewise(x<1,(x^2-1)/(x-1),3); 
>limit(f(x),x=1); (note que a resposta a esse limite é undefined, no entanto, 
podemos calcular os limites laterais) 
>limit(f(x),x=1,left); 
>limit(f(x),x=1,right); (note a simbologia usual quando colocamos Limit) 
>limit(1/x,x=0,right); 
>limit(1/x,x=0,left); 
> g:=x->piecewise(x<>-1,(x^2+x)/(x+1),2); 
>limit(g(x),x=-1,left); limit(g(x),x=-1,right); 
 
 
5.1.3 Limites de funções de mais de uma variável 
 
 44
Ao se tratar de funções de duas variáveis ou mais, podemos definir de forma análoga ao 
caso de uma variável a noção de limites. No caso de funções de duas variáveis, por 
exemplo, consideraremos o limite de ),( yxf quando ),( yx tende a um determinado 
ponto ),( ba o que corresponde a dizer que ax → e by → . A sintaxe para se calcular 
limites deste tipo no caso geral é dada por, 
limit(f(x1, x2,...,xn), {x1=a1,x2=a2,...,xn=an}) 
onde, 
 f(x1, x2,...,xn) – função de n variáveis; 
{x1=a1,x2=a2,...,xn=an} – conjunto contendo os valores para o qual cada variável 
se aproxima. 
 
As mesmas colocações feitas em 2.1.1 valem também neste caso. 
Exemplos: 
>limit((x^2-y^2)/(x^2+y^2),{x=0,y=1}); 
>limit((x^2-y^2)/(x^2+y^2),{x=0,y=0}); 
>limit((x^3-x^2*y+x*y^2-y^3)/(x^2+y^2),{x=0,y=0}); 
>limit( (x*y-2*x-y+2)/(x^2+y^2-2*x-4*y+5),{x=1,y=2}); 
Neste último exemplo, o Maple não consegue calcular o limite proposto e com isso ele 
retorna a própria expressão digitada. 
5.2. Derivadas 
5.2.1 Derivadas de funções de uma variável 
 
Quando estamos lidando com funções de uma variável podemos calcular suas derivadas 
através do Maple. A sintaxe básica para o cálculo da derivada de uma função f é a 
seguinte: 
diff(f(x),x) 
onde, 
 f(x) – função ou expressão que se deseja obter a derivada; 
 x – variável em relação a qual se deseja obter a derivada. 
 De forma análoga ao que ocorre com o comando de limite se colocarmos o 
comando diff iniciando com letra maiúscula teremos a derivada na forma simbólica, ou 
seja, o cálculo não é efetuado. 
Exemplos: 
>Diff(x^5-2*x^3+3*x,x); diff(x^5-2*x^3+3*x,x); 
>Diff(1/x+1/x^2+1/x^3+1/x^4,x); 
diff(1/x+1/x^2+1/x^3+1/x^4,x); 
>Diff(x^(sin(3*x)),x); diff((x^(sin(3*x)),x); 
>Diff((1+1/x)^x,x); diff((1+1/x)^x,x); 
>Diff(tan(x)-cot(x),x); diff(tan(x)-cot(x),x); 
>Diff(exp(x^2)+ln(1/x)+sqrt(2*x-x^2),x); 
diff(exp(x^2)+ln(1/x)+sqrt(2*x-x^2),x); 
>Diff((a+cos(x+b)-ln(a*x))^2,x); diff((a+cos(x+b)-
ln(a*x))^2,x); 
 45
Neste último exemplo, podemos perceber a necessidade de se indicar a variável de 
derivação, pois nesse caso a e b são considerados como constantes, e então o cálculo é 
efetuado perfeitamente pelo Maple. 
 
5.2.2 Derivadas de ordem superior 
 
Seja f uma função derivável em um certo conjunto ⊂I IR, então podemos definir uma 
nova função →′ If : IR dada por)(xfx ′6 , denominada função derivada, ou 
simplesmente derivada de f. Com isso, a derivada de f ′ é denominada derivada de 2ª 
ordem de f e indicada por f ′′ ou )2(f . De modo análogo, define-se as derivadas de 
ordem superior a 2 de f. 
No Maple se quisermos calcular as derivadas …,, ff ′′′′′ , )(nf , podemos utilizar a 
seguinte sintaxe: 
diff(f(x),x,x,...,x) 
 
ou ainda 
diff(f(x),x$n) 
onde $n significa que a variável x deverá ser repetida n vezes. 
 
Exemplos: 
>Diff(3*x^3,x,x); diff(3*x^3,x,x); 
>diff(1/x,x$4); 
>diff(sin(x),x,x,x); 
>diff(cos(x),x$3); 
>diff(sqrt(x),x$4); 
 
É interessante observar que dependendo da função, a n-ésima derivada pode ser obtida 
de forma dedutiva. Essa dedução pode ser feita com o auxílio do próprio Maple, 
vejamos alguns exemplos: 
• suponha que queiramos calcular )(nf onde xxf 1)( = . Para deduzirmos a fórmula 
podemos colocar algumas derivadas em seqüência para que possamos deduzir a lei de 
formação,para isso podemos utilizar um comando já visto, a saber o seq: 
> seq(diff(1/x,x$i),i=1..5); 
65432
1120,124,16,12,1
xxxxx
−−− 
visualizando desta forma, ou seja, as derivadas todas em seqüência não é difícil ver que: 
1
)( 1!)1( +−= nnn xnf 
• suponha que queiramos calcular )(nf onde xxf =)( . Para deduzirmos a fórmula 
podemos colocar algumas derivadas em sequência juntamente com a ordem 
correspondente, de forma análoga ao caso anterior utilizando o comando seq: 
>seq([diff(sqrt(x),x$i),n=i],i=1..10); 
n vezes 
 46
[ ]


 =

 =−


 =

 =−

 =

 =−=
7,,6,
,5,,4,,3,,2,,1,
2
13
2
11
2
9
2
7
2
5
2
3
1
128
103951
64
945
1
32
1051
16
151
8
31
4
11
2
1
nn
nnnnn
xx
xxxxx 
visualizando dessa forma não é difícil deduzir a lei de formação geral da derivada n-
ésima de xxf =)( : 
2
12
1
2
)12(
)1(
1
11)(
−
∏−
=−
−
−= n
x
i
f n
n
inn 
Outra situação onde se pode usar os recursos do Maple já vistos é em relação aos 
gráficos, ou seja, podemos traçar os gráficos de uma função e suas derivadas 
simultaneamente. Por exemplo, 
>f:= x-> 1/20*x^5+x^3-2*x^2-3*x+4; 
f e suas derivadas (até ordem 5) podem ser colocadas em seqüência: 
>f(x),seq(diff(f(x),x$i),i=1..5); 
em seguida podemos traçar os gráficos: 
>plot([f(x),seq(diff(f(x),x$i),i=1..5)], x=-10..10,y=-
20..20, color=[red, blue, black, green, yellow, 
pink],numpoints=100); 
as opções de cores no comando plot acima são colocadas para se identificar qual o 
gráfico que corresponde a cada função e a opção numpoints, para aumentar a resolução. 
 
5.2.3 Derivadas de funções de mais de uma variável 
 
Seja f uma função de duas ou mais variáveis, podemos então calcular as derivadas 
parciais de f em relação às suas variáveis. A sintaxe para o cálculo das derivadas 
parciais de f é semelhante ao usado para funções de uma variável: 
diff(f(x1, x2,..., xn), var) 
onde, 
 f(x1, x2,..., xn) – função ou expressão em n variáveis; 
 var – variável(is) para (as) qual(is) se deseja calcular a(s) derivada(s) parcial(is). 
Exemplo: 
>f:= (x,y) -> (x^2+y^2)/(x+y); 
>diff(f(x,y),x); (derivada parcial de f com relação a x) 
>diff(f(x,y),y); (derivada parcial de f com relação a y) 
>diff(f(x,y),x,y); (derivada parcial de f primeiro com relação a x e depois 
com relação a y) 
>diff(f(x,y),y,x); (derivada parcial de f primeiro com relação a y e depois 
com relação a x) 
 
Como observado anteriormente se colocarmos o comando em letra maiúscula obteremos 
a notação simbólica da derivada: 
>Diff((x^2-t^2)/(1+sin(3*y)),x,x,y); diff((x^2-
t^2)/(1+sin(3*y)),x,x,y); 
 47
>Diff(ln(sqrt((t+v)/(t-v))),t,t,v,v); 
diff(ln(sqrt((t+v)/(t-v))),t,t,v,v); 
 
 
5.3. Integrais 
Dada uma função f de uma de uma variável podemos utilizar o Maple para o cálculo da 
integral de f. Os comandos para o cálculo da integral indefinida e definida são dados 
respectivamente por: 
int(f(x),x) e int(f(x),x=a..b) 
onde, 
 f(x) – função ou expressão a ser integrada; 
 x – variável de integração; 
 x=a..b – limites de integração(no caso de integrais definidas). 
 
Nos comando acima, se o Maple encontra uma solução para a integral ele 
automaticamente retorna a solução. Caso não seja possível encontrar a solução o Maple 
retorna a própria expressão digitada na forma simbólica. Aliás, para se obter a integral 
na forma simbólica usual da matemática basta colocar os comandos com a letra inicial 
em maiúscula(tanto no caso de integral definida quanto indefinida). 
 
Exemplos: 
>Int(x^n,x)= int(x^n,x); 
>Int(exp(n*x),x)=int(exp(n*x),x); 
>Int(1/x,x)=int(1/x,x); 
>Int(sqrt(a^2+u^2),u)= int(sqrt(a^2+u^2),u); 
>Int(x^2/((a+b*x)^2),x)= int(x^2/((a+b*x)^2),x); 
>Int(u^6*cos(u),u)= int(u^6*cos(u),u); 
 
Podemos perceber que a presença de constantes no integrando é perfeitamente possível, 
daí a necessidade de se indicar a variável de integração. Nos exemplos acima todas as 
integrais são indefinidas com isso, pode-se também notar que o Maple não exibe a 
constante de integração. Vejamos alguns exemplos de integrais definidas: 
>Int((x^2+2*x)/(x^4+3*x^2+x),x=-0.2..3)= 
int((x^2+2*x)/(x^4+3*x^2+x),x=-0.2..3); 
>Int(sqrt(x),x=0..4)= int(sqrt(x),x=0..4); 
>Int((1+t^2)/t^4)= int((1+t^2)/t^4); 
>Int(sin(x)*cos(x)^2,x=0..Pi/3)= 
int(sin(x)*cos(x)^2,x=0..Pi/3); 
>Int(x^3/(16+x^4),x=-2..2)= int(x^3/(16+x^4),x=-2..2); 
 
Sabe-se que a área sob o gráfico de uma função f contínua em um intervalo [a, b] é 
definida como ∫ba dxxf |)(| , podemos combinar o cálculo da integral com o respectivo 
esboço do gráfico da função integrada no intervalo [a, b] (mais a título de visualização). 
Vejamos alguns exemplos: 
 
 
Área da região 
sob o gráfico de f 
 48
>Int(1/2+1/2*cos(2*x),x=0..Pi/2)= 
int(1/2+1/2*cos(2*x),x=0..Pi/2); 
>plot(1/2+1/2*cos(2*x),x=0..Pi/2); 
 
>Int(1/3*exp(3*x)+sin(3*x),x=-1..0)= 
int(1/3*exp(3*x)+sin(3*x),x=-1..0); 
> plot(1/3*exp(3*x)+sin(3*x),x=-1..0); 
 
 
 
 
 
 
 
 
Obs.: o preenchimento na cor cinza nos gráficos acima, não foi gerado pelo Maple, no 
entanto a região é perfeitamente deduzida quando traçamos o gráfico no Maple. 
 
Como foi dito acima quando o Maple não encontra a forma exata da solução de uma 
integral ele retorna a própria integral. 
 
>Int(1/x,x=-1..1)= int(1/x,x=-1..1); 
>Int(x^ln(x),x):=int(x^ln(x),x); 
 
 
5.3.1 Integrais Múltiplas 
 
O mesmo comando utilizado para o cálculo de integrais de funções de uma variável 
pode ser utilizado para o cálculo de integrais múltiplas. O procedimento consiste em 
utilizar o comando int repetidas vezes mudando-se a variável de integração. Por 
exemplo, suponhamos que queiramos calcular a integral dupla de 22
11),(
yx
yxf += 
em relação a x e depois em relação a y, então podemos fazer: 
>Int(Int(1/x^2+1/y^2,x),y)= int(int(1/x^2+1/y^2,x),y); 
Vamos conferir o resultado: 
>Diff(-y/x-x/y,x,y)= diff(-y/x-x/y,x,y); 
 
>Int(Int(x*cos(y)-y*cos(x),y),x)= int(int(x*cos(y)-
y*cos(x),y),x); 
>Int(Int(12*x*y^2-8*x^3,x=0..2),y=-1..1)= int(int(12*x*y^2-
8*x^3,x=0..2),y=-1..1); 
>Int(Int(Int(ln(x*y*z),x),y),z)= 
int(int(int(ln(x*y*z),x),y),z); 
No caso da integral múltipla definida, as regiões de integração podem ser mais gerais ou 
seja, não necessariamente precisam ser intervalos numéricos. Por exemplo: 
>Int(Int(x^3+4*y,y=x^2..2*x),x=0..2)= 
int(int(x^3+4*y,y=x^2..2*x),x=0..2); 
Área da região sob 
o gráfico de f 
 49
>Int(Int(2*y*cos(x),x=Pi/6..y^2),y=1..3)= 
int(int(2*y*cos(x),x=Pi/6..y^2),y=1..3); 
>Int(Int(x^2+4*y^2,y=x^2..-x^2+8),x=0..2)= 
int(int(x^2+4*y^2,y=x^2..-x^2+8),x=0..2); 
 
Há uma interpretação geométrica para integrais 
duplas, quando se tem uma função 0),( ≥yxf e 
contínua em toda uma região R do plano. Denotando 
por S o gráfico de f e por T o sólido abaixo