1) O documento apresenta um livro sobre cálculo utilizando o software Maple para auxiliar no ensino de cálculo diferencial e integral. 2) O objetivo é transformar aulas tradicionais em parcerias onde alunos e professores interajam ativamente, utilizando recursos computacionais. 3) Os autores esperam que o livro auxilie na compreensão dos conceitos matemáticos e no desenvolvimento de um senso crítico sobre limitações dos softwares.
3. 3
PREFÁCIO
Esse livro surgiu da necessidade de modernização do ensino de Cálculo Diferen-
cial e Integral, na Universidade do Estado do Rio de Janeiro, UERJ. O texto,
elaborado para a disciplina introdutória, Cálculo I, foi concebido para servir de
guia a todos que buscam uma renovação da prática docente, de modo a con-
ciliar aspectos do ensino tradicional com a utilização de recursos computacio-
nais. A intenção que norteou essa iniciativa foi, não somente ilustrar melhor
os conceitos teóricos, através da utilização dos recursos gráficos e da elaboração
de cálculos algébricos mais complexos que são possibilitados pelos programas
computacionais matemáticos, mas, principalmente, promover uma mudança de
metodologia.
O objetivo principal do livro é transformar o conceito tradicional, onde o pro-
fessor, em geral, é o único participante ativo da atividade de ensino, sendo os
alunos meros receptores, numa parceria, onde tanto mestre como alunos pos-
sam interagir, todos participando ativamente do desenvolvimento da aula.
Acreditamos que a utilização desse livro irá auxiliar o professor no seu papel
de orientador, instigador e moderador do processo de aprendizagem, bem como
possibilitará que os alunos se tornem verdadeiros colaboradores na elaboração
da aula, através de uma melhor compreensão dos conceitos abordados, de uma
busca mais divertida das soluções de muitos dos problemas propostos e da cria-
ção, por eles próprios, de novas tarefas ou exercícios.
Outro aspecto que consideramos de grande importância é desmistificar a idéia
de que "o computador é capaz de tudo", idéia essa, que parece se firmar, cada
vez mais, num mundo que presencia o ritmo acelerado em que se desenvolve a
Tecnologia de Informação e Comunicação. As limitações dos algoritmos empre-
gados em certas versões dos programas computacionais ocasionam deficiências
nas resoluções de alguns problemas matemáticos. São os chamados conflitos
computacionais. Assim, desejamos também que o aluno desenvolva um senso
crítico em relação ao uso da "máquina"e percebam que não se pode abster "do
pensar"e que "o cérebro é ainda a melhor máquina". Por isso, a seção 1.23
4. 4
do Capítulo 1 é dedicada a problemas matemáticos, que não são resolvidos de
maneira satisfatória pela versão do MAPLE que utilizamos.
No Curso de Matemática da UERJ, a disciplina de Cálculo I, com aulas ex-
positivas tradicionais, é complementada com uma disciplina de Laboratório de
Cálculo I. Para as aulas de laboratório, utilizamos o programa MAPLE. A expe-
riência dos autores em ministrar, simultaneamente, por mais de dois anos, essas
duas disciplinas, a teórica e de laboratório, possibilitou a elaboração desse texto,
que apresenta, em todos os seus capítulos, os comandos básicos do MAPLE,
versão 9.5, relacionando-os com os conceitos que são abordados na disciplina
teórica. Muitos poderiam observar que esses comandos são obtidos através da
"Ajuda"do programa. No entanto, lembramos que o aluno está tendo o seu
primeiro contato com o Cálculo Diferencial e Integral e muitos deles não têm o
conhecimento, nem da terminologia empregada no Cálculo, nem dos programas
computacionais que podem ser utilizados nessa área. Assim, sentem dificul-
dades em manipular tais programas, a começar pela própria busca de tópicos.
Portanto, o fato do livro explicitar os comandos mais básicos do MAPLE poupa
um tempo precioso do aluno, que poderá melhor empregá-lo para se dedicar á
resolução de problemas e desenvolvimento de projetos que viabilizem a aprendi-
zagem dos conceitos matemáticos.
O conteúdo do livro é o mesmo de um curso tradicional de Cálculo, mas o seu
enfoque foi o da utilização do computador como ferramenta para a resolução de
exercícios e de chamar a atenção para a ocorrência de eventuais conflitos com-
putacionais. Tem a vantagem de ser auto-explicativo, o que permite ao aluno
determinar o seu próprio ritmo de estudo, além de contribuir para o seu desem-
penho individual. Como muitas das sintaxes dos programas computacionais
utilizados em Matemática são parecidas, nossa experiência mostra que, após
esse primeiro contato com a disciplina Laboratório de Cálculo I, onde se fez a
opção de usar o MAPLE, o aluno adquire habilidade para lidar com esse tipo de
ferramenta computacional e consegue facilmente manipular outros programas
semelhantes.
Não podemos deixar de externar nossos mais sinceros agradecimentos ao pro-
fessor Mário Olivero Marques da Silva, do Instituto de Matématica da Uni-
versidade Federal Fluminense, UFF, que foi um dos idealizadores de um projeto
pioneiro, realizado na UFF, no final da década de 1990, que utilizou o Maple
5. 5
V como uma ferramenta didática para auxiliar a compreensão do conteúdo pro-
gramático da disciplina de Cálculo I. Um dos produtos gerados por esse projeto
foi o material didático que pode ser encontrado nas referências e do qual nos
utilizamos, como ponto de partida, para as nossas primeiras experiências leci-
onando a disciplina de Laboratório de Cálculo I, na UERJ. Assim, muitas das
idéias contidas nesse livro sofreram influência dessa iniciativa pioneira.
Os autores
Rio de Janeiro - Brasil
11. Capítulo 1
COMANDOS BÁSICOS DO MAPLE
1.1 Introdução
O MAPLE é um tipo de software, pertecente a uma classe chamada de computação simbólica
ou algébrica, dirigido para a resolução de diversos problemas em Matemática e outras Ciências
afins.
Uma das principais características do MAPLE é permitir manipulações numéricas e simbólicas,
além de gerar gráficos em dimensão 2 e 3. As manipulações simbólicas são operações do tipo
- expressar uma variável em função de outra, substituição, simplificação, fatoração, reagrupa-
mentos dos termos de uma expressão, etc. A capacidade simbólica do software, permite obter
soluções exatas em diversos tipos de problemas.
O MAPLE consiste de três partes principais, a saber: o núcleo (kernel), que é a parte central do
software, escrita em linguagem C, onde são realizadas as operações; as livrarias (packages), que
são um conjunto de funções pré-definidas e que são acionadas por uma sintaxe própria, quando
necessário; e finalmente, a interface do usuário, chamada folha de trabalho (worksheet), onde
se realizam as operações de entrada e saída. O MAPLE tem, essencialmente, dois tipos de
comandos: os que utilizam o núcleo e os comando da interface do usuário.
O MAPLE é uma ferramenta poderosa que serve não somente para testar os conhecimentos
de Cálculo I, como também abrange muitas áreas da Matemática. Nestas notas nos concentra-
remos, essencialmente, na parte básica do software, direcionado exclusivamente ao Cálculo de
funções de uma variável real. As sintaxes apresentadas nestas notas correspondem às versões
do MAPLE 5 em diante.
Recomendamos que, ao ler os capítulos, já esteja instalado o MAPLE para reproduzir os exem-
plos e os exercícios.
Finalmente, observamos que é recomendável a utilização de recursos computacionais, no
apoio ao ensino do Cálculo, é recomendável, mas isso não exclui, de forma alguma, a abor-
dagem do aprendizado teórico em sala de aula, o qual sempre se mostrou indispensável.
A utilização do MAPLE no Cálculo é um ótimo laboratório para testar e esclarecer muitos
conceitos estudados em sala de aula. Veja o último parágrafo deste capítulo.
11
12. 12 CAPÍTULO 1. COMANDOS BÁSICOS DO MAPLE
1.2 Início
Após o início do software, a digitação das expressões serão feita ao lado do prompt :
>
Isto é, quando aparecer o prompt, implica em que o MAPLE está pronto para receber os co-
mandos.
A sintaxe de todo comando do MAPLE deve terminar em ponto e vírgula:
>expressão;
Ou dois pontos:
>expressão:
Utilizamos ";” (ponto e vírgula) quando desejamos que o resultado seja mostrado imediata-
mente na tela. Utilizamos ":” (dois pontos) quando desejamos que o MAPLE execute o co-
mando e o resultado seja guardado na memória, sem mostrá-lo na tela. A execução da sintaxe
do comando após ";” ou ":” é finalizada pressionando a tecla enter.
Em geral, é conveniente, ao início de cada exercício, utilizar o comando:
>restart;
Este comando apaga da memória os comandos utilizados anteriormente, porém, não apaga o
que já foi digitado no worksheet.
É possível guardar os dados digitados, enviando-os para um arquivo de extensão *.mws, o
qual poderá ser lido pelo MAPLE em outra ocasião.
1.3 Operações e Números Pré-Definidos
Alguns dos comandos básicos para diversas operações pré-definidas do MAPLE são:
Adição: +
Subtração: -
Multiplicação: *
Divisão: /
Potenciação: ˆ
Fatorial de um número natural: !
Maior e menor que: > e <
Maior ou igual e menor ou igual que: >= e <=
Diferente de: <>
13. 1.3. OPERAÇÕES E NÚMEROS PRÉ-DEFINIDOS 13
Máximo divisor comum: igcd(a,b,c,...)
Mínimo múltiplo comum: ilcm(a,b,c,...)
Menor inteiro maior ou igual a x: ceil(x)
Parte inteira de x: trunc(x)
Parte fracionária de x: frac(x)
O MAPLE tem os seguintes números pré-definidos:
O número π é definido por: Pi
O número e é definido por: exp(1)
A unidade imaginária é definida por: I
Notamos que o Maple utiliza para os decimais ".” ponto. Por exemplo:
3
7
é denotado na forma
decimal 0.428571.
Exemplo 1.1.
1. Para calcular 3 × 71/9 + 113 − 1. Devemos digitar:
> 3*7 ˆ(1/9) +11 ˆ 3 -1;
3
9
√
7 + 1330
2. Para calcular
5 π − 1
3
. Devemos digitar:
> (5*Pi-1)/3;
5 π − 1
3
Devemos ter cuidado nos parênteses utilizados na construção de uma expressão. No exem-
plo anterior, o resultado será diferente se digitarmos:
> 5*Pi-1/3;
5 π −
1
3
Logo, o resultado será diferente.
3. Determine o máximo divisor comum de 6 e 26 e mínimo múltiplo comum de 5 e 24.
Escrevemos:
14. 14 CAPÍTULO 1. COMANDOS BÁSICOS DO MAPLE
> igcd(6,26);
2
Analogamente, escrevemos:
> ilcm(5,24);
120
4. Determine o menor inteiro maior ou igual a 5.3 e a parte inteira de 223.34.
Escrevemos:
> ceil(5.3);
6
Analogamente, escrevemos:
> trunc(223.34);
223
1.4 Funções Pré-Definidas
O MAPLE tem algumas funções elementares e transcendentes pré-definidas, por exemplo:
Valor absoluto de x, ( |x|): abs(x)
Sinal de x, ( sgn(x)): csgn(x)
O maior inteiro que é menor ou igual a x, ( [[x]]): floor(x)
Raiz quadrada de x, (
√
x): sqrt(x)
Raiz n-ésima de x, ( n
√
x): root(x,n )
Exponencial de x, ( ex): exp(x)
Logaritmo natural de x, (ln(x)): ln(x)
Logaritmo na base 10 de x, (log(x)): log(x)
Logaritmo na base b de x, (logb(x)): log[b](x)
Funções Trigonométricas:
sin(x), cos(x), tan(x), cot(x), sec(x), csc(x)
15. 1.4. FUNÇÕES PRÉ-DEFINIDAS 15
.
Onde x, é em radianos.
Funções Trigonométricas Inversas:
arcsin(x), arccos(x), arctan(x), arccot(x), arcsec(x), arcsc(x)
Funções Trigonométricas Hiperbólicas:
sinh(x), cosh(x), tanh(x), coth(x), sech(x), csch(x)
Funções Trigonométricas Hiperbólicas Inversas:
arcsinh(x), arccosh(x), arctanh(x), arccoth(x), arcsech(x), arcsch(x)
Exemplo 1.2.
1. Determine o valor de tg(
4 π
3
). Devemos digitar:
> tan(4*Pi/3);
√
3
2. Determine o valor de 4 sen(
π
3
) − sec2(
π
4
). Devemos digitar:
> 4*sin(Pi/3)-sec(Pi/4) ˆ 2;
2
√
3 − 2
3. Determine o valor de arcsen(1) − arctan(1) + sech(4). Devemos digitar:
> arcsin(1)-arctan(1)+sech(4);
π
2
+ sech(2)
4. Determine o valor de log5(3) + ln(5) + log(
1
2
). Devemos digitar:
> log[5](3)+ln(5)+log(1/2);
ln(3)
ln(5)
+ ln(5) − ln(2)
Pode explicar este resultado?
5. Determine o valor de [[π + 70
√
12929 + e5]]. Devemos digitar:
> floor(Pi+root(12929, 70)+exp(5));
152
16. 16 CAPÍTULO 1. COMANDOS BÁSICOS DO MAPLE
1.5 Cálculos Aproximados
Para efetuar cálculos aproximados no MAPLE, utilizaremos o comando:
> evalf(expressão, digitos );
Ou, alternativamente:
> evalf[digitos ] (expressão);
O comando evalf expressa o valor aproximado na forma de número decimal com um total de
10 digítos, se não é indicado o números de digitos. Podemos alterar o número de digítos da
resposta, como mostram os exemplos a seguir:
Exemplo 1.3.
1. Determine o valor aproximado de π. Devemos digitar:
> evalf(Pi);
3.141592654
Se desejamos mais digítos na aproximação, por exemplo 100, escrevemos:
> evalf[100](Pi);
3.141592653589793238462643383279502884197169399375105820974944592307816406286
208998628034825342117068
2. Determine o valor aproximado de 43
√
5 +
17
3
+ e 5
√
456 − [[ln(453)]]. Devemos digitar:
> evalf(4 ˆ 3*sqrt(5)+17/3 +exp(1)*root(456, 5)-floor(ln(453)));
152.0238611
Para obter o resultado com 30 digítos:
>evalf(4ˆ3*sqrt(5)+17/3 +exp(1)*root(456, 5)-floor(ln(453)),30);
152.023861144905348681717678473
3. Determine o valor aproximado de 4 sen(
π
3
) − sec2(
π
4
). Devemos digitar:
> evalf(4*sin(Pi/3)-sec(Pi/4) ˆ 2) ;
1.464101616
17. 1.6. MANIPULAÇÕES ALGÉBRICAS 17
4. Determine o valor aproximado de log5(3) + ln(5) + log(
1
2
). Devemos digitar:
> evalf(log[5](3)+ln(5)+log(1/2));
1.598896926
1.6 Manipulações Algébricas
Como foi comentado no início do capítulo, o MAPLE aceita também expressões algébricas.
Os seguintes comandos são utilizados para manipulações de expressões numéricas e/ou algé-
bricas:
Desenvolver uma expressão: expand( )
Fatore uma expressão: factor( )
Simplifique uma expressão: simplify( )
Decompor um número em fatores primos: ifactor( )
Estes comandos possuem algumas opções adicionais. Por exemplo:
> expand(expressão, opção);
Os argumentos desta sintaxe são: trig, exp, ln , power ou radical. Outras opções podem ser
consultadas, utilizando >?sintaxe.
Exemplo 1.4.
1. Desenvolver (x2 + 4)4. Devemos escrever:
> expand((x ˆ 2 +4)ˆ4);
x8
+ 16 x6
+ 96 x4
+ 256 x2
+ 256
2. Desenvolver sen(2 x). Devemos escrever:
> expand(sin(2*x));
sen(2 x)
Agora, se digitamos:
> expand(sin(2*x),trig);
2 sin(x) cos(x)
3. Desenvolver cosh(x + y). Devemos escrever:
> expand(cosh(x+y),exp);
19. 1.6. MANIPULAÇÕES ALGÉBRICAS 19
((2))8
((3))4
((5))2
(7)
Em geral, o MAPLE não assume, a priori, o domínio das variáveis, numa expressão. Vejamos
o exemplo a seguir.
Exemplo 1.5.
1. Digite a seguinte expressão:
> sin(4*Pi*n);
sin(4 π n)
O MAPLE não lançou o resultado igual a zero. Isto é devido ao fato de que o MAPLE supõe
que n é uma variável independente e não necessariamente um número inteiro.
Utilizamos a seguinte sintaxe, para definir o domínio de uma variável:
> assume(variável, opção);
O tipo pode ser inteiro (integer), real (real) ou por exemplo:
> assume(variável>0);
No exemplo anterior:
> assume(n,integer);
> sin(4*Pi*n);
0
> cos(Pi*n);
(−1)n
2. Simplifique x2 y2, se x e y são números positivos.
> simplify(sqrt(x ˆ 2 y ˆ 2), assume=nonneg);
x y
Também podemos utilizar:
> assume(variável1 >0, variável2 >0,....):
Quando se tratar de funções que envolvem logarítmos. Por exemplo:
3. Desenvolver ln
y
x
. Devemos digitar:
20. 20 CAPÍTULO 1. COMANDOS BÁSICOS DO MAPLE
>assume(x>0,y>0):
> expand(ln(x/y);
ln(x) − ln(y)
4. Simplifique ln(ex). Digitamos:
>assume(x, real):
> simplify(ln(exp(x)));
x
Outro comando de manipulação algébrica é o combine que produz o efeito inverso do co-
mando expand, o qual combina diversas expressões para conseguir uma mais reduzida. Ao
utilizar este comando, é nescesário indicar, como argumento, que tipo de elementos se deseja
combinar. A sintaxe é:
> combine(expressão, opção);
Ou, equivalentemente:
> combine[opção] (expressão);
As opções desta sintaxe são: trig, exp, ln , power ou radical.
Exemplo 1.6.
1. Digite:
> combine(2*sin(x)*cos(x),trig);
sin(2 x)
2. Digite:
> combine(exp(x)*exp(y),exp);
exy
3. Digite:
> combine(x ˆ y /x ˆ 2 ,power);
xy−2
4. Digite:
>combine[radical](sqrt(27)*sqrt(10)*sqrt(31)+sqrt(10)*sqrt(x ˆ 2 +1);
3
√
930 + 10 x2 + 10
21. 1.7. EQUAÇÕES, INEQUAÇÕES E SISTEMAS DE EQUAÇÕES 21
1.7 Equações, Inequações e Sistemas de Equações
Para resolver equações, inequações, sistemas lineares, utilizamos o comando solve.
Para equações em uma variável:
> solve(equação, variável);
Para equações ou sistemas de equações de mais de uma variável, a sintaxe do comando deve
incluir as variáveis que desejamos determinar. Quando desejamos resolver um sistema a sin-
taxe é:
> solve({equação1,equação2,.....}, {variável1,variável2,......});
Este comando também é utilizado quando, numa equação com mais de uma variável, deseja-
mos expressar uma delas em função das outras.
Para determinar as soluções inteiras de uma equação, utilizamos a seguinte sintaxe:
>isolve(equação);
Quando se deseja obter o resultado aproximado de uma equação ou sistema utilizamos a sin-
taxe:
> fsolve(equação,variável, opções);
ou
> fsolve({equação1 ,equação2,....},{variável1, variável2, ....}, opções);
A opção mais utilizada, nesta sintaxe, é o intervalo onde se deseja achar a soluação aproximada.
Exemplo 1.7.
1. Determine a solução de x3 − 7 x2 + 4 x + 12 = 0. Devemos escrever:
>solve((x ˆ 3 -7*x ˆ 2 +4*x +12,{x});
{x = −1}, {x = 2}, {x = 6}
2. Determine a solução de x2 − 3 x y + 2 y2 = 0 em função de y. Devemos escrever:
>solve((x ˆ 2 -3*x*y+2*y ˆ 2 =0,{y});
{y = x}, {y =
x
2
}
3. Determine a solução do sistema:
22. 22 CAPÍTULO 1. COMANDOS BÁSICOS DO MAPLE
5 x − 3 y = 1
−2 x + 8 y = 9.
Digite:
>solve(({5*x-3*y=1,-2*x+8*y=9},{x,y});
{x =
35
34
}, {y =
47
34
}
Podemos aproximar as soluções:
>solve(({5*x-3*y=1,-2*x+8*y=9},{x,y}):
>evalf(%)
{x = 1.029411765}, {y = 1.382352941}
Utilizamos o comando % para chamar a expressão imediatamente anterior sem repetir a
digitação. Este comando é muito útil quando se manipula expressões muito complicadas
e/ou extensas. Analogamente, o comando % % representa o penúltimo resultado.
4. Determine a solução de |x + |x + 2|2 − 1| > 9. Devemos digitar:
>solve(abs(x+abs(x+2)ˆ 2 -1)>9,x);
RealRange (Open (1) , ∞) , RealRange (−∞, Open (−6))
Isto é, (−∞, −6) ∪ (1, +∞).
5. Determine a solução de x x3 − 3 x2 − 9 x + 27 < 0. Devemos digitar:
>solve(x *abs(xˆ3 -3*x ˆ2+9*x+27) <0,x);
RealRange(Open(0), Open(3)), RealRange(Open(3), infinity), RealRange(Open(-3), Open(0)),
RealRange(-infinity, Open(-3))
Isto é, (−∞, −3) ∪ (−3, 0) ∪ (0, 3) ∪ (3, +∞).
6. Determine a solução de x2 − 36 x + 100 = 0, no intervalo [−20, 20]. Devemos digitar:
>fsolve(x ˆ 2 -36*x+100=0,{x},x=-20..20);
{3.0033370453}
7. Determine as soluções inteiras de: x4 +
5 x3
6
−
7 x2
3
+
x
6
+
1
3
= 0. Devemos digitar:
>isolve(xˆ 4+(5/6)*xˆ3-(7/3)*xˆ2+(1/6)*x+1/3);
23. 1.7. EQUAÇÕES, INEQUAÇÕES E SISTEMAS DE EQUAÇÕES 23
{x = −2}, {x = 1}
Note que:
>solve(xˆ 4+(5/6)*x ˆ 3-(7/3)*xˆ2+(1/6)*x+1/3,{x});
{x = −2}, {x = 1}, {x =
1
2
}, {x = −
1
3
}
8. Determine a solução do sistema:
sen(x + y) − ex y = 0
x − y = 1;
se (x, y) ∈ [−2, 2] × [−2, 2].
Digitemos:
>fsolve({sin(x+y)-exp(x) * y=0,x-y=1},{x,y},{x=-2..2,y=-2..2});
{x = 1.278443473, y = −0.2784434726}
O Maple ocasionalmente, lança soluções em função da expressão RootOf. Vejamos o seguinte
exemplo:
Exemplo 1.8.
Digitemos:
> solve(x ˆ 5 - 2*x + 3 = 0,x);
{x = RootOf(_Z5 − 2_Z + 3; index = 1)},
{x = RootOf(_Z5 − 2_Z + 3; index = 2)},
{x = RootOf(_Z5 − 2_Z + 3; index = 3)},
{x = RootOf(_Z5 − 2_Z + 3; index = 4)},
{x = RootOf(_Z5 − 2_Z + 3; index = 5)}
RootOf(expressão) é a forma genérica das raízes do polinômio. Isto indica que x é uma raiz
do polinômio z5 − 2 z + 3, onde index é o número e a ordem da solução Para obter soluções
explícitas, complexas, utilizamos a sintaxe:
> evalf(%);
{x = .9585321812+.4984277790*I}, {x = -.2467292569+1.320816347*I}, {x = -1.423605849},
{x = -.2467292569-1.320816347*I}, {x = .9585321812-.4984277790*I}
Estas são as 5 raizes da equação. As soluções da equação, onde aparece o símbolo I, são as
soluções que não são reais.
24. 24 CAPÍTULO 1. COMANDOS BÁSICOS DO MAPLE
Para obter todas as soluções de uma equação equação, especialmente, as trigonometricas, uti-
lizamos a seguinte sintaxe:
>solve(equação,variável,AllSolutions);
Exemplo 1.9.
1. Determine a solução de sen(x) = 0.
>solve(sin(x)=0,x);
0
Digitamos:
>solve(sin(x)=0,{x},AllSolutions);
{x = π _Z5˜}
Isto equivale a:
x = k π, k ∈ Z
2. Determine a solução de cos(x) +
√
3
2
= 0.
>solve(cos(x)+sqrt(3)/2=0,x);
5
6
π
Digitamos:
>solve(cos(x)+sqrt(3)/2=0,{x},AllSolutions);
{x =
5
6
π −
5
3
π__B2˜ + 2 π_Z2˜}
Isto equivale a:
x =
5 π
6
+ 2 k π, x = −
5 π
3
+ 2 k π, m, k ∈ Z
3. Determine a solução de cos(4 x) + sen(2 x) = 0.
>solve(cos(4*x)+sin(2*x)=0,x,AllSolutions);
1
4
π + π _Z1˜, −
1
12
π + π _Z2˜, −
5
12
π + π _Z3˜
Interprete o resultado.
25. 1.8. NOMEAÇÃO DE OBJETOS E SUBSTITUIÇÕES 25
1.8 Nomeação de Objetos e Substituições
Quando necessitamos utilizar seguidamente uma expressão e/ou valor numérico, podemos
nomeá-los, evitando assim digitá-los repetidamente.
A sintaxe para isto é:
:= (dois pontos e igual)
Para substituir os valores numa expressão já definida, utilizamos a seguinte sintaxe:
> subs(objeto a substituir, expressão);
Exemplo 1.10.
1. Se digitamos:
> eq1:=x+y-3=0;
eq1 := x + y − 3 = 0
Podemos chamar a expressão anterior, fazendo:
> eq1;
x + y − 3 = 0
Ou, resolvê-la:
> solve(eq1,{x});
{x = −y + 3}
2. Num sistema de equações, podemos nomeá-las como:
> eq1:=3 *x-5*y+z=1 :
> eq2:=x+3*y-z=5:
> eq3:=-x-y+z=1:
Escrevemos:
> solve({eq1,eq2,eq3 },{x,y,z});}
{x = 3, y = 3, z = 7}
3. Escreva a seguinte sequência de comandos:
26. 26 CAPÍTULO 1. COMANDOS BÁSICOS DO MAPLE
> eq1:=a*x ˆ 2 +b * x+c;
a x2
+ b x + c
> sol:=solve(eq1=0,x);
{x =
1
2
−b +
√
b2 − 4 a c
a
} {x =
1
2
−b −
√
b2 − 4 a c
a
}
> sol[1];
{x =
1
2
−b +
√
b2 − 4 a c
a
}
Interprete a sequência de comando e faça > sol[2];.
4. Substitua no exemplo anterior os valores a = 1, b = 5 e c = 3. Devemos digitar:
> subs(a=1,b=5,c=3,eq1);
x2
+ 5 x + 3
5. Determine a solução de:
x5
− x4
e −
23 x4
8
+
23 e x3
8
−
179 x3
8
+
179 e x2
8
+
85 x2
4
−
85 e x
4
+ 3 x − 3 e = 0;
Devemos digitar:
>eq:=x ˆ 5-x ˆ 4*exp(1)-(23/8)*x ˆ 4+(23/8)*x ˆ 3*exp(1)-(179/8)*x ˆ 3+
+(179/8)*x ˆ 2*exp(1)+(85/4)*x ˆ 2-(85/4)*x*exp(1)+3*x-3*exp(1) = 0):
>sol:=solve(eq,{x});
{x = 1}, {x = −
1
8
}, {x = 6}, {x = −4}, {x = e}
>sol[1],sol[4]
{x = 1}, {x = −4}
6. Determine a solução do sistema:
x2 + y2 + z2 = 1
x − y + 2 z = −1
x y + y z + x z = 0
.
Devemos digitar:
>eq1:=x ˆ 2 +y ˆ 2 +z ˆ 2 =1:
>eq2:=x-y+2 *z=-1:
27. 1.8. NOMEAÇÃO DE OBJETOS E SUBSTITUIÇÕES 27
>eq3:=x*y+y*z+z*x=-1:
>solve({eq1,eq2,eq3},{x,y,z});
{x = −
3
2
∗ RootOf(7 * _Z ˆ 2-3) +
1
2
, y =
1
2
∗ RootOf(7 * _Z ˆ 2 -3) +
3
2
, z = RootOf(7* _ Z ˆ 2- 3)},
{x = −
3
2
−
3
2
∗ RootOf(7* _ Z ˆ 2 +8 * _ Z-3), y = −
1
2
+
1
2
∗ RootOf(7* _Z ˆ 2+8*_Z-3),
z = RootOf(7*_ Z ˆ 2+8*_Z-3)}
evalf(%);
{x = −.4819805066, y = 1.827326836, z = .6546536711},
{x = −1.946306256, y = −.3512312478, z = .2975375043}
Para verificar que os resultados obtidos pelo MAPLE são, realmente, soluções de uma equação
e/ou um sistema de equações, utilizamos a seguinte sintaxe:
>eq:=equação:
>sol:=solve(eq,variável);
>subs(variável=sol[i],eq);
Exemplo 1.11.
1. Determine as soluções de x4 + x3 − 7 x2 − x + 6 = 0. Devemos digitar:
>xˆ 4+xˆ 3-7*xˆ 2-x+6 = 0:
>sol:=solve(eq,x);
sol := 2, −1, 1, −3
subs(x=sol[1],eq);
0 = 0
subs(x=sol[3],eq);
0 = 0
28. 28 CAPÍTULO 1. COMANDOS BÁSICOS DO MAPLE
1.9 Livrarias
Uma das características do MAPLE são suas livrarias (packages). As livrarias são pacotes de co-
mados especiais, utilizados para resolver tipos especificos de problemas. Por exemplo, o MA-
PLE possui livrarias especificas, para Gráficos, Geometria, Álgebra Linear, Álgebra Vetorial,
etc. O MAPLE possui em torno de 2000 comandos; somente os mais importantes são carrega-
dos automaticamente na memória. No ato de executar o programa os outros comandos ficam
nas livrarias. As livrarias são agrupadas por temas e podem ser carregadas, individualmente,
ou uma função só. Para usuários avançados é possível criar suas próprias livrarias.
A sintaxe para ativar uma livraria na memória, é:
> with(livraria):
A sintaxe para ver o conteúdo das livrarias é:
> with(livraria);
No decorrer do texto, apresentaremos as livrarias mais utilizadas em Cálculo em uma Variável.
1.9.1 Livraria - RealDomain
Em geral, o MAPLE trabalha com os números complexos. A livraria RealDomain faz com que
o MAPLE trabalhe somente com os números reais.
Primeiramente, vejamos o conteúdo da livraria:
>with(RealDomain);
[Im,Re, ˆ,arccos,arccosh,arccot,arccoth,arccsc,arccsch,arcsec,arcsech,arcsin,arcsinh,arctan,
arctanh,cos,cosh,cot, coth,csc,csch,eval,exp,expand,limit,ln ,log,sec,sech,signum,simplify,
sin,sinh, solve,sqrt,surd,tan,tanh]
Isto nos indica que quando digitamos a sintaxe:
>with(RealDomain):
Todos os comandos da livraria, de acima, assumirão que os cálculos serão efetuado em R.
Exemplo 1.12.
Nos exemplos abaixo os comandos são dados, primeiramente, sem usar a livraria RealDomain.
Veremos que obtemos respostas não reais (complexas).
1. Simplifique
√
x4:
>simplify(sqrt(x ˆ 4));
csgn(x2
)x2
29. 1.9. LIVRARIAS 29
onde, csgn (x) é o sinal de x.
2. Simplifique (−4913)1/3:
>simplify(root(-4913,3));
17
2
+
17
2
I
√
3
3. Resolva x3 − y = 1 para x.
>solve(x ˆ 3 -y=1,x);
(y + 1)1/3
, −
1
2
(y + 1)1/3
+
1
2
I
√
3 (y + 1)1/3
, −
1
2
(y + 1)1/3
−
1
2
I
√
3 (y + 1)1/3
Se utilizamos a livraria:
>with(RealDomain):
>simplify(sqrt(x ˆ 4));
x2
>simplify(root(-4913,3));
−17
>solve(x ˆ 3 -y=1,x);
(y + 1)1/3
Pode explicar estes resultados?
3. Se, digitamos:
>solve(xˆ5 -3*x+25=0,{x});
{x = RootOf(_ Z ˆ 5-3*_ Z+25, index = 1)}, {x = RootOf(_ Z ˆ 5-3*_ Z+25, index = 2)},
{x = RootOf(_ Z ˆ 5-3*_ Z+25, index = 3)}, {x = RootOf(_ Z ˆ 5-3*_ Z+25, index = 4)},
{x = RootOf(_ Z ˆ 5-3*_ Z+25, index = 5)}
Se, digitamos:
>with(RealDomaine):
>solve(xˆ5 -3*x+25=0,{x});
{x = RootOf (_Z5
− 3 _Z + 25, −1.986834074)t}
evalf(%);
{x = −1.986834073}
30. 30 CAPÍTULO 1. COMANDOS BÁSICOS DO MAPLE
1.10 Conjuntos e Sequências
Para definir conjuntos se utiliza a seguinte sintaxe:
> {a, b, c,....};
{a, b, c, . . .}
A sintaxe das operações de conjuntos são as seguintes:
União: union
Interseção: intersect
Diferença: minus
Subconjunto: subset
A sintaxe para gerar sequências de objetos é:
>seq(r(i),i=a..b);
O comando gera uma sequência, aplicando a cada i a fórmula r(i). Se i ∈ X, onde X é um
conjunto, utlizamos a sintaxe:
>seq(r(i),i in X);
Como veremos nas próximas seções, esta sintaxe será associada a outras situções um pouco
diferentes de aquelas que geraram seqûencias numéricas.
Exemplo 1.13.
1. Sejam A = {a, b c, d} e B = {a, c, e, f, g}. Determine A ∪ B, A ∩ B e A − B.
Escrevemos:
> A:={a, b, c, d};
A := {a, b c, d}
> B:={a, c, e, f, g};
B := {a, c, e, f, g}
Então:
>X:= A union B;
X := {a, b, c, d, e, f, g}
>Y:= A intersect B;
31. 1.10. CONJUNTOS E SEQUÊNCIAS 31
Y := {a, c}
>Z:= A minus B;
Z := {b, d}
Observe que:
>X subset Y;
false
e
>Y subset X;
true
Interprete estes últimos resultados.
2. Gere os 10 primeiros termos da sequência r(i) =
1
i2
, i ∈ N.
>seq(1/iˆ 2,i=1..20);
1,
1
4
,
1
9
,
1
16
1
25
1
36
,
1
49
1
64
1
81
1
100
3. Gere os termos da sequência:
r(i) =
2 i
i2 + 1
,
se i ∈ X, onde X = {−20, −10, −1, 0, 20, 300}.
>X:= {-20,-10,-1,0,20,300}:
>seq(2*1/(iˆ 2 +1),i in X);
−
40
401
, −
20
101
, −1, 0,
40
401
,
600
90001
32. 32 CAPÍTULO 1. COMANDOS BÁSICOS DO MAPLE
1.11 Exercícios
1. Determine os valores de x tais que:
(a)
√
x2 = x
(b) (x − 1)2 = x − 1
(c)
√
x2 − 2 x + 1 = 1 − x
(d)
√
x4 = x2
(e) |x + 1| = |x − 1|
(f) |x − 1|2 = |2 x − 1|
(g) |x| = |x + 7|
(h) |x − 1|2 = |2 x + 1|
2. Verifique se é verdadeiro ou falso, dando um exemplo no caso de a resposta ser falso:
(a) Para todo x, y e z: |x + y + z| = |x| + |y| + |z| e
(b) Para todo x e y: |x − y| ≤ |x| − |y|.
3. Determine as constantes A, B e C tais que:
(a)
2 x + 1
1 − x2
=
A
1 + x
+
B
1 − x
.
(b)
1
(x + 2)(2x + 1)
=
A
x + 2
+
B
2x + 1
.
(c)
1
(x + 2)(x2 − 1)
=
A
x + 2
+
B
x + 1
+
C
x − 11
.
4. Determine o quociente e o resto das divisões:
(a) 3 x4 − 5 x2 + 6 x + 1 ÷ x2 − 3 x + 4.
(b) 5 x5 − 4 x3 − 2 x + 1 ÷ x + 1.
(c) x11 − 1 ÷ x + 1.
(d) x5 + 12 x4 + 3 x2 − 16 ÷ x2 + 3 x − 4.
(e) x3 − 3 x2 + 2 x + 1 ÷ x2 − x + 1.
5. Determine as constantes a e b de modo que o polinômio P(x) seja divisível por Q(x),
onde:
(a) P(x) = x4 − 3 x3 + a x + b, Q(x) = x2 − 2 x + 4.
(b) P(x) = 6 x4 − 7 x3 + a x2 + 3 x + 2, Q(x) = x2 − x + b.
(c) P(x) = 8 x3 − 10 x2 + a x + b, Q(x) = 2 x3 − 3 x + 2.
(d) P(x) = 3 x3 + a x2 − 7 x + b, Q(x) = x2 − 5 x + 1.
6. Ache a solução das seguintes desigualdades e represente no eixo coordenado o conjunto
solução:
33. 1.11. EXERCÍCIOS 33
(a) x4 − x2 < 0
(b) x2 − 2 ≥ x
(c) x2 + x > 2
(d) (x − 5)4 (x + 10) ≤ 0
(e) |x + 2| < 1
(f) |x − 5| < |x + 1|
(g) 4 x2 + 10 x − 6 < 0
(h) |x − 1|2 < |2 x + 1|
(i)
3 x − 5
2 x + 4
> 1
(j) |x2 − 1||x + 1| > 0
(k) 2 x2 − 2 ≤ x2 − x
(l) |x − 1| + |x − 2| > |10 x − 1|
(m) x2 − 7 x + 8 > (x − 6)2
(n) |x2 − x − 1| < 2
(o)
|x2 − 5 x + 4|
|x2 − 4|
< 1
(p) |x − 1| + |x + 2| ≥
|x − 2|
2
(q) |x + 1| + |x + 2| > |10 x − 1|
(r) |x2 − 1| < |x − 1|
7. Determine o conjunto-solução de:
(a)
3 x − 2 < x
6 x − 4 > 3 − x
(b)
x + 3 ≤ 5
x + 3 ≤ 2 x
(c)
5 x + 1 ≤
3x
2
+ 5
2 (x + 3) ≥ x
(d)
5 x − 3 < 6 + 2 x
3 − 2 x > 4
(e)
3 x − 15 < x − 5
2 − x ≥ 6
(f)
x + 3 > 0
x2 + x − 2 < 0
8. Esboce as regiões determinadas por:
(a) x − 2y − 3 > 0
(b) 2x + y > 5
(c) 2x − 3y ≤ −1
(d) 3x − 2y ≤ 13
(e)
x + y
x − 2y + 3
< 0
(f) x2 + y2 − 2 x − 2 y + 1 ≥ 0
9. Esboce as regiões da solução de:
(a)
2 x − y < 3
x + y < 3
(b)
x + y < 2
2 y − 2 x > 4
(c)
x + y < 120
3 y − x ≤ 0
x ≤ 100
y ≤ 100
(d)
x + y > 2
−2 x + y ≤ 1
−x + 2 y ≥ −3
34. 34 CAPÍTULO 1. COMANDOS BÁSICOS DO MAPLE
10. Obter o valor simplificado de:
(a) sen θ +
π
2
(b) cos θ +
3 π
2
(c) sec(θ + 6 π)
(d) sen(θ + 360 π)
(e) cos(θ + 480 π)
(f) sen θ −
3 π
2
cos θ +
π
2
11. Resolva as inequações:
(a) sen(x) + cos(x) ≥
√
2
2
(b) |tg(x)| ≥
√
3
(c) sen2(x) ≥ 1
(d) sen2
(x) ≥
1
2
se x ∈ [0, π]
35. Capítulo 2
FUNÇÕES DE UMA VARIÁVEL
A sintaxe para definir funções de uma variável é a seguinte:
> f:=x-> expressão;
Exemplo 2.1.
1. Se f(x) = x2 sen(x) + 3 cos(x), calcule f(
π
2
) e f(π). Escrevemos:
>f:=x->x ˆ 2*sin(x)+3*cos(x);
f := x −→ x2
sin(x) + 3 cos(x)
Logo:
>f(Pi/2);
π2
4
e
>f(Pi);
−3
2. Se f(x) = e3x − 2 ln(5 x) + log4(x), calcule o valor aproximado de f(
1
2
) e f(2). Escrevemos:
>f:=x->exp(3*x)-2*ln(5*x)+log[4](x);
f := x −→ e3x
− 2 ln(5 x) + log4(x)
Logo:
35
36. 36 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
>evalf(f(1/2));
5.367983431
e
>evalf(f(2));
402.5424991
3. Defina a função racional f(x) =
x2 + 3 x − 1
x3 − x2 + x + 3
, calcule f(1) e fatore f(a) − f(a−1).
Escrevemos:
> f:=x->(x ˆ 2 +3*x-1)/(x ˆ 3 -x ˆ 2 +x+3);
f := x →
x2 + 3 x − 1
x3 − x2 + x + 3
>f(1);
3
4
>factor(f(a)-f(1/a));
−
(a2 − 8 a + 1)(a2 − a + 1)
(3 a2 − 2 a + 1)(a2 − 2 a + 3)
O MAPLE não simplifica uma expressão automaticamente, somente quando reconhece fato-
res comuns.
2.1 Tabelas
Para fazer no Maple uma tabela de uma função, utilizamos a sintaxe abaixo, onde as entradas
são os pontos do domínio e as saidas são os pontos da imagem:
>array( [seq( [i, f(i)], i = a..b) ] );
onde i ∈ Z. Caso desejamos que os valores de saida sejam aproximados, utilizamos a seguinte
sintaxe:
>array( [seq( [i, evalf(f(i))], i = a..b) ] );
Estas sintaxes produzem una sequência de valores verticais.
39. 2.2. CONVERSÃO DE EXPRESSÕES EM FUNÇÕES 39
4. Seja h(x) = ex + ln(x2 + 1) cos(π x); faça uma tabela com os valores aproximados de:
h(−20), h(−10), h(−1), h(20), h(30), h(
1
2
) e h(, 4
√
19).
>h:=x->exp(x)+ln(x ˆ 2+1)*cos(Pi*x):
>X:={-20, -10, -1, 20, 30, 1/2, root(19, 4)}:
>array([seq([i, evalf(f(i))], in (i, X))]);
−20 5.993961429
−10 4.615165917
−1 −0.3252677394
20 485165201.4
30 10686474580000.0
1/2 1.648721271
4
√
19 9.682431939
2.2 Conversão de Expressões em Funções
Para converter uma expressão em função, utilizamos a sintaxe:
> unapply(expressão, variável);
Exemplo 2.3.
1. Suponha que temos a expressão:
> p:= x ˆ 3+x ˆ 2-5*x+1-x ˆ 2*y-y;
p := x3
+ x2
− 5 x + 1 − x2
y − y
> h:=solve(p=0,y);
x3 + x2 − 5 x + 1
x2 + 1
Se desejamos, por exemplo, avaliar a expressão anterior para x = 0, isso não será possível
antes de converter a expressão em função, utilizando o comando unapply
g := unapply(h, x);
x →
x3 + x2 − 5 x + 1
x2 + 1
Agora podemos calcular, por exemplo:
40. 40 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
>g(0),g(-1),g(1);
1, 3, −1
2. Suponha que temos a expressão:
> p:= b ˆ 2 * x ˆ 2 *sin(b*x)+2*b*x*cos(b*x);
p := b2
x2
sin(b x) + 2 b x cos(b x)
f := unapply(p, x);
x → b2
x2
sin(b x) + 2 b x cos(b x)
Agora podemos calcular, por exemplo:
>f(0),f(Pi/b);
10, −2 π
2.3 Funções Definidas por Partes
É comum, nas aplicações, definir funções por partes. A sintaxe para definir funções por partes
é:
>piecewise(x<a1,f1(x),x<a2,f2(x),....);
No caso de funções definidas por partes, em intervalos limitados, utilizamos a opção:
and
Por exemplo, se a ≤ x < b, escrevemos:
a <=x and x<b;
Exemplo 2.4.
1. Escreva a função f(x) =
−1 se x ≤ 1
1 se 1 < x
.
Digitamos:
>piecewise(x<=1,-1,1<x,1);
−1 x ≤ 1
1 1 < x
2. Escreva a função f(x) =
x se x ≤ 1
x + 2 se 1 < x ≤ 4
x se 4 < x
.
41. 2.4. COMPOSTA DE FUNÇÕES 41
Digitamos:
>piecewise(x<=1,x,1<x and x<=4,x + 2,3<x,x);
x x ≤ 1
x + 2 1 < x and x ≤ 4
x 4 < x
3. Escreva a função f(x) =
x se x ≤ 1
x2 se 1 < x < 3
√
x se 3 < x < 6
x se 6 ≤ x
.
Digitamos:
>piecewise(x<=1,x,1<x and x<3,x ˆ 2,3<x and x<6,sqrt(x),x>=6,x);
x x ≤ 1
x2 1 < x and x < 3
√
x 3 < x and x < 6
x 6 ≤ x
2.4 Composta de Funções
Dadas f e g funções tais que Dom(g) ⊂ Im(f), podemos definir a composta:
g ◦ f
A sintaxe para obter a composta é feita com o operador @ (arroba). Logo, a composta de g e f
é:
>g @ f;
Para fazer a composta de f consigo mesma n vezes, utilizamos a sintaxe:
>f @@ n;
Exemplo 2.5.
1. Dadas f(x) = ln(x) + 1 e g(x) = ex − 1; determine f ◦ g, g ◦ f e f ◦ f ◦ f ◦ f. Calcule
(f ◦ f ◦ f ◦ f)(1).
Digitamos a seguinte sequência de comandos:
>f:=ln(x)+1:
42. 42 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
>g:=exp(x)-1):
>h1:=f @g:
>h2:=g @f:
>h3:=f@@4:
Agora podemos calcular
>h1(x);
ln(ex
− 1) + 1
>h2(x);
eln(x)+1
− 1
>simplify(%);
x e − 1
>h3(x);
ln(ln(ln(ln(x) + 1) + 1) + 1) + 1
>h3(1);
1
2. Dadas f(x) = 5 x + 4 e g(x) =
√
x2 + 1; determine f ◦ g, g ◦ f, f ◦ f ◦ f e f ◦ f ◦ g ◦ g ◦ g.
Digitamos a seguinte sequência de comandos:
>f:=5*x+4:
>g:=sqrt(x ˆ 2 +1):
>h1:=f @g:
>h2:=g @f:
>h3:=f@@3:
>h4:=(f @@2)@(g@@3):
Agora podemos calcular
>h1(x);
5 x2 + 1 + 4
>h2(x);
25 x2 + 40 x + 17
43. 2.5. FUNÇÃO INVERSA 43
>h3(x);
125 x + 124
>h4(x);
25 x2 + 3 + 24
3. Se f(x) = x − 3, calcule f@10. Digitamos a seguinte sequência de comandos:
>f:=x-3:
>h:=f@@10:
>h(x);
x − 30
2.5 Função Inversa
A função inversa de f é definida por >f @@ (-1); mas o MAPLE somente calcula f−1 para as
funções pré-definidas.
Uma forma de determinar a inversa de uma função é:
>f:=x->expressão;
>solve(y=expressão,x);
>g:=unapply( % ,y);
Logo, g é a função inversa de f. Se for necessário, utilize:
>with(RealDomain):
Veja os exemplos.
Exemplo 2.6.
1. Determine a função inversa de f(x) = x3.
>with(RealDomain):
>f:=x->x ˆ 3;
f := x → x3
>solve(y=f(x),x);
y1/3
44. 44 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
>g:=unapply(% ,y);
g := y → y1/3
simplify((g @ f)(x));
x
simplify((f @ g)(y));
y
2. Determine a função inversa de f(x) =
a x + b
c x + d
.
>f:=x->(a*x+b)/(c*x+d);
f := x →
a x + b
c x + d
>solve(y=f(x),x);
−
−y d + b
−yc + a
>g:=unapply(% ,y);
g := y → −
−yd + b
−yc + a
simplify((g @ f)(x));
x
simplify((f @ g)(y));
y
3. Determine a função inversa de f(x) = a x2 + b x + c.
>f:=x->a*xˆ 2+b*x+c;
f := x → a x2
+ b x + c
>sol:=solve(f(x)=y,x);
1
2
−b + b2 − 4 ac + 4 ay
a
, −
1
2
b + b2 − 4 ac + 4 ay
a
>g1:=unapply(sol[1],y);
45. 2.6. GRÁFICOS DE FUNÇÕES 45
g1 := y →
1
2
−b + b2 − 4 ac + 4 ay
a
>assume(2*a*x+b>0):
Por que?
>simplify((f@g1)(y));
y
>simplify((g1@f)(x));
x
>restart;
>g2:=unapply(sol[2],y);
g2 := y → −
1
2
b + b2 − 4 ac + 4 ay
a
>assume(2*a*x+b<0):
Por que?
>simplify((f@g2)(y));
y
>simplify((g2@f)(x));
x
2.6 Gráficos de Funções
A sintaxe básica para o esboço do gráfico de uma função y = f(x) onde x ∈ [a, b] é:
> plot(f(x),x=a..b, opções);
A seguir apresentamos algumas destas opções:
Para indicar a variação da ordenada, ser for necessário, para uma melhor visualização do grá-
fico, utilizamos: y=c..d
Para ver uma porção determinada do gráfico, utilizamos: view=[a. .b,c. .d]
46. 46 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
Para melhorar a resolução gráfica, onde n ≥ 50 é o número de pontos que vai gerar o gráfico,
utilizamos: numpoints=n
Para usar a mesma escala em ambos os eixos, utilizamos: scaling=constrained
Para mudar a cor de um gráfico, utilizamos: color=c
c é a cor desejada. Alguns cores são: aquamarine, black, blue, coral, cyan, brown, gold, green,
grey, khaki, magenta, maroon, navy, orange, pink, plum, red, sienna, tan, turquoise, violet,
wheat, white, yellow.
Para mudar a espessura de um gráfico, utilizamos: thickness=n, n = 0, 1, 2, 3.
Para esboçar gráficos em intervalos que incluem pontos onde as funções não sejam definidas,
evitando que sejam desenhadas linhas verticais nesses pontos, utilizamos: discont=true
Para esboçar os gráficos em diferentes estilos, utilizamos: style
Por exemplo, gráficos pontilhados: style=point
Para indicar o tipo de eixos, utilizamos: axes
Tipos de eixos : boxed, frame, none e normal.
Para incluir legendas no gráfico, utilizamos: legend
Quando se usa a opção style=point, onde s é o tipo de símbolo: cross, solidcircle, utilizamos:
symbol=s
Exemplo 2.7.
1. Esboçe o gráfico de f(x) = x2 sen(x) + sen(10 x) para x ∈ [−3, 3]. Escrevemos:
>f:=x->x ˆ 2*sin(x)+sin(10*x);
f := x −→ x2
sin(x) + sin(10 x)
Logo:
>plot(f(x), x = -3 .. 3, color = blue, thickness = 3, numpoints = 100);
47. 2.6. GRÁFICOS DE FUNÇÕES 47
Figura 2.1: .
2. Esboçe o gráfico de g(x) = ex/2 cos(4 π x) para x ∈ [−4, 4]. Escrevemos:
>g:=x->exp(x/2)*cos(4*Pi*x);
g := x −→ ex/2
cos(4 π x)
Logo:
>plot(g(x),x=-4..4, thickness = 3, numpoints = 100, axes = boxed);
Figura 2.2: .
3. Esboce o gráfico de h(x) =
cos(π x)
x4 + x2 + 1
, x ∈ [−4, 4]. Digitemos:
>h:=x->cos(Pi*x)/(x ˆ 4 +x ˆ 2 +1):
h := x →
cos(π x)
x4 + x2 + 1
48. 48 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
>plot(h(x) ,x=-4..4,color=blue,numpoint=100,thickness=3);
Figura 2.3: .
4. Esboce o gráfico de tg(x). Digitemos:
>plot(tan(x),x=-2*Pi..2*Pi);
Figura 2.4: .
O MAPLE, traçou o gráfico de tg(x) em uma vizinhança de x = ±π/2, onde a função atinge
valores muito grandes. Note que não foi especificado a variação do eixo das ordenadas.
Para contornar este problema, especificamos a variação do eixo dos y:
>plot(tan(x), x = -2*Pi .. 2*Pi, y = -10 .. 10, thickness = 2);
49. 2.6. GRÁFICOS DE FUNÇÕES 49
Figura 2.5: .
Para não incluir as retas verticais, no gráfico, usamos a opção:
discont=true
>plot(tan(x), x = -2*Pi .. 2*Pi, y = -10 .. 10, color = blue, thickness = 3, discont = true);
Figura 2.6: .
4. Esboce o gráfico de f(x) =
x3 cos(x)
x2 + 1
, utilizando pontos.
>p3:=(xˆ 3 *cos(x))/(xˆ 2 +1):
>plot(p3, x = -10 .. 10, discont = true, color = magenta, style = point, symbol = solidcircle,
symbolsize = 10));
50. 50 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
Figura 2.7:
5. Esboce o gráfico de f(x) = x2 sen
1
x
+ x2 cos
1
x
, em uma vizinhança de zero.
>p4:=xˆ 2 *sin(1/x)+xˆ 2*cos(1/x):
>plot(p3, x = -.3 .. .3, y = -0.2e-1 .. 0.5e-1, discont = true, color = blue, numpoints = 100,
thickness = 2);
Figura 2.8:
A melhor forma de aprender a utilizar todas as opções é digitar o seguinte comando para entrar
no help do MAPLE e experimentar cada uma delas:
>?plot;
Outra forma de esboçar gráficos de funções, é utilizar a sintaxe:
> smartplot(função);
51. 2.7. GRÁFICOS DE OUTROS TIPOS DE FUNÇÕES 51
O MAPLE esboça o gráfico da função num intervalo que, visualmente, é ótimo.
Exemplo 2.8.
1. Esboce o gráfico de sen(x) + cos(x) + sen(2 x) cos(2 x). Digitamos:
> smartplot(sin(x)+cos(x)+sin(2*x)*cos(2*x));
Figura 2.9: .
2.7 Gráficos de Outros Tipos de Funções
2.7.1 Gráficos de Funções Definidas por Partes
Sabemos que para definir funções por partes, utilizamos a sintaxe:
>piecewise(x<a1,f1(x),x<a2,f2(x),....);
Para esboçar o gráfico, utilizamos o comando plot, seguido de uma opção do plot:
>p1:=piecewise(x<a1,f1(x),x<a2,f2(x),....):
>plot(p1,x=a..b,discont=true);
Como sabemos, no caso de não incluir o comando discont=true, o gráfico apresentará linhas
verticais ao passar por cada estágio da definição da função.
Exemplo 2.9.
1. Esboce o gráfico da função f(x) =
x se x ≤ 1
x2 se 1 < x < 3
√
x se 3 ≤ x
.
>p1 :=piecewise(x<=1,x,1<x and x<3,x ˆ 2,3<=x,sqrt(x)):
>plot(p1, x = -3 .. 8, y = -4 .. 5, discont = true, thickness = 3, numpoints = 100);
52. 52 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
Figura 2.10: .
Como exercício, digite:
>plot(p1,x=-2..5);
2. Esboce o gráfico da função f(x) =
x (x2 − 1) se − 1 ≤ x ≤ 1
x, sen(π x) se 1 < x < 4
√
x − 3 se 4 ≤ x
.
>p2:=piecewise(-1 <= x and x <= 1 , x*(x ˆ 2-1), 1 < x and x < 4,
x*sin(Pi*x), x >= 4, sqrt(x-3)):
>plot(p2, x = -1 .. 8, discont = true, thickness = 3, numpoints = 100);
Figura 2.11: .
3. Esboce o gráfico de f(x) = x2 [[x]], onde [[x]] é o maior inteiro que é menor ou igual a x.
>p3:=x ˆ 2 *floor(x):
>plot(p3, x = -4 .. 4, discont = true, thickness = 3);
53. 2.7. GRÁFICOS DE OUTROS TIPOS DE FUNÇÕES 53
Figura 2.12: .
2.7.2 Gráficos de Funções Definidas por Tabelas
É comum definir algumas funções utilzando-se de dados, isto é por tabelas. Os dados da tabela
são digitados com a seguinte sintaxe:
>plot([dados],style=points,opções);
A seguir apresentamos alguns exemplos.
Exemplo 2.10.
1. Suponha que num período de 10 dias, é controlada a febre, em graus Celsius, de um paciente
com malária, obtendo:
Dia 1 2 3 4 5 6 7 8 9 10
C 38 39 41 41.5 42 41.4 41 39 38 36
Podemos armazenar os dados como pares ordenados:
>dat1:=[[1,38],[2,39],[3,41],[4,41.5],[5,42],[6,41.4],[7,41],[8,39],[9,38],[10,36]]:
dat := [[1, 38], [2, 39], [3, 41], [4, 41.5], [5, 42], [6, 41.4], [7, 41], [8, 39], [9, 38], [10, 36]]
Agora, façamos:
>plot(dat1, style = point, thickness = 10, symbolsize = 15, color = blue);
54. 54 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
Figura 2.13: .
Vejamos o que acontece se digitamos:
>plot(dat1);
Figura 2.14: .
2. A tabela mostra o tempo T, em segundos e a velocidade V , em km/h, de um carro:
T 0 1.8 2.6 3.4 5.1 6.5 7.2 8.5 9.6 10
V 0 25 33 50 60.2 80 90 100 110 125
Podemos armazenar os dados como pares ordenados:
>dat2:=[[0,0],[1.8,25],[2.6,33],[3.4,50],[5.1,60.2],[6.5,80],[7.2,90],[8.5,100],
[9.6,110],[10,125]];
dat2 :=[[0, 0], [1.8, 25], [2.6, 33], [3.4, 50], [5.1, 60.2], [6.5, 80], [7.2, 90], [8.5, 100],
[9.6, 110], [10, 125]]
Agora, façamos:
>plot(dat2,style = point, thickness = 10, symbol = solidcircle,symbolsize = 15,
color = magenta);
55. 2.8. LIVRARIA DO PLOT 55
Figura 2.15: .
3. Se f(n) =
e2n
n!
, n = 1, . . . 20, podemos armazenar os dados como pares ordenados:
>dat3 := [seq([i, evalf(f(i))], i = 0 .. 20)]:
plot(dat3,style = point, thickness = 10, symbol = cross, symbolsize = 20, color = magenta);
Figura 2.16: .
2.8 Livraria do Plot
O comando plot tem uma livraria no MAPLE, para fazer gráficos mais elaborados ou os gráfi-
cos de várias funções, no mesmo referencial. Para ativar a livraria do plot, utilizamos a sintaxe:
>with(plots):
Para saber o conteúdo desta livraria, digitamos:
>with(plots):
[ animate, animate3d, animatecurve , arrow, changecoords, complexplot, complexplot3d, conformal,
conformal3d, contourplot , contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display ,
56. 56 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
display3d, fieldplot, fieldplot3d, gradplot, gradplot3d, implicitplot, implicitplot3d, inequal, listcont-
plot, listcontplot3d, listdensityplot, listplot, listplot3d, loglogplot, logplot, matrixplot, odeplot, pareto,
pointplot, pointplot3d, , polarplot , polygonplot, polygonplot3d, polyhedra_supported, polyhedraplot,
replot, rootlocus, semilogplot, setoptions, setoptions3d, spacecurve, sparsematrixplot, sphereplot, surf-
data, textplot, textplot3d, tubeplot]
Todas estas sintaxes podem ser utilizadas para diferentes tipos de gráficos. Inicialmente, utili-
zaremos os comando display, animate e implicitplot.
Para esboçar os gráficos de várias funções, no mesmo referencial, utilizamos:
>with(plots):
>g1:=plot(f1(x),x=a1..b1,opções):
>g2:=plot(f2(x),x=a2..b2,opções):
>g3:=plot(f3(x),x=a3..b3,opções):
...
>gn:=plot(fn(x),x=an..bn,opções):
Finalmente:
>display(g1,g2,g3,. . . , gn);
Notamos, novamente, que uma vez digitado o comado with(plots):, ele fica rodando na me-
mória e não é necessário voltar a digitá-lo para fazer outros exemplos.
Uma alternativa para esboçar gráficos no mesmo referencial é utilizar:
>plot({f1(x),f2(x),....,fn(x)},x=a..b,y=c..s, color=[cor1,cor2,....,corn], opções);
Exemplo 2.11.
1. Se f(x) = x3 − 7 x + 6, esboce os gráficos de f(x), f(x − 1)3 e f(x + 1), no mesmo referencial.
Digitamos:
f:=x->xˆ 3-7*x+6:
g:= x-> f(x-1):
h:= x-> f(x+1):
>plot({f(x),g(x),h(x) },x=-4..4,color=[red,aquamarine, gold],thickness=3,
view=[-4..4,-10..20]);
57. 2.8. LIVRARIA DO PLOT 57
Figura 2.17: .
2. Esboce os gráficos de f(x) =
2 x − 4
x + 3
e sua inversa, no mesmo referencial.
>f:=x->(2*x-4)/(x+3);
f := x →
2 x − 4
x + 3
>solve(y=f(x),x);
−
3 y + 4
y − 2
subs(y=x,%);
−
3 x + 4
x − 2
>g:=unapply(% ,x);
g := x → −
3 x + 4
x − 2
>plot({f(x),g(x)},x=-15..15, discont=true, color=[blue,red], thickness=[3,3]);
58. 58 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
Figura 2.18: .
3. Esboce os gráficos de f(x) = log1/4(x) e sua inversa, no mesmo referencial.
>with(RealDomain):
>f:=x->log[1/4] (x);
f := x → −
1
2
ln(x)
ln(2)
>solve(y=f(x),x);
4−y
subs(y=x,%);
4−x
>g:=unapply(% ,x);
g := x → 4−x
>plot({f(x),g(x)},x = 0 .. 1.6, y = -0.5 .. 3, discont = true, thickness = [3, 3],
color = [blue, red]);
59. 2.8. LIVRARIA DO PLOT 59
Figura 2.19: .
4. Determine os pontos de interseção das curvas y = 1−x2 e y = 3 x (1−x2). Esboce o resultado
obtido.
>p1 := 1-x ˆ 2:
p2 := 3*x*(1-xˆ 2):
> sol := fsolve(p1=p2, x);
sol := −1., .3333333333, 1.
>pontos := [[sol[1], subs(x = sol[1], p1)], [sol[2], subs(x = sol[2], p1)], [sol[3], subs(x = sol[3], p1)]];
pontos := [[−1., 0.], [.3333333333, .8888888889], [1., 0.]]
>with(plots):
>g1:=plot(p1,x=-1..1,color=red,thickness=2):
>g2:=plot(p2, x = -1 .. 1, color = green, thickness = 2):
>g3 := plot(pontos, thickness = 3, style = point, color = black, symbol = solidcircle,
symbolsize = 15):
>display(g1,g2,g3);
60. 60 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
Figura 2.20: .
5. Este exemplo é para mostrar como podem ser incluidos textos nos gráficos:
>p1:=(1/2) ˆ x:
>p2:= 5 ˆ x:
>p3:=(1/3) ˆx:
>plot([exp(x), p1,p2,p3], x = -1 .. 1, color = [blue, red, black, green],thickness = [2, 2, 2, 2],
title = "Funcoes Exponenciais", legend = [exp(x), p1, p2,p3], view = [-1 .. 1, 0 .. 3])
Figura 2.21:
No caso, em que não desejamos carregar a livraria, podemos utilizar a seguinte sintaxe sem
digitar with(plots):
61. 2.9. GRÁFICOS DE REGIÕES 61
>plots[sintaxe da livraria](função, x=a..b,opções);
Exemplo 2.12.
1. Esboçe o gráfico de xx, em escala logarítmica. Digitamos:
> plots[logplot](x ˆ x ,x=1..10);
2 4 6 8 10
5
10
15
20
Figura 2.22:
2.9 Gráficos de Regiões
As novas versões do MAPLE tem a seguinte sintaxe para obter a solução gráfica de um sistema
linear de inequações:
>inequal(eq1,eq2,..., variação dos x,variação dos y, opções);
As opções são:
Para esboçar a região que satisfaz o problema: optionsfeasible
Para esboçar a região que não satisfaz pelo menos uma das equações do sistema:
optionsexcluded
Para esboçar as limitações da região que não satisfaz o sistema optionsopen
Para esboçar as limitações da região que é solução o sistema: optionsclosed
Exemplo 2.13.
1. Considere o sistema:
x + y > 0
x − y > 1
>eq1:=x+y>0:
>eq2:=x-y>1:
62. 62 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
>inequal(eq1, eq2, x = -1 .. 3, y = -3 .. 2, optionsfeasible =(color = green),
optionsopen = (color = blue, thickness = 2), optionsexcluded = (color = yellow));
Figura 2.23:
2 Considere o sistema:
y > 2 − x
y < 2 x + 1
2 y ≥ x − 3
>eq1:=y>2-x:
>eq2:=y<2*x+1:
>eq3:=2*y>=x-3:
>inequal(eq1, eq2,eq3, x = -4 .. 7, y = -4 .. 7, optionsfeasible =(color = green),
optionsopen = (color = blue, thickness = 2), optionsexcluded = (color = yellow),
optionsclosed = (color = red, thickness = 3));
Figura 2.24:
63. 2.10. ANIMAÇÕES 63
2.10 Animações
A sintaxe para fazer animações é simples. Precisamos digitar, primeiramente, with(plots): caso
isso ainda não tenha sido feito:
>with(plots):
>animate(função, intervalo,parametro de animação,opções);
Ou
>plots[animate](função, intervalo, parametro de animação, opções);
Quando aparece o desenho, levamos a seta do mouse sobre este e pressionamos o mouse uma
vez. Uma barra horizontal aparecerá no alto da tela. O botão com um triângulo iniciará a
animação:
A opção frames=n especifica o número, n, de gráficos da animação.
Exemplo 2.14.
1 Digite:
>with(plots):
>animate(sin(x*t),x=0..2*Pi,t=1..2,frames=100);
Figura 2.25: Desenhos de 4 frames.
2. Digite:
>plots[animate]((x+t) ˆ 2, x=-10..10,t=1..10,frames=100,color=blue);
64. 64 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
Figura 2.26: Desenhos de 4 frames.
3. Digite:
>animate( 3*exp(-0.2*t-xˆ 2)*sin(Pi*(x+t)),x=-5..5,t=0..20, view=[-3..3,-3..3],frames=70,
thickness=3,color=blue,numpoints=200);
Figura 2.27:
Figura 2.28: Desenhos de 3 frames.
2.11 Traçado de Curvas
Considere a equação F(x, y) = 0, nas variáveis x e y. Para esbocar o lugar geométrico da
equação, utilizamos a seguinte sintaxe:
65. 2.11. TRAÇADO DE CURVAS 65
>with(plots):
>implicitplot(F(x,y)=0,variação do x,variação do y, opções);
Ou
>plots[implicitplot](F(x,y)=0,variação do x,variação do y,opções);
Para traçar várias curvas no mesmo referencial utilizamos a sintaxe:
>implicitplot([F(x,y)=0,G(x,y)=0,.....],variação do x,variação do y, opções);
As opções são as mesmas da sintaxe plot.
Exemplo 2.15.
1. Esboce o gráfico de x2 + y2 = 4 e x2 − y2 = 1, no mesmo referencial. Digitamos:
>implicitplot([x ˆ 2 +y ˆ 2 =4, x ˆ 2 -y ˆ 2 =1], x = -2 .. 2, y = -2 .. 2,color = [magenta, blue],
thickness = [3, 3], tickmarks = [[-2, -1, 0, 1, 2], [-2, -1, 0, 1, 2]], view = [-2.2 .. 2.2, -2.2 .. 2.2]);
Figura 2.29:
2. Esboce o gráfico das seguintes retas x = −0.5, x = 0.5, x = −1, x = 1, y = −1 e y = 1, no
mesmo referencial. Digitamos:
>implicitplot([x = -1, x = -0.5, x = 0.5, x = 1, y = -1, y = 1], x = -2 .. 2, y = -2 .. 2,
color = [blue, green, black, red, magenta, coral], thickness = [3, 3, 3, 3,3,3]);
66. 66 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
Figura 2.30:
3. Esboce o gráfico de x2 − y2 = i e y2 − x2 = i, onde i ∈ {1, . . . , 5}, no mesmo referencial.
Digitamos:
>curv1 := seq(xˆ2-yˆ 2 = i, i = 1 .. 5):
>curv2 := seq(-xˆ2+yˆ 2 = i, i = 1 .. 5):
>implicitplot([curv1,curv2], x = -5 .. 5, y = -5 .. 5, color = blue, color = [blue, red, green, black,
magenta], thickness = [2, 2, 2, 2, 2], view = [-5 .. 5, -4 .. 4]);
Figura 2.31:
2.12 Deficiências do MAPLE
O MAPLE apresenta deficiências ao resolver alguns problemas, podendo, inclusive, não con-
seguir resolvê-los; isto se deve, essencialmente, às limitações dos algoritmos utilizados pelo
67. 2.12. DEFICIÊNCIAS DO MAPLE 67
software. Muitos destes algoritmos não foram programados para reproduzir manipulações
algébricas, que são possíveis quando resolvemos o problema à mão.
Portanto, é recomendável que se verifiquem todos os resultados obtidos no MAPLE.
A seguir, apresentaremos alguns exemplos destas deficiências.
Exemplo 2.16.
1. Consideremos a função:
f(x) =
x2 − 1
x − 1
.
Note que Dom(f) = R − {1}. Se fizermos:
>f:=x->(x ˆ2 -1)/(x-1) :
>simplify(f(x)):
>g:=unapply(%,x);
g := x → x + 1
Ora, a função g(x) = x + 1 tem domínio R, portanto as funções f e g, são diferentes; f(1) não
existe e g(1) = 2.
O seguinte exemplo se aplica as versões do MAPLE, que não possuem a opção AllSolution;
por exemplo, nas versões anteriores a 9.5, inclusive.
2. Resolva a equação cos(x) = 0. Se fizermos:
>solve(cos(x)=0,{x});
{x =
1
2
π}
Mas, sabemos que esta equação possui infinitas soluções.
Algumas vezes é indicado o comando fsolve, que permite especificar o intervalo onde se deseja
achar a solução.
Se fizermos:
>fsolve(cos(x)=0,{x},Pi..2*Pi);
{4.712388980}
Note que a solução da equação no intervalo [π, 2 π] é
3 π
2
. Utilize o comando evalf para compa-
rar os resultados.
3. Resolva a equação:
68. 68 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
ecos(x)
= ln(2 + sen(x)).
Se digitamos:
>fsolve(exp(cos(x))=ln(2+sin(x)),{x});
O MAPLE não apresenta uma solução razoável. Note que esta equação tem solução; para isto,
basta fazer os gráficos das funções exp(cos(x)) e ln(2 + sen(x)).
>with(plots):
>p1:=plot(exp((cos(x)),x=0..Pi,color=black):
>p2:=plot(ln((2+sin(x)),x=0..Pi,color=red):
>display(p1,p2);
0.5 1.0 1.5 2.0 2.5 3.0
1.0
1.5
2.0
2.5
Figura 2.32: .
4. Resolva o sistema:
x3 − 9 x2 + y2 x + 24 x − 7 y2 − 16 = 0
3 x2 − 18 x + y2 + 24 = 0.
Façamos:
>p1:=x ˆ 3 -9*x ˆ 2 +yˆ2 *x+24*x -7 y ˆ 2 -16=0:
>p2:=3*xˆ2 -18*x +y ˆ 2 +24=0:
>solve({p1,p2 },{x, y});
Obtemos {x = 4, y = 0} e:
{y = RootOf(Z2 − 33 + 15 ∗ RootOf(_Z2 + 11 ∗ _Z + 19)), x = RootOf(_Z2 + 11 ∗ _Z + 19)};
Fazendo:
69. 2.12. DEFICIÊNCIAS DO MAPLE 69
> evalf(RootOf(Z2 − 33 + 15 ∗ RootOf(_Z2 + 11 ∗ _Z + 19)));
−0.9008493159
> evalfRootOf(_Z2 + 11 ∗ _Z + 19));
2.145898034
Agora, a forma mais econômica de resolver o sistema é pondo em evidência y2 na segunda
equação e substituindo na primeira:
>p3:=-2*xˆ3 +30*xˆ2 -126*x+152=0:
>solve(p3,{x});
Obtemos {x = 4}, {x =
11 + 3
√
5
2
} e {x =
11 − 3
√
5
2
}, de onde podemos obter os valores de y:
>solve(subs(x=4,p2),y);
Fica como exercício, obter os valores de y.
70. 70 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
2.13 Exercícios
1. Verifique que a distância do ponto (x0, y0) à reta ax + by + c = 0 é
|ax0 + by0 + c|
√
a2 + b2
.
2. Determine a distância entre as retas 4x + 3y + 12 = 0 e 4x + 3y − 38 = 0.
3. Ache a equação da reta que passa pelos pontos:
(a) P1 = (3, 1); P2 = (5, 2)
(b) P1 = (1, 3); P2 = (2, 5)
(c) P1 = (−5, 3); P2 = (0, 4)
(d) P1 = (1, −1); P2 = (−1, 1)
(e) P1 = (2, 3); P2 = (4, 7)
(f) P1 = (1, 1); P2 = (−1, −1)
4. Obtenha a equação da reta paralela à reta 2 x + 3 y + 1 = 0 e que passa pelo ponto
P = (5, −2).
5. Ache a equação da reta perpendicular à reta 2 x + 5 y − 1 = 0 e que passa pelo ponto
P = (1, 1).
6. Verifique que as retas 2 x + 3 y = 1 e 6 x − 4 y − 1 = 0 são perpendiculares.
7. Determine a natureza das curvas representadas pelas seguintes equações:
(a) 3y2 − 2x − 12y + 12 = 0
(b) 16x2 − 9y2 = −144
(c) x2 + y2 − 2x − 8 = 0
(d) 2x2 + 4x + 3y − 4 = 0
(e) 9x2 + 4y2 − 18x − 16y − 11 = 0
(f) 9x2 − 16y2 − 36x − 32y − 124 = 0
(g) 9x2 + 16y2 = 25
(h) x2 + y2 + 16x + 16y + 64 = 0.
(i) 5x2 + 25x + 10y2 − 5 = 0
(j) x2 + 8 x + −y2 + 3 y = 0.
(k) x2 + y2 − 4 x − 4 y = 0
(l) x2 + y2 − 18 x − 14 y + 130 = 0.
(m) x2 + y2 + 8 x + 10 y + 40 = 0
(n) 4 x2 + 4 y2 + 12 x − 32 y = −37.
8. Defina as funções f(x) = |x| + |x + 4| e g(x) = |x| + 2 |x + 4|.
(a) Determine os domínios.
(b) Esboce os gráficos de f e g no mesmo referencial.
9. Defina f(x) = |x| − 2 x.
71. 2.13. EXERCÍCIOS 71
(a) Esboce o gráfico de f.
(b) Calcule f(1), f(1), f(−0.9) e f − 2
3 .
(c) Verifique que f(|a|) = −|a|.
10. Defina a função f(x) =
x − 1
2 x + 7
.
(a) Determine os domínios.
(b) Esboce o gráfico de f.
(c) Calcule f
1
x
e f(x)
−1
.
(d) Esboce os gráficos, no mesmo referencial, das funções obtidas no ítem anterior.
11. Esboçando os gráficos, no mesmo referencial, verifique se as seguintes funções são cons-
tantes; explique:
(a) f(x) =
1
x
+
x − 1
x
.
(b) f(x) =
x
|x|
−
|x|
x
.
12. Determine f + g, f − g, f · g e f/g e esboce os respectivos gráficos, se:
(a) f(x) = 2 x, g(x) = x2 + 2
(b) f(x) = 3x − 2, g(x) = |x + 2|
(c) f(x) =
√
x + 1, g(x) = x2 − 1
(d) f(x) =
√
x + 1, g(x) =
√
x + 3
(e) f(x) = x4
, g(x) = (
1
x
)4
(f) f(x) =
1
x
, g(x) = x2
(g) f(x) = x3
+ x2
, g(x) = (
1
x2
)4
(h) f(x) =
1
x2
, g(x) = x2
13. Verifique que Im(f) ⊂ Dom(g) e determine g ◦ f se:
(a) f(x) = x + 2, g(x) = 3 x + 1
(b) f(x) = x2 + 2, g(x) =
√
x
(c) f(x) = x2 + 3, g(x) =
x + 1
x − 2
(d) f(x) = 2x − 3, g(x) = −x2 + 3x + 1
(e) f(x) = x + 1, g(x) =
2
x − 2
72. 72 CAPÍTULO 2. FUNÇÕES DE UMA VARIÁVEL
(f) f(x) =
x
x + 1
, g(x) =
x + 1
x − 1
14. Se f(x) =
x + 1
r
x − 1. Determine Dom(f) e calcule:
(a) (f ◦ f ◦ f ◦ f)(x2 + 1)
(b) (f ◦ f ◦ f)((x + 1)2)
(c) (f ◦ f)
1
1 − x
(d) (f ◦ f)
1
x
(e) Esboce os respectivos gráficos.
15. Esboce o gráfico das seguintes funções logarítmicas:
(a) y = ln(−x), x < 0
(b) y = ln(|x|)
(c) y =
ln(x)
x
(d) y = x ln(x)
(e) y = |ln(x)|
(f) y = ln(x2)
16. O pH (potencial hidrogênico) é uma escala logarítmica que varia de 0 a 14, e nos indica
quão ácida ou alcalina é uma substância. Valores abaixo de 7,0 são ácidos e acima são
alcalinos. O valor 7 é neutro e corresponde ao pH da água destilada. O pH é modelado
por:
pH = −log10[H+
],
onde [H+] é a concentação de íons de hidrogênio mol/litro.
(a) Complete a seguinte tabela:
Substância [H+] pH
Leite 1.5848 × 10−7
L. de Magnesia 10−10
Suco de laranja 3.162 × 10−5
Limão 0.501 × 10−2
Vinagre 12.58 × 10−4
Tomate 6.30 × 10−8
(b) Esboce o gráfico da tabela.
73. 2.13. EXERCÍCIOS 73
17. Esboce o gráfico da função definida pela seguinte tabela:
x 0 1 2 3 4 5 6 10
f(x) 0 5 3 5 6 8 3.2 9
18. Utilize a sintaxe animate, para analisar o papel dos parâmetros da equação de segundo
grau a x2 + b x + c = 0.
19. Utilize a sintaxe animate, para analisar o papel dos parâmetros da função f(x) = eax+b,
se:
(a) a > 0 e b > 0
(b) a > 0 e b < 0
(c) a < 0 e b > 0
(d) a < 0 e b < 0
(e) a > 0 e b = 0
(f) a < 0 e b = 0
75. Capítulo 3
LIMITES E CONTINUIDADE
3.1 Introdução
A seguir, apresentaremos como listar os valores de uma função, no formato de tabela, em uma
vizinhança de um ponto que não necessariamente pertence ao do domínio da função. Não nos
aprofundaremos muito no significado destas sintaxes:
copiar: print
para: for
se: if
então: then
se não: else
de: from
a: to
faça: do
A sintaxe print(expressão); permite exibir a expressão digitada. A sintaxe for se utiliza para
indicar a variação de um contador da seguinte forma - for contador from início to final do. Em
geral, a sintaxe é utilizada para realizar tarefas repetitivas, uma certa quantidade de vezes.
A sintaxe if é para executar uma instrução, ou um grupo de instruções, se e, somente se, verifica
certa condição. Se além disso, desejamos que as intruções sejam executadas, ainda que algumas
outras intruções não se verifiquem, se utiliza a sintaxe else.
As sintaxes fi e od são para fechar as intruções. Note que fi é if ao contrário e od é do ao
contrário.
Sugerimos que a seguinte tabela seja copiada, para realizar os exercícios. A sintaxe para obter
estas tabelas é a seguinte:
Para estudar uma função em uma vizinhança de 0, escrevemos
> print([‘x‘.‘ ‘.‘f(x)‘]);
for i from -10 to 10 do
if i <> 0 then print(array([seq([evalf(1/(100*k),6),evalf(f(1/(100*k)),5)],k=i)]))
else print(‘indefinido em x=0‘)
75
76. 76 CAPÍTULO 3. LIMITES E CONTINUIDADE
fi ;
od;
Para estudar uma função para valores de |x| arbitrariamente grandes; isto é em ±∞, escreve-
mos:
> print([‘x‘.‘ ‘.‘f(x)‘]);
for i from -10 to 10 do
if i <> 0 then print(array([seq([evalf(100*k,6),evalf(f(100*k),5)],k=i)]))
else print(‘x->+infinito‘)
fi ;
od;
Exemplo 3.1.
1. Seja f(x) =
1
x
. Estudemos f em uma vizinhança de 0:
>f:=x->1/x:
>print([‘x‘.‘ ‘.‘f(x)‘]);
for i from -10 to 10 do
if i <> 0 then print((array([seq([evalf(1/(100*k)),evalf(f(1/100*k),5)],k=i)]))
else print(‘indefinida em x=0‘)
fi ;
od;
[x. f(x)]
[-0.001000000 -1000.]
[-0.001111111 -900.]
[-0.001250000 -800.]
[-0.001428571 -700.]
[-0.001666667 -600.]
[-0.002000000 -500.]
[-0.002500000 -400.]
[-0.003333333 -300.]
[-0.005000000 -200.]
[-0.01000000 -100.]
indefinida em x=0
[0.01000000 100.]
[0.005000000 200.]
[0.003333333 300.]
77. 3.1. INTRODUÇÃO 77
[0.002500000 400.]
[0.002000000 500.]
[0.001666667 600.]
[0.001428571 700.]
[0.001250000 800.]
[0.001111111 900.]
[0.001000000 1000.]
A tabela nos indica que os comportamentos da função à esquerda e à direita de x = 0, são
diferentes.
2. Analogamente, estudemos f em uma vizinhança de ±∞:
>f:=x->1/x:
>print([‘x‘.‘ ‘.‘f(x)‘]);
for i from -10 to 10 do
if i <> 0 then print(array([seq([evalf(100*k),evalf(f(100*k),5)],k=i)]))
else print(‘x->+infinito‘);
fi ;
od;
[x. f(x)]
[-1000 -0.0010000.]
[-900 -0.001111111.]
[-800 -0.001250000.]
[-700 -0.001428571.]
[-600 -0.001666667.]
[-500 -0.002000000.]
[-400 -0.002500000.]
[-300 -0.003333333.]
[-200 -0.005000000.]
[-100 -0.01000000.]
x->+infinito
[100 0.01000000.]
[200 0.005000000.]
[300 0.003333333.]
78. 78 CAPÍTULO 3. LIMITES E CONTINUIDADE
[400 0.002500000.]
[500 0.002000000.]
[600 0.001666667.]
[700 0.001428571.]
[800 0.001250000.]
[900 0.001111111.]
[1000 0.001000000.]
A tabela nos indica que o comportamento da função em ±∞, tende a zero.
3.2 Limites
Inicialmente desenvolveremos a idéia intuitiva de limite, estudando o comportamento de uma
função y = f(x) nas proximidades de um ponto que não pertence, necessariamente, ao seu
domínio.
Exemplo 3.2.
1. Seja
f(x) =
sen(x)
x
É claro que Dom(f) = R − {0}. Estudaremos a função nos valores de x que ficam próximos de
0, mas sem atingir 0. Vamos construir uma tabela de valores de x aproximando-se de 0, pela
esquerda (x < 0) e pela direita (x > 0) e os correspondentes valores de f(x).
Digitemos:
>f:=x->sin(x)/x,
f := x −→
sen(x)
x
>print([‘x‘.‘ ‘.‘f(x)‘]);
for i from -10 to 10 do
if i <> 0 then print(array([seq([evalf(1/(100*k)),evalf(f(1/(100*k)),5)],k=i)]))
else print(‘indefinido em x=0‘)
fi ;
od;
[x. f(x)]
[-0.001000000 0.9999998333.]
[-0.001111111 0.9999997938.]
79. 3.2. LIMITES 79
[-0.001250000 0.9999997392.]
[-0.001428571 0.9999996601.]
[-0.001666667 0.9999995370.]
[-0.002000000 0.9999993335.]
[-0.002500000 0.9999989584.]
[-0.003333333 0.9999981480.]
[-0.005000000 0.9999958334.]
[-0.01000000 0.9999833334.]
indefinida em x=0
[0.01000000 0.9999833334.]
[0.005000000 0.9999958334.]
[0.003333333 0.9999981480.]
[0.002500000 0.9999989584.]
[0.002000000 0.9999993335.]
[0.001666667 0.9999995370.]
[0.001428571 0.9999996601.]
[0.001250000 80.9999997392.]
[0.001111111 0.9999997938.]
[0.001000000 0.9999998333.]
Observando o resultado da tabela, podemos verificar que: “à medida que x vai se aproximando
de 0, os valores de f(x) vão aproximando-se de 1”. A noção de proximidade pode ficar mais
precisa utilizando valor absoluto. De fato, a distância entre dois pontos quaisquer x, y ∈ R é
|y − x|. Assim a frase escrita entre aspas, pode ser expressa por: se |x| aproxima-se de zero,
então |f(x) − 1| também se aproxima de zero; em outras palavras: para que |f(x) − 1| seja
pequeno é necessário que |x| também seja pequeno. Logo:
lim
x→0
sen(x)
x
= 1.
80. 80 CAPÍTULO 3. LIMITES E CONTINUIDADE
Figura 3.1: .
2. Seja
f(x) = (1 + x)1/x
.
É claro que Dom(f) = R − {0}. Estudaremos a função nos valores de x que ficam próximos de
0, mas sem atingir 0. Vamos construir uma tabela de valores de x aproximando-se de 0, pela
esquerda (x < 0) e pela direita (x > 0) e os correspondentes valores de f(x).
Digitemos:
>f:=x->(1+x) ˆ (1 / x),
f := x −→ (1 + x)1/x
>print([‘x‘.‘ ‘.‘f(x)‘]);
for i from -10 to 10 do
if i <> 0 then print(array([seq([evalf(1/(100*k)),evalf(f(1/(100*k)),5)],k=i)]))
else print(‘indefinida em x=0‘)
fi ;
od;
[x. f(x)]
[-0.001000000 2.719642216.]
[-0.001111111 2.719793525.]
[-0.001250000 2.719982704.]
[-0.001428571 2.720226004.]
[-0.001666667 2.720550530.]
[-0.002000000 2.721005103.]
[-0.002500000 2.721687486.]
[-0.003333333 2.722826185.]
81. 3.3. CÁLCULO DE LIMITES 81
[-0.005000000 2.725108829.]
[-0.01000000 2.731999026.]
indefinida em x=0
[0.01000000 2.704813829.]
[0.005000000 2.711517123.]
[0.003333333 2.713765158.]
[0.002500000 2.714891744.]
[0.002000000 2.715568521.]
[0.001666667 2.716020049.]
[0.001428571 2.716342738.]
[0.001250000 2.716584847.]
[0.001111111 2.716773208.]
[0.001000000 2.716923932.]
Observando o resultado da tabela, podemos verificar que: “à medida que x vai se aproximando
de 0, os valores de f(x) vão aproximando-se de e”. Logo, para que |f(x) − e| seja pequeno é
necessário que |x| também seja pequeno. Logo:
lim
x→0
(1 + x)1/x
= e.
Figura 3.2: .
3.3 Cálculo de Limites
A sintaxe para o cálculo do limite:
lim
x→a
f(x)
é:
82. 82 CAPÍTULO 3. LIMITES E CONTINUIDADE
> limit(função, variável=a, direção);
a pode ser um ponto
-infinity se a = −∞
infinity se a = +∞.
A direção é opcional e pode ser:
left se for um um limite lateral pela esquerda
right se for um um limite lateral pela direita.
Uma forma alternativa para calcular limites é utilizar a seguinte sintaxe:
> Limit(função, variável=a, direção);
>evalf(%);
Observamos que o comando onde aparece limit, com letra minúscula, calcula o limite e o co-
mando Limit, om letra maiúscula, somente exibe a expressão matemática do limite, por isso
acima precisamos utilizar o comando evalf(%);.
Juntando ambas as sintaxes, podemos reescrever os limites em forma mais didática:
> Limit(função, variável=a, direção)=limit(função, variável=a, direção);
Veja os exemplos
Exemplo 3.3.
1. Determine lim
x→0
7
√
x2 + 1 − 7
√
x2 − 1
4
√
x2 + 1 − 4
√
x2 − 1
.
>p1:=(root(x ˆ 2+1,7)-root(1-x ˆ 2 ,7))/(root(x ˆ 2+1,4)-root(1-x ˆ 2 ,4)):
> Limit(p1,x=0)=limit(p1,x=0);
lim
x→0
7
√
x2 + 1 − 7
√
1 − x2
4
√
x2 + 1 − 4
√
1 − x2
=
4
7
2. Determine lim
x→π/2
tg(x).
> Limit(tanx(x),x=Pi/2)=limit(tan(x),x=Pi/2);
lim
x→π/2
tan(x) = undefined
Se incluimos as opções:
> Limit(tanx(x),x=Pi/2,right)=limit(tan(x),x=Pi/2,right);
83. 3.3. CÁLCULO DE LIMITES 83
lim
x→π+/2
tan(x) = −∞
> Limit(tanx(x),x=Pi/2,leftt)=limit(tan(x),x=Pi/2,left);
lim
x→π−/2
tan(x) = ∞
3. Determine lim
x→0
sen
1
x
.
>Limit(sin(1/x),x=0)=limit(sin(1/x), x=0)
lim
x→0−
sin
1
x
= −1 . . . 1
Pode explicar este resultado?
4. Determine lim
x→0
√
x4 + x2
x
.
> p2:=sqrt(x ˆ 4 +x ˆ 2) /x:
>Limit(p2,x=0)=limit(p2, x=0)
lim
x→0
√
x4 + x2
x
= undefined
>Limit(p2,x=0,left)= limit(p2, x=0, left)
lim
x→0−
√
x4 + x2
x
= −1
> Limit(p2,x=0,right)=limit(p2, x=0, right)
lim
x→0+
√
x4 + x2
x
= 1
Pode explicar este resultado.
Figura 3.3: .
84. 84 CAPÍTULO 3. LIMITES E CONTINUIDADE
5. Determine lim
x→0
cos(α x) − cos(β x)
x2
.
>p3:=(cos(alpha*x)-cos(beta*x))/x ˆ2:
> Limit(p3,x=0)=limit(p3,x=0);
lim
x→0
cos (α x) − cos (β x)
x2
= −
1
2
α2
+
1
2
β2
6. Determine lim
x→0
tg(2 x)
x
.
>Limit(tan(2*x)/x,x=0)=limit(tan(2*x)/x, x=0)
lim
x→0
tan(2 x)
x
= 2
7. Determine lim
x→+∞
x + 3
x + 5
x
.
>p4:=((x+3)/(x+5)) ˆ x:
> Limit(p4,x=infinity)=limit(p4,x=infinity);
lim
x→∞
x + 3
x + 5
x
= e−2
8. Determine lim
x→0
6x − 1
x
.
>p5:=(6 ˆ x-1)/x:
> Limit(p5,x=0)=limit(p5,x=0);
lim
x→0
6x − 1
x
= ln(2) + ln(3)
Figura 3.4: .
85. 3.3. CÁLCULO DE LIMITES 85
9. Determine lim
x→b
x2 − b2
√
x −
√
b
.
>p6:=(x ˆ2-b ˆ 2)/(sqrt(x)-sqrt(b):
> Limit(p6,x=b)=limit(p6,x=b);
lim
x→b
x2 − b2
√
x −
√
b
= 4 b3/2
10. Se f(x) =
x cos(π x) se x < −1
sen(π x) se − 1 ≤ x < 1
√
x se x > 1
, calcule lim
x→±1
f(x).
>p7:= piecewise(x < 1, x*cos(x), and -1 <= x, x <= 1, sin(x)/x, x > 1, sqrt(x)):
> Limit(p7,x=-1,right)=limit(p7,x=-1,right);
lim
x→−1+
x cos(π x) x < 1
sin(π x) −1 ≤ x and x ≤ 1
√
x 1 < x
= 1
> Limit(p7,x=-1,right)=limit(p7,x=-1,right);
lim
x→−1+
x cos(π x) x < 1
sin(π x) −1 ≤ x and x ≤ 1
√
x 1 < x
= 0
> Limit(p7,x=1,right)=limit(p7,x=1,right);
lim
x→1+
x cost(π x) x < 1
sin(π x) −1 ≤ x and x ≤ 1
√
x 1 < x
= 1
> Limit(p7,x=1,left)=limit(p7,x=1,left);
lim
x→1−
x cos (π x) x < 1
sin(π x) −1 ≤ x and x ≤ 1
√
x 1 < x
= 0
86. 86 CAPÍTULO 3. LIMITES E CONTINUIDADE
Figura 3.5: .
11. Se f(x) = x2 sen
1
x
; determine
lim
h→0
f(x + h) − f(x)
h
.
>f:=x->x ˆ2 *sin(1/x):
p8:=(f(x+h)-f(x))/h:
>factor(limit(p8,h=0));
2 sin
1
x
x − cos
1
x
3.4 Definição de Limite
Seja :
f : A ⊂ R −→ R,
definida em A, exceto possívelmente, em a. Sabemos que:
lim
x→a
f(x) = L
se, e somente se:
Para todo ε > 0, existe δ > 0 tal que se x ∈ (a − δ, a + δ) ∩ A − {a} , então f(x) ∈ (L − ε, L + ε).
Observe que o limite de uma função y = f(x) num ponto a, depende apenas dos valores que f
assume nas proximidades de a, ou seja, num pequeno intervalo aberto de centro a.
Uma das principais dificultades, dos alunos, de entender a definição de limite é sua carac-
terística dinâmica. Para facilitar a compreensão da definição, apresentaremos alguns exem-
plos, onde é utilizanda a sintaxe animate.
87. 3.4. DEFINIÇÃO DE LIMITE 87
Exemplo 3.4.
1. É claro que lim
x→2
x2
= 4. Então para todo número real positivo ε existe outro número real
positivo δ, que depende de ε, tal que se 0 < |x − 2| < δ, então |f(x) − 4| < ε.
Esbocemos a situação para ε = 0.8 e δ ≤ 0.18, digitando a seguinte sequência de comandos:
with(plots):
> H:=plots[implicitplot]({x=2,y=4},x=0..2,y=-1..4,color=blue):
> G:=plots[implicitplot]({x=1.82,x=2.18},x=0..4,y=-1..7,color=red):
> L:=plot(x ˆ 2,x=0..4,color=black,thickness=2):
>M:=plot({4.8,3.2},x=0..4,y=-1..7,color=red):
>display(H,G,L,M);
Figura 3.6: .
2. Visualizemos lim
x→1
2 x = 2.
Esbocemos a situação, digitando a seguinte sequência de comandos:
>with(plots):
>M := plot(2*x, x = 0 .. 2, numpoints = 300, scaling = constrained, color = black):
>M1 := plot(2, x = 0 .. 1, numpoints = 200, scaling = constrained, color = blue):
>M2 := plots[implicitplot](x = 1, x = 0 .. 1, y = 0 .. 2, numpoints = 200,
scaling = constrained, color = blue):
>A1 := animate(2+(1-(1/10)*t), x = 0 .. 2, t = 0 .. 8, frames = 50, scaling = constrained, color = red):
>A2 := animate(1+(1/10)*t, x = 0 .. 2, t = 0 .. 8, frames = 50, scaling = constrained, color = red):
>B1 := animate([1+(1-(1/10)*t)*(1/3), x, x = 0 .. 3.5], t = 0 .. 8, frames = 50,
scaling = constrained, color = green):
>B2 := animate([x, 2+2*((1-(1/10)*t)*(1/3)), x = 0 .. 2], t = 0 .. 8, frames = 50,
scaling = constrained, color =green):
88. 88 CAPÍTULO 3. LIMITES E CONTINUIDADE
>B3 := animate([1-(1-(1/10)*t)*(1/3), x, x = 0 .. 3.5], t = 0 .. 8, frames = 50,
scaling = constrained, color = green):
>B4 := animate([x, 2-2*((1-(1/10)*t)*(1/3)), x = 0 .. 2], t = 0 .. 8, frames = 50,
scaling = constrained, color = green):
>display(M, M1, M2, A1, A2, B1, B2, B3, B4);
Notemos que as retas limitantes em vermelho indicam a escolha do ε e as retas limitantes
horizontais, em verde, indicam a regão de segurança para o correspondente δ representado
pelas retas limitantes verticais, em verde.
Nos desenhos, diferentes estágios da animação:
Figura 3.7:
Figura 3.8:
Agora estamos em condições de esclarecer o primeiro exemplo, do parágrafo sobre as deficiên-
cias do MAPLE, no capítulo anterior.
Consideremos a função:
f(x) =
x2 − 1
x − 1
89. 3.5. ASSÍNTOTAS 89
>f:=x->(x ˆ2 -1)/(x-1) :
>f(1);
Error, (in f) numeric exception: division by zero
>g:= unapply(simplify(f(x)), x);
g := x → x + 1
>g(1);
2
Quando usamos o comado simplify, o MAPLE cancela, seguindo o mesmo procedimento que
utiliza para determinar a solução de:
lim
x→1
x2 + 1
x − 1
= lim
x→1
x + 1 = 2
Isto é, ao simplificar, o MAPLE não considera mais a função f, e sim, a função g.
3.5 Assíntotas
A reta y = b é uma assíntota horizontal ao gráfico da função y = f(x), se pelo menos uma das
seguintes afirmações é verdadeira:
lim
x→+∞
f(x) = b ou lim
x→−∞
f(x) = b.
A reta x = a é uma assíntota vertical ao gráfico da função y = f(x), se pelo menos uma das
seguintes afirmações é verdadeira:
lim
x→a+
f(x) = ±∞ ou lim
x→a−
f(x) = ±∞.
Observamos que, mesmo se Dom(f) = R, a função pode ter assíntotas verticais. Por exemplo:
f(x) =
1
x
se x = 0
2 se x = 0
No caso, de Dom(f) = R e a função ser contínua, então f não possui assíntotas verticais.
Para descobrir, experimentalmente, se uma função possui assíntotas horizontais e/ou verticais,
utilizamos a sintaxe:
>plot(f, x = -infinity .. infinity);
90. 90 CAPÍTULO 3. LIMITES E CONTINUIDADE
Figura 3.9: Gráfico de x+1
x+3 quando x −→ ±∞.
Exemplo 3.5.
1. Esboce o gráfico de y =
x
x − 1
.
Dom(f) = R − {1} e a curva passa por (0, 0). De fato:
>f:=x->x/(x -1):
>solve(f(x)=0,x);
0
>plot(f(x), x = -infinity .. infinity)
Figura 3.10: Gráfico de f quando x −→ ±∞.
Do desenho, podemos concluir que o gráfico da função possui uma assíntota horizontal e uma
vertical. De fato:
>lim(f(x),x=infinity,left);
91. 3.5. ASSÍNTOTAS 91
1
>lim(f(x),x=infinity,rigth);
1
Logo, y = 1 é uma assíntota horizontal. Por outro lado, determinamos as assíntotas verticais:
>lim(f(x),x=1,left);
−∞
>lim(f(x),x=1,rigth);
∞
Logo, x = 1 é uma assínota vertical. Esboço do gráfico:
>with(plots):
>p:= x/(x-1):
>a1:= plot(p, x = -3 .. 3, discont = true, thickness = 3, color = blue):
>a2:= plot(1, x = -3 .. 3, style = point, symbol = cross, color = green):
>a3:= implicitplot([x = 1], x = -4 .. 4, y = -4 .. 4, style = point):
>display(a1,a2,a3,view=[-3..3,-4..4]);
Figura 3.11: gráfico de f.
2. Esboce o gráfico de y =
x2
x2 − 1
.
Dom(f) = R − {−1, 1} e a curva passa por (0, 0). De fato:
92. 92 CAPÍTULO 3. LIMITES E CONTINUIDADE
>f:=x->x ˆ 2/(x ˆ 2 -1):
>solve(f(x)=0,x);
0
>plot(f(x), x = -infinity .. infinity)
Figura 3.12: gráfico de f quando x −→ ±∞.
Do desenho, podemos concluir que o gráfico da função possui uma assíntota horizontal e duas
verticais. De fato:
>lim(f(x),x=infinity,left);
1
>lim(f(x),x=infinity,rigth);
1
Logo, y = 1 é uma assíntota horizontal. Por outro lado, determinamos as assíntota verticais:
>lim(f(x),x=1,left);
−∞
>lim(f(x),x=1,rigth);
∞
>lim(f(x),x=-1,left);
∞
93. 3.5. ASSÍNTOTAS 93
>lim(f(x),x=-1,rigth);
−∞
Logo, x = ±1 são assíntotas verticais. Esboço do gráfico:
>with(plots):
>p:= xˆ 2/(x ˆ 2 -1):
>a1:= plot(p, x = -3 .. 3, discont = true, thickness = 3, color = blue):
>a2:= plot(1, x = -3 .. 3, style = point, symbol = cross, color = green):
>a3:= implicitplot([x = -1,x=1], x = -4 .. 4, y = -4 .. 4, style = point):
>display(a1,a2,a3,view=[-3..3,-4..4]);
Figura 3.13: gráfico de f.
3. Esboce o gráfico de y =
x4 + 1
x5 − x
.
>f:=x->(x ˆ 4 +1)/(x ˆ 5 -x):
>plot(f(x), x = -infinity .. infinity)
94. 94 CAPÍTULO 3. LIMITES E CONTINUIDADE
Figura 3.14: Gráfico de f quando x −→ ±∞.
Do desenho, podemos concluir que o gráfico da função possui uma assíntota horizontal e três
verticais. De fato:
>lim(f(x),x=infinity,left);
0
>lim(f(x),x=infinity,rigth);
0
Logo, y = 0 é uma assíntota horizontal. Por outro lado, determinamos as assíntota verticais:
>lim(f(x),x=1,left);
−∞
>lim(f(x),x=1,rigth);
∞
>lim(f(x),x=-1,left);
−∞
>lim(f(x),x=-1,rigth);
−∞
>lim(f(x),x=0,left);
95. 3.6. CONTINUIDADE 95
∞
>lim(f(x),x=0,rigth);
−∞
Logo, x = −1, x = 1 e x = 0 são assíntotas verticais. Esboço do gráfico:
>with(plots):
>p:= (xˆ 4 +1)/(xˆ 5 -x):
>a1:= plot(p, x = -3 .. 3, discont = true, thickness = 3, color = blue):
>a2:= implicitplot([x=-1,x = 1], x = -4 .. 4, y = -4 .. 4, style = point):
>display(a1,a2,view=[-3..3,-4..4]);
Figura 3.15: gráfico de f.
3.6 Continuidade
A seguinte sintaxe é utilizada para saber se uma função é contínua ou não:
>iscont(função, x=a..b);
A resposta será true onde for contínua e false onde for descontínua, relativa ao intervalo (a, b).
Para o intervalo [a, b], utilizamos:
>iscont(função, x=a..b,closed);
Para determinar os pontos de descontinuidade de uma função, utilizamos:
96. 96 CAPÍTULO 3. LIMITES E CONTINUIDADE
>discont(função, x);
Vamos a prestar atenção à diferença de terminologia empregada nas Ciências Aplicadas, como
Engenharia e Física, e daquela usada em Matemática.
Considere uma função racional f(x) =
g(x)
h(x)
, onde g e h são contínuas e a ∈ R tal que h(a) = 0,
se existe δ > 0 tal que se (a − δ, a + δ) ∩ A − {a} = ∅, então faz sentido perguntar se f admite
uma extensão contínua que esteja definida no ponto a; isto é, se existe F tal que F(x) = f(x)
para todo x ∈ Dom(f) = A e F(a) exista e seja contínua nesse ponto. Isso foi o que MAPLE
executou no exemplo, onde substituiu:
f(x) =
x2 − 1
x − 1
por F(x) = x + 1.
É claro que na prática, se existe a extensão contínua, iremos sempre substituir a função original
por sua extensão contínua.
Porém, nas Ciências Aplicadas, a terminologia empregada é outra. É comum usarem a palavra
descontinuidade para os pontos que anulam o denominador da função e perguntarem se f
tem descontinuidade removível em a. No exemplo a seguir, empregaremos a terminologia
das Ciências Aplicadas. Achar “os pontos onde f é descontínua” é equivalente a determinar o
domínio da função racional f e achar os pontos que anulam o seu denominador.
O comando discont( ), exclui de R os pontos que anulam no denominador de f e, futuramente,
iremos perguntar se f admite uma extensão contínua a esses pontos.
Exemplo 3.6.
1. Determine os pontos onde f(x) =
x2 − 5
x4 + 2 x3 − 17 x2 − 18 x + 72
é descontínua.
q:=(x ˆ 2-5)/(x ˆ 4+2*x ˆ 3-17*x ˆ 2-18*x+72):
>discont(q,x);
{−4, −3, 2, 3}
2. Verifique se a função :
f(x) =
x2 se x ≤ 2
x2 + 2 se x > 2
é contínua.
> k:=piecewise(x<=2,x ˆ 2,x>2,x ˆ 2 +2);
k :=
x2 x ≤ 2
x2 + 2 x > 2
98. 98 CAPÍTULO 3. LIMITES E CONTINUIDADE
seja contínua.
> k1:=piecewise(x<>0,x ˆ 2 *sin(1/x),c);
k1 :=
x2 sen(
1
x
) se x = 0
c otherwise
> limit(k1,x=0,left);
0
> limit(k1,x=0,right);
0
Logo, definimos c = 0 e:
k1 :=
x2 sen(
1
x
) se x = 0
0 otherwise
>iscont(k1,x=-infinity..infinity);
true
Para ver o gráfico:
>plot(k1, x = -0.2 .. 0.2, thickness = 3, color = blue);
Figura 3.17: Exemplo 2.
3. Seja
f(x) =
1
(x − 1)2
se x = 1
4 se x = 1.
Verifique se f é contínua em 1.
99. 3.6. CONTINUIDADE 99
> k2:=piecewise(x=1,4,1/(x-1)ˆ2);
k2 :=
4 x = 1
1
(x − 1)2
otherwise
> limit(k2,x=1,left);
∞
> limit(k2,x=1,right);
∞
Por outro lado, f(1) = 4; logo, a função não é contínua em 1.
>plot(k2, x = -1 .. 2.5, color = blue, thickness = 3, discont = true, view = [-1 .. 2.5, 0 .. 10]);
Figura 3.18: Exemplo 3.
4. Seja
f(x) =
2 se x ≤ −1
A x + B se − 1 < x < 3
−2 se x ≥ 3.
Determine A e B tais que f seja uma função contínua em R.
Os pontos problemáticos do domínio de f são x = −1 e x = 3. Utilizando a definição, f é
contínua se:
lim
x→−1−
f(x) = lim
x→−1+
f(x) = f(−1)
lim
x→3−
f(x) = lim
x→3+
f(x) = f(3),
Digitamos:
> z1:=piecewise(x<=-1,2, -1<x and x<3,A*x+B,x>=3,-2);
100. 100 CAPÍTULO 3. LIMITES E CONTINUIDADE
z1 :=
2 x ≤ −1
A x + B −1 < x and x < 3
−2 x ≥ 3.
> eq1:=limit(z1,x=-1,left)=limit(z1,x=-1,right);
eq1 := −A + B = 2
> eq2:=limit(z1,x=3,left)=limit(z1,x=3,right);
eq1 := 3 A + B = −2
> solve({eq1,eq2},A, B);
{A = −1} {B = 1}
Logo, temos:
z1 :=
2 x ≤ −1
1 − x −1 < x and x < 3
−2 x ≥ 3.
Figura 3.19: Exemplo 3.
101. 3.7. EXERCÍCIOS 101
3.7 Exercícios
1. Calcule os seguintes limites usando tabelas:
(a) lim
x→1
x3 − 2 x2 + 5 x − 4
x − 1
(b) lim
x→0
x2
−
2x
1000
(c) lim
x→0
tg(4 x)
x
(d) lim
x→1
(x + 2)2
x
(e) lim
x→0
3x − 1
x2 + x + 2
(f) lim
x→1
(x2 − 1)
x − 1
2. Calcule os seguintes limites:
(a) lim
x→1
4x5 + 9x + 7
3x6 + x3 + 1
(b) lim
x→2
x3 + 3x2 − 9x − 2
x3 − x − 6
(c) lim
x→3
x2 − 9
x2 − 3x
(d) lim
x→1
2x2 − 3x + 1
x − 1
(e) lim
x→0
x2 − a2
x2 + 2 a x + a2
(f) lim
x→0
x6 + 2
10x7 − 2
(g) lim
x→2
2 − x
2 −
√
2x
(h) lim
h→0
(t + h)2 − t2
h
(i) lim
x→1
x4 − 1
3x2 − 4x + 1
(j) lim
x→2
8 − x3
x2 − 2x
(k) lim
x→−1
x + 1
√
6x2 + 3 + 3x
(l) lim
x→0
√
9 + 5x + 4x2 − 3
x
(m) lim
x→0
√
x + 4 − 2
x
(n) lim
x→7
2 −
√
x − 3
x2 − 49
(o) lim
x→1
x4 + x3 − x − 1
x2 − 1
3. Verifique se os seguintes limites existem:
(a) lim
x→1
x3 − 1
|x − 1|
(b) lim
x→3
|x − 3|
(c) lim
x→1
x2 − 3x + 2
x − 1
(d) lim
x→5
x3 − 6 x2 + 6 x − 5
x2 − 5 x
(e) lim
x→−4
x2 + 3x − 4
x3 + 4 x2 − 3 x − 12
(f) lim
x→8
x − 8
3
√
x − 2
(g) lim
x→0
(cos(x) − [[sen(x)]])
(h) lim
x→0
(sen(x) − [[cos(x)]])
(i) lim
x→0+
x
a
b
x
(j) lim
x→0+
[[
x
a
]]
4. Calcule os seguintes limites no infinito: