apostila maple

122
MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ - UTFPR CAMPUS PATO BRANCO ENGENHARIAS AULAS DE MATEMÁTICA NO MAPLE PROF. M. Sc. JOSÉ DONIZETTI DE LIMA UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PR

Upload: jackson-teske

Post on 27-Dec-2015

22 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Apostila MAPLE

MINISTÉRIO DA EDUCAÇÃO

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ - UTFPR

CAMPUS PATO BRANCO

ENGENHARIAS

AULAS DE MATEMÁTICA NO MAPLE

PROF. M. Sc. JOSÉ DONIZETTI DE LIMA

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁPR

Page 2: Apostila MAPLE

2

Objetivo:

Evidenciar a necessidades e importância de softwares computacionais desenvolvidos na era da informativa como elemento facilitador do processo de ensino-aprendizagem da Matemática.

Utilização propriamente dita do software. Enfatizar que o software deve desempenhar o papel de coadjuvante do processo de aprendizado da

Matemática.

Justificativas:

O Maple possibilita ampla variedade de aplicações, relativa simplicidade de uso e atualização periódica em novas versões, o que permite projetar-lhe uma permanência relativamente longa no cenário acadêmico.

O Maple é um pacote muito potente em termos de computação algébrica e numérica de uma ampla gama de assuntos relacionados do aprendizado e ao uso dos recursos matemáticos, visualizados como fins em si mesmos ou como ferramenta de trabalho em outras áreas do conhecimento (engenharia, física, etc...).

Notas:

MAPLE é a marca registrada do software produzido por “Walterloo University, Canadá”. Será considerado que o usuário já tenha algum conhecimento de utilização de software em

ambiente Windows. O Maple exige uma maior intimidade do usuário com a Matemática e com o Sistema Operacional

Windows.

Ementa:

O ensino de Cálculo Diferencial e Integral (CDI) é a ferramenta básica e imprescindível tanto na formação dos futuros profissionais, como em diversas atividades da pesquisa universitária, principalmente nos estudos de Física, Matemática, Biologia, Engenharias, tecnologias, etc. Em seu ensino temos vários tópicos, que merecem destaque devido às suas aplicações potenciais, tais como cálculo de área, volume e comprimento de arco, e que podem ser mais bem assimilados se lançarmos mão a sua visualização de representações especiais e das soluções obtidas com auxílio de softwares matemáticos. Sendo assim, nesta apostila, pretendemos explorar, utilizando o software Maple, os seguintes tópicos:

1) Noções básicas de Matemática: Expressões numéricas. Expressões algébricas. Polinômios. Gráficos bidimensionais e tridimensionais. Funções, funções compostas, etc. Resolução de equações e inequações.

2) Assuntos propriamente de Cálculo Diferencial e Integral (CDI) Limites e continuidades. Derivadas e integrais. Gráficos bidimensionais em coordenadas especiais: polar, paramétrica, implícitas, etc. Gráficos tridimensionais com coordenadas cilíndricas, esféricas, paramétricas, implícitas, etc. Aplicações: Cálculo de comprimento de arco, área de uma região limitada, área e volume de um

sólido, sólidos de revolução, entre outras.

Observação: Nesta apostila, não ensinamos Matemática, mas explicamos a utilização do software Maple. Apenas para uma breve revisão do conceito matemático, apresentamos os conceitos envolvidos e na medida do possível utilizamos o software para verificar algumas propriedades importantes do tópico que está se analisando no momento.

Page 3: Apostila MAPLE

3

3) Usando o Maple como uma Linguagem de Programação Introdução ao Maple Noções de programação A declaração condicional Estruturas de repetição Tipos pré-definidos Procedimentos Variáveis locais e globais Procedimentos recursivos Exemplos 1. O QUE É COMPUTAÇÃO ALGÉBRICA? Adaptado de LENIMAR, 2002 A computação, em suas várias modalidades e conseqüências, tem produzido significativas transformações culturais, econômicas e sociais de modo que é impossível imaginar as sociedades modernas sem uma efetiva participação do computador. O verbo computar tem sido historicamente utilizado significando “fazer cálculos com números”. A Computação Numérica envolve não só as quatro operações aritméticas básicas, mas também cálculos de valores de funções matemáticas e operações mais sofisticadas como cálculo das raízes de um polinômio ou dos autovalores de uma matriz. Nesse tipo de computação, tanto os dados iniciais quanto os resultados finais são números. Apesar de atender às necessidades do usuário em muitas situações, os cálculos feitos numericamente em geral não são exatos. Por exemplo, a simples divisão de 1 por 3 em notação decimal é aproximadamente igual a 0,333333. Não importa quantas casas decimais sejam usadas, esse valor será sempre aproximado: ao ser multiplicado por 3 o produto da como resposta 0,999999. Se fosse um calculo exato, a resposta deveria ser 1. Além disso, esse pequeno erro inicial da ordem de um milionésimo tende a aumentar, a se propagar, se for usado conjuntamente com outros cálculos também aproximados. Devido às inconveniências da Computação Numérica, como a falta de exatidão nos resultados, é que se estuda ha cinco décadas um outro tipo de computação chamado Computação Simbólica ou Computação Algébrica. A Computação Algébrica representa os objetos matemáticos por símbolos, não necessariamente numéricos. Esses símbolos podem representar números inteiros, números racionais, números complexos, números algébricos e também estruturas mais complexas e abstratas como polinômios, matrizes, sistemas de equações, grupos, anéis, etc. O objetivo da Computação Algébrica é obter resultados exatos, fórmulas “fechadas”, baseadas nas regras usuais da Álgebra. Por exemplo, um programa de Computação Algébrica efetua cálculos com a raiz quadrada de dois sem a necessidade de representá-la em forma decimal aproximada. Em vez de se preocupar com aproximações numérica, o programa conhece as regras e propriedades algébricas dos objetos envolvidos. Ele sabe que o objeto “raiz quadrada de dois” é positivo e que elevado ao quadrado dá como resposta dois e isso basta para efetuar cálculos em inúmeras situações. Um programa de Computação Algébrica também percebe que a soma X + X tem como resultado 2X, sem ser necessário atribuir um valor numérico para X.

Page 4: Apostila MAPLE

4

2. SISTEMAS DE COMPUTAÇÃO ALGÉBRICA - Adaptado de LENIMAR, 2002 Nos últimos 25 anos tem havido grande progresso na teoria envolvendo algoritmos simbólicos ou algébricos. Além disso, a forma de representar esses algoritmos matemáticos em computador também progrediu bastante. Isso deu origem a uma nova disciplina conhecida sob várias denominações: Computação Algébrica, Computação Simbólica, Álgebra Computacional, Manipulação de Fórmulas, Manipulação Simbólica. Assim, o programa ou conjunto de programas de computador relacionados com essa disciplina passou a se chamar: Sistema de Computação Algébrica ou Sistema de Manipulação Simbólica, entre outros nomes. São inúmeras as áreas da ciência e da tecnologia em que a Computação Algébrica vem sendo utilizada. Para citar só algumas delas: Mecânica Celeste, Acústica, Relatividade Geral, Química, Teoria dos Números, Teoria dos Grupos, Análise Numérica, Robótica e Metalurgia. Os Sistemas de Computação Algébrica podem ser divididos em duas categorias: sistemas de uso específico e sistemas de uso geral. O que esses sistemas têm em comum é uma grande capacidade de efetuar rapidamente cálculos analíticos que podem ser bastante trabalhosos. Os sistemas de uso específico foram desenvolvidos para resolver problemas em áreas específicas da Física ou da Matemática. Podemos citar como alguns exemplos o SHEEP para Teoria da Relatividade Geral, o CAMAL para Mecânica Celeste, o GAP para Teoria dos Grupos e o Macaulay para Geometria Algébrica. Os sistemas de uso geral possuem não só recursos algébricos, mas também podem incorporar recursos numéricos ou gráficos, além de serem verdadeiras linguagens de programação para cálculos analíticos. Possuem grande numero de funções e operações matemáticas de modo a permitirem que seus usuários obtenham prontamente respostas analíticas para cálculos envolvendo fatorações, trigonometria, logaritmos, polinômios, limites, derivadas, integrais, equações diferenciais, sistemas de equações, séries de potências, transformadas de Laplace, transformadas de Fourier, cálculo matricial, formas diferenciais, etc. Alguns exemplos desses sistemas são: Derive – Um dos menores e mais eficientes sistemas já criado. Nos anos 80 chama-se MuMATH. Reduce – Um dos mais antigos sistemas de uso geral, surgiu no final dos anos 60. Mathematica – O primeiro a incorporar recursos algébricos, numéricos, gráficos e funcionar

também como linguagem de programação. É um dos atuais grandes sistemas de uso geral. Maple – Canadense, o Maple é um sistema completíssimo de uso geral e com uma interface com o

usuário bastante amigável. Possui inúmeros recursos algébricos e numéricos, constrói animações e gráficos planos ou tridimensionais e funciona como linguagem de programação para permitir que o usuário construa suas próprias funções e procedimentos. Versões de demonstração podem ser obtidas na página do fabricante na Internet.

Page 5: Apostila MAPLE

5

3. APRESENTAÇÃO - MOTIVAÇÃO: A computação algébrica é um novo meio de aprendizado que une a informática ao ensino da Matemática. Este novo método de ensino das ciências exatas e de Matemática em particular, vem sendo adotado em diversas universidades, e ocupa posição de destaque no mundo educacional de países desenvolvidos. As universidades estrangeiras ministram cursos regulares de computação algébrica aos alunos destinados à área de ciências exatas, o que é uma medida clara da importância que o meio científico e tecnológico vem sendo direcionado a este ramo. A capacidade de armazenamento de informações, a velocidade de operação e a precisão, fazem do uso do computador uma ferramenta indispensável em todas as nossas atividades acadêmicas, profissionais e domésticas. Porém, ensinar o aluno somente a operar um computador não garante a melhoria da qualidade de ensino. É de suma importância que nossos estudantes estejam ao menos familiarizados com essa tecnologia, pois, afinal, são membros da nossa futura sociedade. Uma das principais razões do uso do computador na educação é desenvolver o raciocínio e possibilitar situações de resolução de problemas, a fim de desenvolver o pensamento do aluno. O computador não deve ser inserido na educação como uma máquina de ensinar ou uma informatização instrucionista, deve ser usado como uma informatização construtivista que permita a reflexão e construção de idéias a partir da relação professor, computador e aluno. Devemos levar em conta que o computador não é o principal referencial do processo de ensino-aprendizagem, mas serve apenas como uma ferramenta auxiliar (coadjuvante). No mercado de informática existem vários softwares (pacotes computacionais) que oferecem condições de cálculos numéricos, manipulações algébricas e simbólicas. Os softwares MAPLE, MATHEMATICA, etc..., são sistemas de computação algébrica muito eficientes no apóio ao ensino do Cálculo Diferencial e Integral (CDI), e vêm sendo utilizados, por exemplo, nas fases iniciais dos cursos de Engenharia, Computação, Física e Matemática, em universidades estrangeiras, proporcionando aos alunos maior interesse e compreensão. Por outro lado, o software MATLAB (Laboratório de Matrizes), pode ser utilizado para trabalhar com a álgebra linear, pois o mesmo é um software elaborado para o tratamento matricial de dados. No que se refere ao processo de ensino-aprendizagem esses pacotes computacionais exercem grande influência no desenvolvimento intelectual dos alunos. Este recurso didático apresenta a facilidade da construção de gráficos de funções e resolução de problemas. No aprendizado da montagem de equações a resolver, da previsão de seu comportamento e soluções. Os softwares além de possibilitarem uma maior visualização gráfica, também apresentam tópicos avançados e muitas aplicações práticas. Esta grande ferramenta matemática permite ao estudante uma compreensão mais nítida dos processos e potencialidades do Cálculo Diferencial e Integral (CDI), auxiliando-o em seus estudos. Os potentes pacotes computacionais MAPLE, MATHEMATICA não são restritos ao CDI, pois também se aplicam em diversas áreas da Matemática, Física, Engenharia, etc. Outros tópicos básicos relacionados com a Matemática que podem ser abordados facilmente são: Álgebra Linear, Equações Diferenciais, Séries Infinitas, Matemática Financeira, Estatística e muitos outros. Por outro lado, o MATLAB, pode ser usado não apenas para a Álgebra Linear, mas pode ser aplicado nas mais diversas áreas como o CDI, a Estatística, a Matemática Financeira, a Programação Linear, entre outras. Nesta apostila apresentamos os conceitos básicos de utilização do software Maple. Abordaremos alguns tópicos básicos e específicos de Matemática, tais como construção de gráficos bidimensionais e tridimensionais, operações com expressões algébricas e polinômios, principais funções e constantes matemáticas presentes no Maple, além dos conteúdos próprios do CDI (limites, continuidades, derivadas, integrais e suas aplicações).

Page 6: Apostila MAPLE

6

Essa apostila foi elaborada com base na versão 7 para Windows. Veja os detalhes de credito dessa versão na figura a seguir.

Esta versão do Maple foi lançada em 2001. Sendo assim, serão aqui apresentadas noções básicas somente para sua utilização nessa versão. Os comandos utilizados também são compatíveis com versões anteriores do Maple. Nota: Será considerado que o usuário já tenha algum conhecimento de utilização de software para Windows. Caso não o possua, é aconselhável que o adquira antes de começar a utilizar o Maple, pois não são abordadas as características comuns a todos os softwares para Windows. A seguir, observe a tela de abertura do software Maple (versão 7).

Uma vez que o programa esteja iniciado, tem-se então a tela inicial do programa, que consiste de um menu com as opções disponíveis e uma área de trabalho. A grande maioria dos comandos do Maple utilizados nesta apostila são comandos internos, ou disponíveis em pacotes que são digitados e executado na área de trabalho.

Page 7: Apostila MAPLE

7

Para executar um comando basta digitá-lo, e então pressionar a tecla “ENTER”. Neste momento, o texto digitado é considerado como uma entrada, e será então dada uma saída, que aparecerá imediatamente abaixo da entrada. Caso ocorra algum erro de execução, ou de sintaxe, uma mensagem apropriada será dada como saída. Deve-se tomar muito cuidado na hora de digitar um comando, pois são consideradas as diferenças entre caracteres (letras, por exemplo) maiúsculos e minúsculos, sendo que muitas vezes, este é o motivo de vários erros na hora de sua execução. Algumas pessoas, quando iniciam a utilização do software Maple, enfrentam algumas dificuldades, devido a pequenos detalhes importantes que passam despercebidos. Aqui, colocaremos o significado dos símbolos mais utilizados, para que não ocorram estes tipos de problemas. Veja a seguir a tela do Maple.

OBSERVAÇÃO DO CURSO: Adaptado de TANEJA, 1997 Vamos desenvolver nosso curso acessando as seções referentes a determinados assuntos. Uma seção é identificada com um quadradinho com um sinal de [+] ou [-] dentro dele. Para expandi-la devemos clicar com o mouse o sinal [+] e ele mudará para [-] possibilitando assim que possamos acessar o conteúdo desta seção. Para fechá-la, clique o sinal [-] e ele mudará para [+].

Page 8: Apostila MAPLE

8

4. NOÇÕES BÁSICAS DE MATEMÁTICA USANDO O MAPLE O Maple é uma linguagem para o cálculo matemático simbólico que possibilita grande variedade de aplicações, relativa simplicidade de uso e atualização periódica em novas versões, o que faz com que se prolongue sua ampla permanência no meio acadêmico. Para utilizá-lo basta digitar os comandos no teclado e pressionar “ENTER”, todos os comandos são precedidos de ponto-e-vírgula “;” se você deseja ver o resultado imediatamente ou por dois pontos “:” se você quiser que o Maple V guarde o resultado para posterior utilização. 4.1. OPERAÇÕES BÁSICAS Adição : + Subtração : - Multiplicação : * Divisão : / Potenciação : ^ ou ** Aqui apresentaremos alguns exemplos com as operações básicas da Matemática. Note que os operadores da multiplicação, divisão e potenciação - diferem dos operadores da Matemática usual. O operador cerquilha “#” possibilita a inserção de comentários após uma instrução sem causar influência na execução do comando. O símbolo “%” servem para aproveitar um último resultado para uma instrução seguinte. O comando “evalf” avalia um resultado em decimais para n dígitos, sendo o número padrão igual a 10, se desejarmos aumentar a precisão do cálculo, basta especificar o número de casas decimais desejado. Exemplos: > 15+9;

24

> 36-27; 9

> 21*12; 252

> 3*%; # VOCÊ PODE USAR O SÍMBOLO % PARA OPERAR COM O ÚLTIMO RESULTADO.

756

> 28/17; 2817

> evalf(%); # NOS FORNECE O VALOR DECIMAL DA DIVISÃO 1.647058824

> evalf(Pi,20); # CALCULANDO O VALOR DE PI COM 20 DÍGITOS 3.1415926535897932385

> 3^5; 243

> 3**5; 243

Page 9: Apostila MAPLE

9

> 12+5-16; 1

> 2*3+4*5-8*2; >

10

> 12^2/8-9*3+5*2; 1

> 22/13+11/13; 3313

> evalf(%,20); 2.5384615384615384615

> 2.45*10;# UTILIZA-SE O PONTO DECIMAL AO INVÉS DA VÍRGULA 24.50

Nota: Essas são operações básicas, vale destacar que a ordem das operações é a ordem usual (ordem em que são digitadas) valendo-se das leis da aritmética. Para que a ordem das operações seja alterada, usamos parênteses. Observe os exemplos a seguir: > 35-10-4-2;

19 > 35-(10-4)-2;

27 > (35-10)-(4-2);

23 > 5*10-4*3+3*2^3;

62 > 5*(10-4)*3+3*2^3);

114 > 5*10-(4*3+3*2)^3);

-178

Page 10: Apostila MAPLE

10

4.2. OPERAÇÕES ELEMENTARES

Operação Símbolo Exemplo numérico Adição + > 3+2;

5 Subtração - > 3-2;

1 Multiplicação * > 3*2;

6 Divisão / > 3/2;

32

Potenciação ^ ou ** > 3^2; 9

> 3**2; 9

Notas: 1) case sensitive => diferencia uma variável escrita com letra maiúscula de uma variável escrita com

letra minúscula. 2) “:=” => Comando de atribuição. Exemplo: a:=3 (a variável a recebe o valor 3). Exemplos: > a:=3;

:= a 3

> b:=2; := b 2

> c:=a+b; := c 5

> d:=a-b; := d 1

> e:=a/b;

:= e 32

> f:=a^b; := f 9

> f:=a**b; := f 9

4.3. CONSTANTES PRÉ-DEFINIDAS

Constante Símbolo Exemplo Pi ( ) pi > pi;

Infinito ( ) infinity > infinity;

Número complexo ( 1 )

I > I; I

Número (e) exp(1) > exp(1); e

Page 11: Apostila MAPLE

11

4.4. CONSTANTES E FUNÇÕES DA ARITMÉTICA

Aqui temos o número representado pela constante Pi e as funções:

“ifactor” => faz a decomposição de um número em fatores primos. “iquo” => determina o quociente da divisão entre dois números. “igcd” => determina o máximo divisor comum entre dois números. “root” => calcula a raiz n-ésima de um número.

Nota: Comandos para trabalhar com números inteiros.

Os exemplos a seguir ilustram como cada um destes comandos devem ser usados:

Exemplos: > Pi;

> evalf(Pi);

3.141592654 > evalf(Pi,100);

3.14159265358979323846264338327950288419716939937510582097494459230 \7816406286208998628034825342117068

> ifactor(20); ( ) 2 2 ( ) 5

> ifactor(13); ( ) 13

> ifactor(144); ( ) 2 4 ( ) 3 2

> ifactor(120); ( ) 2 3 ( ) 3 ( ) 5

> iquo(144,120); 1

> iquo(2401,33); 72

> igcd(123,45); 3

> igcd(144,120); 24

> igcd(1500,650); 50

> sqrt(n); n

> sqrt(2); 2

> evalf(%); 1.414213562

> evalf(sqrt(3)); 1.732050808

> evalf(sqrt(10),20); 3.1622776601683793320

> sqrt(3.1); 1.760681686

> root [3](125); 5

> root [3](25); 5( )/2 3

> evalf(%); 2.924017738 > evalf(root [6](127)); 2.241991457

Page 12: Apostila MAPLE

12

4.5. EXPRESSÕES ARITMÉTICAS Vamos agora trabalhar com algumas expressões aritméticas já que sabemos como manipular com os operadores básicos. Devemos usar parênteses “( )” nestas expressões, pois para o Maple não é válido, por exemplo uma expressão como {5*(37+12)/(57-15)]*(10+3)}/20, embora tenha sentido matemático. A expressão digitada desta maneira irá causar um chamado erro de sintaxe, aparecendo na tela após execução a mensagem “Error, use intersect for sets”, que indica que as chaves “{ }” são usadas para interseção entre conjuntos. Confira! > {[5*(37+12)/(57-15)]*(10+3)}/20;

120 { }

4556

O correto será: > ((5*(37+12)/(57-15))*(10+3))/20;

9124

EXERCÍCIO: Calcule o valor das seguintes expressões aritméticas: 1) 180 + {2 x [5 x 3 + (8 x 4 - 2 x 9) - (19 x 3 - 37)]} 2) {83 - [56 + (6 x 8 - 28) - 20 + 5]} - 12 3) 58 - {30 + 4 x 3 - [25 - (12 - 4) + 3]} 4) {(9 x 4 + 6) : 7 + [(15 + 2) x 3] : 17} - 9 5) 82 + {33 x [132 : (7 - 1) x (18 - 7)] - 3 x 22} 6) 9600 : {[200 + (3 x 200 - 500) + 400 : 20] + 4 x 20} 7) 21 Respostas: 1) 198 2) 10 3) 36 4) 0 5) 8002 6) 24 Solução: 1) > 180+(2*(5*3+(8*4-2*9)-(19*3-37)));

198 3) > 58-(30+4*3-(25-(12-4)+3));

36 7) > I^2;

-1

Page 13: Apostila MAPLE

13

4.6. OPERAÇÕES COM CONJUNTOS Para tratar de conjuntos finitos, o Maple apresenta uma série de comandos:

Operação Símbolo Objetivo União union Faz a operação de união entre conjuntos Intersecção intersect Faz a operação de interseção entre conjuntos Diferença minus Retira um conjunto de outro Valor máximo max Encontra o maior valor de um conjunto Valor mínimo min Encontra o menor valor de um conjunto

Exemplo: Considerando os conjuntos A = {-2, 3, 4, 7, -18, 15}, B = {-9, 3, 6, 8, 10, -11} e C = {0, -4, 3, 9, 7, 8, -14}, fazer as seguintes operações: a) BA b) CA c) CB d) CBA e) )( CBA f) )()( CABA g) BA h) AB i) Máximo(A) j) Mínimo (B) k) Máximo(A)-Mínimo(B) Solução: Inicialmente vamos definir os conjuntos A, B e C, na tela do Maple. > A:={-2,3,4,7,-18,15};

:= A { }, , , , ,-18 -2 3 4 7 15 > B:={-9,3,6,8,10,-11};

:= B { }, , , , ,-11 -9 3 6 8 10 > C:={0,-4,3,9,7,8,-14};

:= C { }, , , , , ,-14 -4 0 3 7 8 9 a) > A union B;

{ }, , , , , , , , , ,-18 -11 -9 -2 3 4 6 7 8 10 15 b) > A union C;

{ }, , , , , , , , , ,-18 -14 -4 -2 0 3 4 7 8 9 15 c) > B union C;

{ }, , , , , , , , , ,-14 -11 -9 -4 0 3 6 7 8 9 10 d) > A union B union C;

{ }, , , , , , , , , , , , , ,-18 -14 -11 -9 -4 -2 0 3 4 6 7 8 9 10 15 e) > A union (B intersect C);

{ }, , , , , ,-18 -2 3 4 7 8 15 f) > (A union B)intersect(A union C);

{ }, , , , , ,-18 -2 3 4 7 8 15 g) > A minus B;

{ }, , , ,-18 -2 4 7 15 h) > B minus A;

{ }, , , ,-11 -9 6 8 10 i) > max(-2,3,4,7,-18,15);

15 j) > min(-9,3,6,8,10,-11);

-11 k) > max(-2,3,4,7,-18,15) - min(-9,3,6,8,10,-11);

26 Exercício: Sejam os conjuntos A = {2, 3, 4, 6, 12, -3}, B = {4, 5, 8, 3, -2, -5} e C = {6, 12, -3}. Calcular: a) A união B união C b) A interseção B interseção C c) A união ( B interseção C) d) (A união B) interseção ( A união C) e) A - B - C f) C - A - B g) A união ( B - C) h) (A - C) interseção (B - C)

Page 14: Apostila MAPLE

14

4.7. FUNÇÕES ELEMENTARES:

Função Símbolo Exemplo Exponencial exp(x) Logaritmo natural ln(x) > ln(exp(1)); 1 Raiz quadrada sqrt(x) Valor absoluto ou Módulo abs(x)

Trigonométricas sin(x); cos(x); tan(x) sec(x); csc(x); cot(x)

Trigonométricas Inversas (determinação do arco ou ângulo)

arcsin(x); arccos(x); arctan(x) arcsec(x); arccsc(x); arccot(x)

Exemplos: > sqrt(3);

3 > evalf(%);

1.732050808 > abs(x);

x > abs(-2);

2 > exp(x);

ex > exp(1);

e > evalf(%,20);

2.7182818284590452354 > ln(10);

( )ln 10 > evalf(%);

2.302585093 > log(x);

( )ln x > log(10);

( )ln 10 > evalf(%);

2.302585093 > sin(Pi);

0 > sin(2);

( )sin 2 > evalf(%);

.9092974268 > sin(Pi/4);

12 2

> arctan(infinity); 12

> tan(Pi/2); Error, (in tan) numeric exception: division by zero

Page 15: Apostila MAPLE

15

4.8. VARIÁVEIS: O Maple sempre interpreta uma letra como sendo uma variável. Para fixarmos o valor da variável x como um número, por exemplo, 3 usamos o comando de atribuição ( “:=” atribui um valor à uma variável) veja o exemplo:

> x:=3; := x 3

Desta forma, sempre que uma expressão de entrada contiver x o Maple interpretará como 3, para reestabelecermos x como uma variável devemos utilizar o comando “restart”, que apagará da memória todos os valores atribuídos as variáveis. Veja um exemplo:

> 2*x; 6

> y:=2; := y 2

> 4*x+y^3-y*x; 14

> restart; > x^3;

x3 O Maple é “case sensitive”, isto é, ele diferencia uma variável escrita com letra minúscula de uma variável escrita com letra maiúscula. Outra observação, que é um erro de ocorrência freqüente, é esquecer de utilizar o símbolo de multiplicação entre variáveis, desta forma ele interpretará como outra variável. > b:= 4;

:= b 4 > B:= 5;

:= B 5 > b*B;

20 > bB;

bB

Exercício: Calcule da mesma forma os produtos de x por y, x por z e x por y por z, atribuindo a x o valor 5 a y o valor 2 e a z o valor 8. Não esqueça de limpar (inicializar) as variáveis.

Outros exemplos:

> A:=2; := A 2

> B:=3; := B 3

> C:=A; := C 2

> A:=B; := A 3

> B:= C; := B 2

> E:=A+B; := E 5

> F:=2*A+E; := F 11

Page 16: Apostila MAPLE

16

4.9. COMO RESOLVER UMA EQUAÇÃO DO PRIMEIRO GRAU: O exemplo abaixo mostra como resolver uma equação do 1º grau passo a passo: > eq:=4*x+18=48;

:= eq 4 x 18 48

> eq - (18=18);

4 x 30

> %/4;

x 152

> eq1:=7*x - 12 = 2*x + 3;

:= eq1 7 x 12 2 x 3

> eq1 - (-12=-12);

7 x 2 x 15

> % - (2*x=2*x);

5 x 15

> %/5; x 3

Exercícios: 1) Resolver as equações abaixo: a) 6x - 18 = -3x +27 b) 2x +10 = 3x + 5/7 c) 4y - 6 = 10y - 12 d) x + 5 = 2x -6 2) Achar a solução dos sistemas abaixo: a) x + y = 5 ; 2x - y = 1 b) 7x +8y = 9 ; -x + y = 3 c) 3x + 4y - 5z = 2; 2x - y + z = 1; -x-3y-z=3

Page 17: Apostila MAPLE

17

4.10. EXPRESSÕES ALGÉBRICAS: Uma das grandes vantagens de um programa como o Maple é permitir manipular expressões algébricas do mesmo modo que uma calculadora permite manipular expressões aritméticas. Alguns dos comandos algébricos do Maple estão listados a seguir:

Símbolo Objetivo Exemplo simplify Simplificar uma expressão factor Fatorar uma expressão dada subs Determinar o valor da expressão para um valor específico expand Expandir as expressões (desenvolver o Binômio de Newton, por exemplo) numer Numerador de uma expressão denom Denominador de uma expressão

Inicialmente, vamos usar os seguintes comandos: “simplify” => simplifica uma expressão algébrica. “expand” => expande uma expressão algébrica. “factor” => fatora uma expressão algébrica. “solve” => resolve um sistema de equações para um conjunto de incógnitas. “subs” => substitui um valor atribuído à uma variável. “numer” => recebe a expressão do numerador de uma expressão algébrica fracionária. “denom” => recebe a expressão do denominador de uma expressão algébrica fracionária. Vamos ilustrar, com alguns exemplos cada um destes comandos. > simplify ((2+x)/x+(2-x)/x);

41x

> a:=4*x^2/(1+x^2)^3+(5-x)^2;

:= a 4x2

( )1 x2 3 ( )5 x 2

> simplify(%); 80 x2 25 78 x4 28 x6 10 x 30 x3 30 x5 10 x7 x8

( )1 x2 3

> subs(x=1,a); 332

> p:=numer(a); := p 80 x2 25 78 x4 28 x6 10 x 30 x3 30 x5 10 x7 x8

> q:=denom(a); := q ( )1 x2 3

> subs(x=1,p);

132 > subs(x=1,q);

8 > expand((3*x^2-4*x)*(x+1)*(3*x^2+5*x+1));

9 x5 12 x4 14 x3 21 x2 4 x > expand((3*x^2-4*x)*(x+1)*(3*x^2+5*x+1));

9 x5 12 x4 14 x3 21 x2 4 x

Page 18: Apostila MAPLE

18

> factor(%); x ( )3 x 4 ( )x 1 ( ) 3 x2 5 x 1

> b:=8*x^3-18*x*y^2+20*x^2*y-45*y^3; := b 8 x3 18 x y2 20 x2 y 45 y3

> factor(%); ( )3 y 2 x ( )5 y 2 x ( ) 3 y 2 x

> expand(%); 8 x3 18 x y2 20 x2 y 45 y3

> subs(y=1,%); 8 x3 18 x 20 x2 45

> expand((1+2*x)^2); 1 4 x 4 x2

> subs(x=k,%); 1 4 k 4 k2

> factor(2*x^2+3*x-2); ( )2 x ( )2 x 1

> solve({32*x-15*y=12,10*x+4*y=16},{x,y}); { },x

144139 y

196139

Observe que neste último exemplo usamos chaves “{ }” separando as expressões por vírgula dentro das chaves. O Maple interpreta isto como um conjunto, observe que a saída é um conjunto. Podemos armazenar esta saída em uma variável e daí consultarmos cada variável do conjunto através de um índice atribuído a variável que recebeu este conteúdo de saída. Este índice é escrito entre colchetes [].Veja: > sol:= solve({32*x-15*y=12,10*x+4*y=16},{x,y});

:= sol { },x 144139 y 196

139

> sol[1]; # Aqui será mostrado o primeiro elemento do conjunto solução x 144

139

> sol[2]; # Aqui será mostrado o segundo elemento do conjunto solução y

196139

Assim, é sempre possível selecionar qualquer elemento de um dado conjunto. Note também, que as soluções obtidas por meio do comando solve são dadas em forma de equação. Existem dois comandos do Maple muito úteis para equações: lhs - (left-hand side) seleciona o lado esquerdo da equação e rhs - (right-hand side) seleciona o lado direito. > rhs(sol[1]);

144139

> lhs(sol[1]); x

Page 19: Apostila MAPLE

19

4.11. OPERAÇÕES COM POLINÔMIOS Como sabemos como criar expressões algébricas, agora vamos tratar da manipulação de operações com polinômios que são expressões algébricas a uma variável. Podemos somar, subtrair, multiplicar, dividir e elevar a uma potência expressões polinomiais usando os símbolos aritméticos (+, -, *, / e ^, respectivamente)).

Símbolo Objetivo Sintaxe rem Calcula o resto da divisão de dois polinômios rem(expressão, divisor, variável) quo Calcula o quociente da divisão de dois polinômios rem(expressão, divisor, variável) degree Indica o grau de um polinômio degree(polinômio) coeff Indica o coeficiente de um termo indicado coeff(polinômio, termo) tcoeff Indica o termo independente de um polinômio tcoeff(polinômio) coeffs Lista todos os coeficientes não nulos de um polinômio tcoeffs(polinômio)

Observação: Não esquecer de utilizar o símbolo de multiplicação (*) entre as variáveis. Inicialmente, vamos aprender os dois comandos a seguir: “rem” => que calcula o resto da divisão de um polinômio por outro. “quo” => que calcula o quociente da divisão de um polinômio por outro. A sintaxe destes comandos é: rem(expressão, divisor, variável) quo(expressão, divisor, variável); Veja os exemplos a seguir: > p:=x^3-2*x^2+x-1;

:= p x3 2 x2 x 1 > q:=3*x^3+7*x^2-2*x+8;

:= q 3 x3 7 x2 2 x 8 > r:=p+q;

:= r 4 x3 5 x2 x 7 > s:=p-q;

:= s 2 x3 9 x2 3 x 9 > P:=x^3+1;

:= P x3 1 > Q:=x+1;

:= Q x 1 > R:=P/Q;

:= R x3 1x 1

> simplify(R); x2 x 1

> S:=P*Q; := S ( )x3 1 ( )x 1

> simplify(S); ( )x3 1 ( )x 1

> expand(S); x4 x3 x 1

Page 20: Apostila MAPLE

20

> rem(P,Q,x); 0

> quo(P,Q,x); x2 x 1

> rem(x^4+3*x^2-1,x^3+x,x); 1 2 x2

> rem(x^3+x,x^4+3*x^2-1,x); x3 x

> quo(x^4+3*x^2-1,x^3+x,x); x

> simplify((x^3+x)*(%)+(%)); x4 x2 x

> Q^3; ( )x 1 3

> expand(%); x3 3 x2 3 x 1

Observação: Agora, vamos trabalhar com os outros comandos: “degree” => indica o grau de um polinômio. “coeff” => indica o coeficiente de um termo indicado. “tcoeff” => indica o termo independente de um polinômio. “coeffs” => lista todos os coeficientes não nulos de um polinômio. Exemplos: > polinomio:=x^6-x^5-9*x^4+x^3+20*x^2+12*x+5;

:= polinomio x6 x5 9 x4 x3 20 x2 12 x 5 > degree(polinomio);

6 > coeff(polinomio,x^4);

-9 > tcoeff(polinomio);

5 > coeffs(polinomio);

, , , , , ,5 1 12 20 -9 1 -1

Page 21: Apostila MAPLE

21

4.12. REPRESENTAÇÃO DE FUNÇÕES NO MAPLE O Maple tem o seguinte comando para representar funções: f:=(x)-> expressão em x => este comando representa a função f(x), f será função de x que será

representada por uma expressão em x. Veja alguns exemplos a seguir: > restart: > f:=(x)-> x^3+2*x^2-3;

:= f x x3 2 x2 3 > f(1);

0 > f(3);

42 > f(a+b);

( )a b 3 2 ( )a b 2 3 > expand(%);

a3 3 a2 b 3 a b2 b3 2 a2 4 a b 2 b2 3 > f(a-1);

( )a 1 3 2 ( )a 1 2 3 > expand(%);

a3 a2 a 2 > f(a)+f(a-1);

a3 2 a2 6 ( )a 1 3 2 ( )a 1 2 > expand(%);

2 a3 a2 5 a > g:=(x)->cos(x)+sin(x);

:= g x ( )cos x ( )sin x > g(Pi/2);

1 > g(3*Pi/4);

0 > h:=(x,y)->log(x^2+y^2)+sqrt(x+y^2);

:= h ( ),x y ( )log x2 y2 x y2 > h(2,3);

( )ln 13 11 > evalf(%);

5.881574147 > h(1.5,1);

2.759793826 > h(a,b);

( )ln a2 b2 a b2 > h(f(x),g(x));

( )ln ( ) x3 2 x2 32

( )( )cos x ( )sin x 2 x3 2 x2 3 ( )( )cos x ( )sin x 2 > h(f(2),g(Pi/2));

( )ln 170 14 > evalf(%);

8.877455824

Page 22: Apostila MAPLE

22

4.13. FUNÇÕES COMPOSTAS Além de definirmos uma função composta usando a forma normal “f(g(x))”, o Maple trabalha com funções compostas utilizando o sinal “@” entre as variáveis que representarão a função, ou seja “f@g”, veja os exemplos a seguir: > restart: > f:=(x)->2*x^2;

:= f x 2 x2 > g:=(x)->exp(-x^2);

:= g x e ( )x2

> h:=(x)->sin(2*x)+cos(2*x); := h x ( )sin 2 x ( )cos 2 x

> f@g)(x);

2 ( )e ( )x2 2

> g@f)(x);

e ( )4 x4

> h@f)(x); ( )sin 4 x2 ( )cos 4 x2

> f@g@h)(x);

2 ( )e ( )( )( )sin 2 x ( )cos 2 x 2 2

> f@f)(x);

8 x4 > f@g@h)(1);

2 ( )e ( )( )( )sin 2 ( )cos 2 2 2

> evalf(%);

1.229677785

Page 23: Apostila MAPLE

23

5. PLOTANDO GRÁFICOS BIDIMENSIONAIS Para fazer um gráfico bidimensional em coordenadas cartesianas de uma função é utilizado o comando plot, cuja sintaxe é a seguinte: >plot(f(x), x=a..b, y=c..d) Onde: f(x) => é a função real ou conjunto de pontos a serem “traçados”. x = a..b => é o intervalo a ser considerado no eixo x. y = c..d => é o intervalo a ser considerado no eixo y. As variações de x e y não são obrigatórias. Pode-se dar apenas as variações de x e, conforme o gráfico, ele escolhe as variações de y ou pode-se também suspender as variações de x e, neste caso, o Maple escolhe a variação de x de -10 a 10. O Maple possibilita a construção (plotagem) de mais de um gráfico no mesmo sistema de eixos. Isto é possível usando a seguinte sintaxe: plot([f1,f2,f3,..,fn], x = a..b); => onde neste caso todas as funções devem estar declaradas entre colchetes e devem depender da mesma variável. Quanto a escala dos eixos o Maple trabalha com dois tipos: scaling = constrained => as variações de x e y são proporcionalmente iguais; scaling = unconstrained => as variações de x e y são proporcionais à tela do monitor. Os eixos podem ser de quatro tipos diferentes: axes = frame => os eixos se interceptam nos limites inferiores de cada intervalo; axes = normal => os eixos se interceptam no ponto (0, 0); axes boxed => os eixos se interceptam nos limites inferiores de cada intervalo e o gráfico aparece dentro de uma caixa axes none => não mostra os eixos. Para especificar a cor de uma curva traçada usa-se o comando color = <opção de cor>, onde as opções de cores são: aquamarine, black, blue, navy, coral, cyan, brown, gold, green, gray, grey khaki, magenta, maroon, orange, pink, plum, red, sienna, tan, turquoise, violet, wheat, white, yellow. Veja os exemplos a seguir: > f:=x-> x^2;

:= f x x2 > plot(f);

Page 24: Apostila MAPLE

24

> plot(f(x),x=-2..2);

> plot(sin(x),x=-Pi..Pi);

> plot(x^2-3*x+2,x=-4..4,y=-5..5);

> plot((2*x-5)/(x+3)-1,x=-30..30,y=-10..10);

Page 25: Apostila MAPLE

25

> plot((x^2-x-6)/(x^2-x-12),x=-5..5,y=-10..10);

> f1:=x^2-x-6;

:= f1 x2 x 6 > factor(%);

( )x 2 ( )x 3 > f2:=x^2-x-12;

:= f2 x2 x 12 > factor(%);

( )x 3 ( )x 4 > f:=f1/f2;

:= f x2 x 6 x2 x 12

> g:=factor(f1*f2); := g ( )x 2 ( )x 3 ( )x 3 ( )x 4

> plot(g,x=-6..6,y=-15..80);

Page 26: Apostila MAPLE

26

O Maple possibilita a construção (plotagem) de mais de um gráfico no mesmo sistema de eixos. Isto é possível usando a seguinte sintaxe: plot([f1,f2,f3,..,fn], x = a..b); => onde neste caso todas as funções devem estar declaradas entre colchetes e devem depender da mesma variável. Exemplos: > plot([sin(x),cos(x)],x=0..2*Pi);

> plot([x^3+3*x,exp(x),3],x=-2..2);

> plot([x^2-2*x+1,ln(x^3+2*x+1)],x=-3..3);

Page 27: Apostila MAPLE

27

Quanto a escala dos eixos o Maple trabalha com dois tipos: scaling = constrained => as variações de x e y são proporcionalmente iguais; scaling = unconstrained => as variações de x e y são proporcionais à tela do monitor. Os eixos podem ser de quatro tipos diferentes: axes = frame => os eixos se interceptam nos limites inferiores de cada intervalo; axes = normal => os eixos se interceptam no ponto (0, 0); axes boxed => os eixos se interceptam nos limites inferiores de cada intervalo e o gráfico aparece dentro de uma caixa axes none => não mostra os eixos. Para especificar a cor de uma curva traçada usa-se o comando color = <opção de cor> , onde as opções de cores são: aquamarine, black, blue, navy, coral, cyan, brown, gold, green, gray, grey khaki, magenta, maroon, orange, pink, plum, red, sienna, tan, turquoise, violet, wheat, white, yellow. Vejamos como utilizar estes comandos que foram apresentados: > f:= x^2+2*x - 3;

:= f x2 2 x 3 > g:= 2*sin(x);

:= g 2 ( )sin x > h:= 3*x-4;

:= h 3 x 4 > plot([f,g],x=-5..5,axes=normal);

> plot([g,h],x=-Pi..Pi,axes=boxed,color=blue);

Page 28: Apostila MAPLE

28

> plot([g+h,2*f],x=-2..2,axes=framed);

> plot([f*g,h+2],x=-10..10,axes=normal,scaling=constrained);

> plot([f*g,h+2],x=-10..10,axes=normal);

Exercícios: Plotar os gráficos das seguintes funções: 1) f(x) = 2x + sen(x) 2) g(x) = exp(2x) - ln(x) + 2 3) h(x) = x^3 + 2x^2 - 3x +1 4) i(x) = f(x) + 2h(x) 5) j(x) = g(f(x)) 6) k(x) = f(f(x))

Page 29: Apostila MAPLE

29

6. USANDO O SOFTWARE MAPLE PARA PLOTAR AS CURVAS DE NÍVEL E GRÁFICOS DE SUPERFÍCIES

Exemplos: 1) Construir, usando o software Maple (versão 7.0), os gráficos e as curvas de nível das seguintes

curvas: a) 22),( yxyxf (Parabolóide) > plot3d(x^2+y^2,x=-3..3,y=-3..3); > with (plots): > contourplot(x^2+y^2,x=-3..3,y=-3..3,color=black);

,

b) 22),( yxyxf (cone) > plot3d(sqrt(x^2+y^2),x=-3..3,y=-3..3); > with (plots): > contourplot(sqrt(x^2+y^2),x=-3..3,y=-3..3,contours=30,color=black);

Mano
Highlight
Page 30: Apostila MAPLE

30

d) 22),( yxyxf (Sela) > plot3d(x^2-y^2,x=-3..3,y=-3..3); > with (plots): > contourplot(x^2-y^2,x=-3..3,y=-3..3,color=black);

e) 22),( xyyxf > with (plots): > contourplot(y^2-x^2,x=-4..4,y=-4..4,color=black,contours=10);

f) 22),( yxyxf > with (plots): > contourplot(x^2+y^2,x=-3..3,y=- 3..3,contours=30,color=black);

Page 31: Apostila MAPLE

31

2) Outros exemplos de gráficos tridimensionais no Maple (versão 7.0)

a) 22

),( yxexyyxf

> plot3d(x*y*exp(-x^2-y^2), x=-2..2,y=-2..2);

b) 22

),( yxexyxf

> plot3d(x*exp(-x^2-y^2), x=-2..2,y=-2..2);

c) 22

),( yxeyyxf

> plot3d(y*exp(-x^2-y^2), x=-2..2,y=-2..2);

Page 32: Apostila MAPLE

32

d)5

33),( 22

yxyxyxyxf , 3333 yex

> plot3d(x^2+x*y+y^2+3/x+3/y+5,x=-3..3,y=-3..3);

e)5

33),( 22

yxyxyxyxf , 2222 yex

> plot3d(x^2+x*y+y^2+3/x+3/y+5,x=-2..2,y=-2..2);

f)5

33),( 22

yxyxyxyxf , 4444 yex

> plot3d(x^2+x*y+y^2+3/x+3/y+5,x=-4..4,y=-4..4);

Page 33: Apostila MAPLE

33

3) Construir os seguintes gráficos, usando o software Maple (versão 7.0), dada a função e o domínio da mesma.

a) 8888),ln(),( 22 yexyxyxf , na cor cinza (gray) > plot3d(ln(x^2+y^2),x=-8..8,y=-8..8,color=gray);

b) 3333),ln(),( 22 yexyxyxf , , na cor padrão do Maple V (versão 7.0) > plot3d(ln(x^2+y^2),x=-3..3,y=-3..3);

c) 3333,),( 222 yexyxsenyxf , na cor padrão do Maple V (versão 7.0) > plot3d( (sin(sqrt(x^2+y^2))^2 ),x=-3..3,y=-3..3);

Page 34: Apostila MAPLE

34

d) 3333,1

5),( 22

yexyxxyxf , na cor azul (blue)

> plot3d(-5*x/(x^2+y^2+1),x=-3..3,y=-3..3,color=blue);

e) 3333,)(),( 22

22

yexyx

yxsenyxf na cor verde (green)

> plot3d(sin(x^2+y^2)/(x^2+y^2),x=-3..3,y=-3..3,color=green);

Page 35: Apostila MAPLE

35

4) Use a função IMPLICITIPLOT => GRÁFICOS DE FUNÇÕES IMPLÍCITAS a) 1622 yx (Circunferência) > with(plots): > implicitplot(x^2+y^2=16,x=-5..5,y=-5..5);

b) 194

22

yx (Elipse)

> with(plots): > implicitplot(x^2/4+y^2/9=1,x=-3..3,y=-4..4);

c) 194

22

yx (Hipérbole)

> with(plots): > implicitplot(x^2/4-y^2/9=1,x=-3..3,y=-4..4);

Mano
Highlight
Page 36: Apostila MAPLE

36

d) 222 yxz (cones) > with(plots): > implicitplot3d(z^2=x^2+y^2,x=-3..3,y=-3..3,z=-3..3,color=gray); > implicitplot3d(z^2=x^2+y^2,z=-2..2,y=-2..2,x=-2..2);

e) 9222 zyx (Esfera) > with(plots): > implicitplot3d(x^2+y^2+z^2=9,x=-3..3,y=-3..3,z=-3..3);

Page 37: Apostila MAPLE

37

7. LIMITE E CONTINUIDADE Objetivo: Apresentar o conceito de limite de uma função dada, o conceito de limites laterais e as propriedades de limites. Estender esse conceito para continuidade e evidenciar exemplos quando as funções dadas são contínuas ou descontínuas. 7.1. LIMITES Nesta seção apresentamos o conceito de limite de uma função. Este conceito é muito importante no ensino do Cálculo Diferencial e Integral (CDI). Evidenciamos este conceito através de alguns exemplos, esclarecendo-o através do gráfico da função. Definição: Seja uma função f definida em um intervalo aberto I que contém o ponto p, exceto possivelmente no próprio ponto p. O limite de f(x) quando x se aproxima de p é L. A afirmação:

Lxfpx

)(lim

significa que, para todo 0 existe um 0 tal que |)(| Lxf sempre que ||0 px .

Observe que se f(x) tem limite quando x tende para p, então tal limite é único.

A seguir, tem-se alguns exemplos de cálculo de limite utilizando os comandos “Limit” e “limit” do software Maple.

O comando “Limit” representa a expressão em forma da expressão do limite a ser calculado. O comando “limit” calcula o valor do limite desejado. O comando “Limit=limit” representa a expressão e calcula o limite.

Exemplos:

1) Calcular o seguinte limite: 2

10lim3

2

xxx

x.

Solução: Para resolver este limite damos o seguinte comandos na tela do Maple: > Limit((x^3+x-10)/(x-2),x=2)=limit((x^3+x-10)/(x-2),x=2);

limx 2

x3 x 10x 2 13

Vamos visualizar o limite obtido anteriormente traçando o gráfico da função dada no intervalo contendo o ponto analisado.

Observe que no gráfico dado anteriormente o valor no eixo y correspondente a x = 2 é 13.

Portanto, concluímos que: 132

10lim3

2

xxx

x

Page 38: Apostila MAPLE

38

2) Calcular o seguinte limite: 2

3

2 )2(10lim

xxx

x.

Solução: Para resolver este limite e construir o gráfico damos os seguintes comandos na tela do Maple:

> Limit((x^3+x-10)/(x-2)^2,x=2)=limit((x^3+x-10)/(x-2)^2,x=2);

limx 2

x3 x 10( )x 2 2 undefined

> plot((x^3+x-10)/(x-2)^2,x=0..4,color=black);

> # MELHORANDO A VISUALIZAÇÃO GRÁFICA, EM TORNO DO PONTO ANALISADO: > plot((x^3+x-10)/(x-2)^2,x=0..4,y=-50..50,color=black);

Vemos no gráfico anterior que quando x tende pela direita ou pela esquerda a 2 a função tende a dois lados diferentes, isto é, não existe o valor do limite desejado.

Portanto, concluímos que: 2

3

2 )2(10lim

xxx

x não existe.

Nos dois exemplos anteriores calculamos o valor do limite quando x se aproxima de um valor finito. A seguir apresentamos exemplos quando x tende para infinito.

Page 39: Apostila MAPLE

39

Exemplos:

1) Calcular o seguinte limite:54237lim 3

3

xxxx

x.

Solução: > Limit((7*x^3+3*x-2)/(4*x^3+x-5),x=infinity)= limit((7*x^3+3*x-2)/(4*x^3+x-5),x=infinity);

limx

7 x3 3 x 2 4 x3 x 5

74

> plot((7*x^3+3*x-2)/(4*x^3+x-5),x=1..10,y=0..10,color=black);

> plot((7*x^3+3*x-2)/(4*x^3+x-5),x=1..100,y=1..10,color=black);

> plot((7*x^3+3*x-2)/(4*x^3+x-5),x=0..10000,y=1..10,color=black);

Nos três gráficos anteriores vemos que à medida que o valor de x aumenta o valor de f(x) tende a uma constante, o que se confirma calculando-se algebricamente o valor do seu limite que é 7/4.

Portanto, concluímos que: 47

54237lim 3

3

xxxx

x.

Page 40: Apostila MAPLE

40

2) Calcular o seguinte limite:425lim

2

xx

x.

Solução: > Limit(sqrt(x^2+5)/(2*x-5),x=-infinity)=limit(sqrt(x^2+5)/(2*x-5),x=-infinity);

limx ( )

x2 52 x 5

-12

> plot(sqrt(x^2+5)/(2*x-5),x=-5..5,y=-5..5,color=black);

> plot(sqrt(x^2+5)/(2*x-5),x=-20..5,y=-3..3,color=black);

> plot(sqrt(x^2+5)/(2*x-5),x=-5000..0,y=-2..2,color=black);

Nos três gráficos anteriores vemos que à medida que o valor de x aumenta o valor de f(x) tende a uma constante, o que se confirma calculando-se algebricamente o valor do seu limite que é -1/2. Também observamos pelo gráfico que o limite da função dada no ponto x = 2 não existe.

Portanto, concluímos que: 21

425lim

2

xx

x.

Page 41: Apostila MAPLE

41

Os exemplos a seguir apresentam o limite de algumas funções especiais quando x tende a 0 ou quando x tende a menos ou mais infinito.

7.2. LIMITES ESPECIAIS OU FUNDAMENTAIS

Exemplos:

1) Calcule o seguinte limite: x

xsenx 0lim

. A seguir construa o gráfico para visualizar o resultado.

Solução: > Limit(sin(x)/x,x=0)=limit(sin(x)/x,x=0);

limx 0

( )sin xx 1

> plot(sin(x)/x,x=-10..10,color=black);

2) Calcule o seguinte limite:

xsenx

x

1lim0

A seguir construa o gráfico para visualizar o resultado.

Solução: > Limit(x*sin(1/x),x=0)=limit(x*sin(1/x),x=0);

limx 0

x

sin 1

x 0

> plot(x*sin(1/x),x=-1..1,color=black);

3) Calcule o seguinte limite:

||1lim

0 xx. A seguir construa o gráfico para visualizar o resultado.

Solução: > Limit(1/abs(x),x=0)=limit(1/abs(x),x=0);

limx 0

1x

> plot(1/abs(x),x=-2..2,y=0..10,color=black);

Page 42: Apostila MAPLE

42

4) Calcule o seguinte limite: xx

x1

0)1(lim

. A seguir construa o gráfico para visualizar o resultado.

Solução: > Limit((1+x)^(1/x),x=0)=limit((1+x)^(1/x),x=0);

limx 0

( )1 x

1x e

> plot((1+x)^(1/x),x=-2..2,y=0..4,color=black);

5) Calcule o seguinte limite: x

x x

11lim . A seguir construa o gráfico para visualizar o resultado.

Solução: > Limit((1+1/x)^x,x=infinity)=limit((1+1/x)^x,x=infinity);

limx

1 1

x

x

e

> plot((1+1/x)^x,x=0..10,y=0..3,color=black); > plot((1+1/x)^x,x=0..1000,y=0..3,color=black);

6) Calcule o seguinte limite: x

x x

11lim . A seguir construa o gráfico para visualizar o resultado.

Solução: > Limit((1+1/x)^x,x=-infinity)=limit((1+1/x)^x,x=-infinity);

limx ( )

1 1

x

x

e

> plot((1+1/x)^x,x=-100..0,y=0..4,color=black); > plot((1+1/x)^x,x=-1000..10,y=0..4,color=black);

Os exemplos a seguir calculam os limites laterais.

Page 43: Apostila MAPLE

43

7.3. LIMITES LATERAIS

1) Calcule os seguintes limites laterais (à esquerda e à direita) e construa o gráfico: xx

x

39lim

2

3.

Solução: > Limit((9-x^2)/(3-x),x=3,left)=limit((9-x^2)/(3-x),x=3,left);

lim -x 3

9 x2

3 x 6

> Limit((9-x^2)/(3-x),x=3,right)=limit((9-x^2)/(3-x),x=3,right);

lim +x 3

9 x2

3 x 6

> plot((9-x^2)/(3-x),x=-2..6,color=black);

Portanto, concluímos que: 63

9lim2

3

xx

x, pois: 6

39lim

2

3

xx

x e 6

39lim

2

3

xx

x.

2) Calcule os seguintes limites laterais (à esquerda e à direita) e construa o gráfico: 2

|2|lim2

x

xx

.

Solução: > Limit(abs(x-2)/(x-2),x=2,left)=limit(abs(x-2)/(x-2),x=2,left);

lim -x 2

x 2x 2 -1

> Limit(abs(x-2)/(x-2),x=2,right)=limit(abs(x-2)/(x-2),x=2,right);

lim +x 2

x 2x 2 1

> plot(abs(x-2)/(x-2),x=-3..3,color=black);

Portanto, concluímos que:

2|2|lim

2

xx

x não existe, pois: 1

2|2|lim

2

xx

x e 1

2|2|lim

2

xx

x.

Page 44: Apostila MAPLE

44

3) Calcule os seguintes limites laterais (à esquerda e à direita) e construa o gráfico: xx

1lim0

.

Solução: > Limit(1/x,x=0,left)=limit(1/x,x=0,left);

lim -x 0

1x

> Limit(1/x,x=0,right)=limit(1/x,x=0,right);

lim +x 0

1x

> plot(1/x,x=-5..5,y=-8..8,color=black);

Portanto, concluímos que:

xx

1lim0

não existe, pois: xx

1lim0

e xx

1lim0

4) Calcule os seguintes limites laterais (à esquerda e à direita) e construa o gráfico: 20

1limxx

.

Solução: > Limit(1/x^2,x=0,left)=limit(1/x^2,x=0,left);

lim -x 0

1x2

> Limit(1/x^2,x=0,right)=limit(1/x^2,x=0,right);

lim +x 0

1x2

> plot(1/x^2,x=-5..5,y=-8..8,color=black);

Portanto, concluímos que:

20

1limxx

, pois: 20

1limxx

e 20

1limxx

. Nota: Na realidade este

limite, também não existe, pois não existe um número L, exigido pela definição.

Page 45: Apostila MAPLE

45

7.4. Propriedades de limites Use o Maple e suas funções: “Limit” e “expand” para verificar as seguintes propriedades de limites: Nota: É importante lembrar que para verificar as propriedades devemos carregar antes o pacote “with(student)”, dando o seguinte comando: >with(student): P1) )(lim)(lim)]()([lim xgxfxgxf

pxpxpx

P2) )(lim)(lim)]()([lim xgxfxgxfpxpxpx

P3) )(lim)]([lim xfcxfcpxpx

P4) )(lim)(lim)]()([lim xgxfxgxfpxpxpx

P5) )(lim

)(lim

)()(lim

xg

xf

xgxf

px

px

px

, 0)( xg

P6) )(lim)( )(lim)(lim

xg

px

xg

px

pxxfxf

P7) )(lim)(lim xfxfpxpx

Solução: Para facilitar, vamos combinar as duas funções: >Limit=expand > with(student): P1) > Limit(f(x)+g(x),x=p)=expand(Limit(f(x)+g(x),x=p));

limx p

( )f x ( )g x ( )limx p

( )f x ( )limx p

( )g x

P2) > Limit(f(x)-g(x),x=p)=expand(Limit(f(x)-g(x),x=p));

limx p

( )f x ( )g x ( )limx p

( )f x ( )limx p

( )g x

P3) > Limit(c*f(x),x=p)=expand(Limit(c*f(x),x=p));

limx p

c ( )f x c ( )limx p

( )f x

P4) > Limit(f(x)*g(x),x=p)=expand(Limit(f(x)*g(x),x=p));

limx p

( )f x ( )g x ( )limx p

( )f x ( )limx p

( )g x

P5) > Limit(f(x)/g(x),x=p)=expand(Limit(f(x)/g(x),x=p));

limx p

( )f x( )g x

limx p

( )f x

limx p

( )g x

P6) > Limit(f(x)^(g(x)),x=p)=expand(Limit(f(x)^(g(x)),x=p));

limx p

( )f x ( )g x ( )limx p

( )f x( )limx p

( )g x

P7) > Limit(sqrt(f(x)),x=p)=expand(Limit(sqrt(f(x)),x=p)); lim

x p( )f x lim

x p( )f x

Page 46: Apostila MAPLE

46

7.5. CONTINUIDADE A seguir estudaremos o conceito de continuidade de uma função num certo ponto, utilizando os recursos do sofftware Maple. Inicialmente definimos este conceito matematicamente. Definição: Uma função f é contínua em um valor p se satisfaz as seguintes condições: (i) f(p) é definido, ou seja: existe f(p). (ii) )(lim xf

pxexiste, ou seja: )(lim)(lim xfxf

pxpx

(iii) )()(lim pfxfpx

Se uma ou mais destas três condições não forem verificadas em p dizemos que a função f é descontínua em p. Agora consideraremos alguns exemplos de funções contínuas e descontínuas. Em cada exemplo traçamos um esboço do gráfico, determinando os pontos onde existe um salto no gráfico, e mostramos qual das três condições da definição dada anteriormente não é válida em cada descontinuidade. Nota: Analisaremos a continuidade das funções esboçando os seus respectivos gráficos. Escolhemos as variações de x e y conforme a necessidade de cada função. Exemplo:

1) Analisar a continuidade da função:

1,21,2

)(xsexxsex

xf .

Solução: Neste caso, dividimos a função dada em duas partes designando a primeira “f1” e a segunda “f2”. Observe os comando a seguir:

> f1:=(x)->if x<=1 then 2+x else undefined fi: > f2:=(x)->if x>1 then 2-x else undefined fi: > plot({f1,f2},-3.5..3.5,-4..4,color=black);

Pelo gráfico anterior concluímos que a função dada não é contínua em x = 1.

Page 47: Apostila MAPLE

47

2) Analisar a continuidade da função:

2,2

2,24

)(

2

xse

xsex

xxf .

Solução: Neste caso, dividimos a função dada em três partes designando a primeira “f1”, a segunda “f2”e a terceira de “f3”. Observe os comando a seguir: > restart: # COMANDO USADO PARA REINICIAR AS VARIÁVEIS > f1:=(x)->if x<2 then (x^2-4)/(x-2) else undefined fi: > f2:=(x)->if x=2 then 2 else undefined fi: > f3:=(x)->if x>2 then (x^2-4)/(x-2) else undefined fi: > plot({f1,f2,f3},-5..5,-5..5,color=black);

Observe que no ponto x = 2 seu valor 2 não aparece na tela, mas esse ponto fornece um valor vazio conforme “f1” e “f3”. Assim, concluímos que a função dada não é contínua em x = 2.

Page 48: Apostila MAPLE

48

3) Analisar a continuidade da função:

0,0

0,)(

xse

xsex

xsenxf .

Solução: Neste caso, dividimos a função dada em três partes designando a primeira “f1”, a segunda “f2”e a terceira de “f3”. Observe os comando a seguir: > restart: # COMANDO USADO PARA REINICIAR AS VARIÁVEIS > f1:=(x)->if x<0 then sin(x)/x else undefined fi: > f2:=(x)->if x=0 then 0 else undefined fi: > f3:=(x)->if x>0 then sin(x)/x else undefined fi: > plot({f1,f2,f3},-15..15,-2..2,color=black);

Observe que no ponto x = 0 seu valor 0 não aparece na tela, mas esse ponto fornece um valor vazio conforme “f1” e “f3”. Assim, concluímos que a função dada não é contínua em x = 0.

Page 49: Apostila MAPLE

49

4) Analisar a continuidade da função:

23,123,65)(

2

xsexouxsexxxf .

Solução: Neste caso dividimos a primeira parte da função dada em duas partes considerando “f1” e “f3”, enquanto a segunda parte fica como “f2”. Observe os comando a seguir: > restart: # COMANDO USADO PARA REINICIAR AS VARIÁVEIS > f1:=(x)->if x<-3 then sqrt(x^2+5*x+6) else undefined fi: > f2:=(x)->if x>=-3 and x<=-2 then -1 else undefined fi: > f3:=(x)->if x>-2 then sqrt(x^2+5*x+6) else undefined fi: > plot({f1,f2,f3},-5..5,-5..5,color=black);

Pelo gráfico anterior concluímos que a função dada não é contínua nem em x = -2 e nem em x = -3. Nesse caso temos dois pontos de descontinuidades.

Page 50: Apostila MAPLE

50

8. DERIVADAS O Maple é um aplicativo que possui inúmeras aplicações na resolução de problemas que envolvem o Cálculo Diferencial e Integral eis aqui alguns exemplos de como calcular derivadas através dos comandos “Diff” e “diff”: > restart: # COMANDO USADO PARA REINICIAR AS VARIÁVEIS > Diff(Pi*r^2,r)=diff(Pi*r^2,r);

r r2 2 r

> Diff(4/3*Pi*r^3,r)=diff(4/3*Pi*r^3,r);

r

43 r3 4 r2

> Diff(Pi*r^2*h,r)=diff(Pi*r^2*h,r);

r r2 h 2 r h

> Diff(Pi*r^2*h,h)=diff(Pi*r^2*h,h);

h r2 h r2

> f:=3*x^3+2*x^2+3*x+4; := f 3 x3 2 x2 3 x 4

> Diff(f,x)=diff(f,x);

x ( ) 3 x3 2 x2 3 x 4 9 x2 4 x 3

> g:=5*x^4-3*x^2-2/x;

:= g 5 x4 3 x2 2x

> Diff(g,x)=diff(g,x);

x

5 x4 3 x2 2

x 20 x3 6 x 2x2

Derivada de segunda ordem, ou seja, segunda derivada. > restart: > f:=3*x^3+2*x^2+3*x+4;

:= f 3 x3 2 x2 3 x 4

> Diff(f,x$2)=diff(f,x$2);

2

x2 ( ) 3 x3 2 x2 3 x 4 18 x 4

Page 51: Apostila MAPLE

51

Derivadas trigonométricas: 1) Verifique as seguintes regras de derivadas trigonométricas: R1) [sen(x)]’ = cos(x) R2) [cos(x)]’ =-sen(x) R3) [tg(x)]’ = sec2(x) R4) [cossec(x)]’ = -cossec(x) cotg(x) R5) [sec(x)]’ = sec(x) tg(x) R6) [cotg(x)]’ = -cossec2(x) Lembre-se: 1 + tg2(x) = sec2x e 1 + cotg2x = cossec2x Solução: R1) > Diff([sin(x)],x)=diff(sin(x),x);

x [ ]( )sin x ( )cos x

R2) > Diff([cos(x)],x)=diff(cos(x),x);

x [ ]( )cos x ( )sin x

R3) > Diff([tan(x)],x)=diff(tan(x),x);

x [ ]( )tan x 1 ( )tan x 2

R4) > Diff([csc(x)],x)=diff(csc(x),x);

x [ ]( )csc x ( )csc x ( )cot x

R5) > Diff([sec(x)],x)=diff(sec(x),x);

x [ ]( )sec x ( )sec x ( )tan x

R6) > Diff([cot(x)],x)=diff(cot(x),x);

x [ ]( )cot x 1 ( )cot x 2

> h2:=x->(3*x^2-4*x+5)/(4*x^3);

:= h2 x14

3 x2 4 x 5x3

> D(h2)(x);

14

6 x 4x3

34

3 x2 4 x 5x4

> normal(%);

14

3 x2 8 x 15x4

> diff(h1,x$2);

60 x2 6 4x3

> diff(h1,x$4);

12048x5

> (D@@1)(h2)(x);

14

6 x 4x3

34

3 x2 4 x 5x4

> normal(%);

14

3 x2 8 x 15x4

Page 52: Apostila MAPLE

52

Calculando mais algumas derivadas: > f2:=x -> sin(2*x);

:= f2 x ( )sin 2 x > # Derivando uma vez. > diff(f2(x),x);

2 ( )cos 2 x > # Derivando 3 vezes. > diff(f2(x),x,x,x);

8 ( )cos 2 x > # Observa que para derivar 3 vezes podemos usar x,x,x; ou $3. > diff(f2(x),x$3);

8 ( )cos 2 x Calculando derivadas com operador diferencial "D" A saída (output) é sempre uma função: > h:=x -> x^2;

:= h x x2 > h(x);

x2 > D(h); # Vai sair uma função !

x 2 x > D(h)(x);

2 x > diff(f(x)*g(x),x); # derivada do produto

x ( )f x ( )g x ( )f x

x ( )g x

> diff( f(x,y(x)) , x ); # derivada total de f(x,y(x))

( )( )D1 f ,x ( )y x ( )( )D2 f ,x ( )y x

x ( )y x

Page 53: Apostila MAPLE

53

9. CALCULANDO INTEGRAIS > # Integrais definidas > Int(x^n,x)=int(x^n,x); # Construir a integral e calculá-la.

dxn x

x( )n 1

n 1

> Int(1/x,x)=int(1/x,x); # Construir a integral e calculá-la.

d

1x x ( )ln x

> Int(a^x,x)=int(a^x,x); # Construir a integral e calculá-la.

dax x

ax

( )ln a

> Int(exp(x),x)=int(exp(x),x); # Construir a integral e calculá-la. d

ex x ex

> Int(sin(x),x)=int(sin(x),x); # Construir a integral e calculá-la. d

( )sin x x ( )cos x

> Int(cos(x),x)=int(cos(x),x);# Construir a integral e calculá-la d

( )cos x x ( )sin x

> Int(ln(x),x)=int(ln(x),x); # Construir a integral e calculá-la. d

( )ln x x x ( )ln x x

> Int(tan(x),x)=int(tan(x),x);# Construir a integral e calculá-la. d

( )tan x x ( )ln ( )cos x

> Int(cot(x),x)=int(cot(x),x);# Construir a integral e calculá-la. d

( )cot x x ( )ln ( )sin x

> Int(1/sqrt(1-x^2),x)=int(1/ sqrt(1-x^2),x);

d

11 x2

x ( )arcsin x

> Int(1/(1+x^2),x)=int(1/(1+x^2),x);

d

11 x2 x ( )arctan x

Page 54: Apostila MAPLE

54

> # Integrais Múltiplas > Int(Int(x^2+y^2,y=0..2),x=0..2)=int(int(x^2+y^2,y=0..2),x=0..2 );

d

0

2

d

0

2

x2 y2 y x 323

> Int(Int(Int(z*cos(x),x=0..2*y),y=0..2 ),z=1..2)=int(int(int(z*cos(x),x=0..2*y),y=0..2 ),z=1..2);

d1

2

d0

2

d0

2 y

z ( )cos x x y z 34 ( )cos 4 3

4

> evalf(%); 1.240232716 1.240232716

> # Integrais indefinidas > Int(1/x^2,x=1..infinity)=int(1/x^2,x=1..infinity);

d

1

1x2 x 1

> # MAIS INTEGRAIS: > plot(1/x,x=0..5,y=0..5,color=black);

> Int(1/x,x=0..1)=int(1/x,x=0..1);

d

0

1

1x x

Page 55: Apostila MAPLE

55

PRINCIPAIS FUNÇÕES DO SOFTWARE MAPLE A seguir, tem-se um resumo das mais importantes funções do software Maple e uma breve explicação de cada uma.

O comando “Limit” representa a expressão em forma da expressão do limite a ser calculado. O comando “limit” calcula o valor do limite desejado. O comando “Limit=limit” representa a expressão e calcula o limite. O comando “expand” serve para expandir uma expressão. O comando “subs” é utilizado para substituir um certo valor em uma expressão. O comando “value” serve para calcular o valor de uma expressão. O comando “normal” é utilizado para escrever uma expressão numa forma normal (simplificada). O comando “evalf” avalia um resultado em decimais para n dígitos, sendo o número padrão igual a

10, se desejarmos aumentar a precisão do cálculo, basta especificar o número de dígitos desejado. O comando “restart” reinicia as variáveis. O comando “plot” constrói um gráfico bidimensional. O comando “factor” fatora uma expressa. O comando “solve” resolve uma equação. Se um comando começa com letra maiúscula, então ele é "inerte". Isto é, só escreve mas não

calcula. LISTA DE EXERCÍCIOS PROPOSTOS PARA A REVISÃO DOS CONCEITOS: INTEGRAIS SIMPLES, DUPLAS E TRIPLAS

Page 56: Apostila MAPLE

56

SÉRIES DE TAYLOR A função "series" escreve a “série de Taylor” de funções analíticas. Em geral, a resposta é dada em termos de uma expansão de ordem 6. Exemplos: 1) y = ex > S:=exp(x);

:= S ex > S1:=series(S,x=0); # Em torno de x=0.

:= S1 1 x12 x2 1

6 x3 124 x4 1

120 x5 ( )O x6

> # Suponha que queremos agora uma expansão de ordem 10: > S2:=series(S,x=0,10);

S2 1 x 12 x2 1

6 x3 124 x4 1

120 x5 1720 x6 1

5040 x7 140320 x8 1

362880 x9 :=

( )O x10

2) y = sen x 3) y = cos x > # Converter a série num polinômio. > S3:=convert(S2,polynom);

:= S3 1 x12 x2 1

6 x3 124 x4 1

120 x5 1720 x6 1

5040 x7 140320 x8 1

362880 x9

> S3(2); # inútil

1 ( )x 212 ( )x 2 2 1

6 ( )x 2 3 124 ( )x 2 4 1

120 ( )x 2 5 1720 ( )x 2 6 1

5040 ( )x 2 7

140320 ( )x 2 8 1

362880 ( )x 2 9

> value(%); #inútil

1 ( )x 212 ( )x 2 2 1

6 ( )x 2 3 124 ( )x 2 4 1

120 ( )x 2 5 1720 ( )x 2 6 1

5040 ( )x 2 7

140320 ( )x 2 8 1

362880 ( )x 2 9

> # Vamos transformar a expressão S3 numa função de verdade. > P:=unapply(S3,x);

:= P x 1 x 12 x2 1

6 x3 124 x4 1

120 x5 1720 x6 1

5040 x7 140320 x8 1

362880 x9

> evalf(P(1)); 2.718281526

> evalf(subs(x=1,S)); 2.718281828

Page 57: Apostila MAPLE

57

FRAÇÕES PARCIAIS O procedimento de frações parciais é utilizado para simplificar as expressões envolvendo quocientes na mesma variável, onde geralmente o denominador envolve expressões polinomiais. Usaremos os comandos “convert” e “parfrac” cuja sintaxe é “convert(expressão, parfrac, variável)”, ou seja, converter uma expressão algébrica em frações parciais em relação a uma variável. O comando “identity” indica que os lados direito e esquerdo de uma equação são idênticos e, deve sempre ser usado numa situação como a que será apresentada. Veja os exemplos a seguir: > restart; > k1:=x^3/(x^2+x);

:= k1x3

x2 x

> factor(%); x2

x 1

> convert(k1,parfrac,x);

x 11x 1

> k2:=(2*x-1)/(2*x^2-3*x-2);

:= k2 2 x 1 2 x2 3 x 2

> convert(k2,parfrac,x);

45

12 x 1

35x 2

> simplify(%); 2 x 1

( )2 x 1 ( )x 2

> k3:=k1+k2;

:= k3 x3

x2 x2 x 1

2 x2 3 x 2

> factor(k3); 2 x4 3 x3 x 1

( )x 1 ( )2 x 1 ( )x 2

> convert(k3,parfrac,x);

x 11x 1

452 x 1

35x 2

> simplify(%); 2 x4 3 x3 x 1

( )x 1 ( )2 x 1 ( )x 2

> k4:=(x^3+y^3)/(x+x*y);

:= k4x3 y3

x x y

> factor(k4); ( )x y ( ) x2 x y y2

x ( )1 y

Page 58: Apostila MAPLE

58

> convert(k4,parfrac,y);

y2 y 1

xx3 1

x ( )1 y

> expand(%);

y2

xyx

1x

x2

1 y1

x ( )1 y

> simplify(%); x3 y3

x ( )1 y

> k5:=(x+1)/(2*x^3+x^2-13*x+6);

:= k5 x 1 2 x3 x2 13 x 6

> factor(%); x 1

( )x 2 ( )2 x 1 ( )x 3

> eq1:=(k5=a/(2*x-1)+b/(x-2)+c/(x+3));

:= eq1 x 1

2 x3 x2 13 x 6

a2 x 1

bx 2

cx 3

> simplify(eq1*denom(k5)); x 1 a x2 a x 6 a 2 b x2 5 b x 3 b 2 c x2 5 c x 2 c

> identity(%,x); ( )identity ,x 1 a x2 a x 6 a 2 b x2 5 b x 3 b 2 c x2 5 c x 2 c x

> solve(%);

{ }, ,a -27 c -2

35 b 15

> subs(%,rhs(eq1));

27

12 x 1

15x 2

235

1x 3

> k5=(%);

x 1

2 x3 x2 13 x 6

27

12 x 1

15x 2

235

1x 3

> convert(k5,parfrac,x);

27

12 x 1

15x 2

235

1x 3

Page 59: Apostila MAPLE

59

MAPLE V - Uma Abordagem Computacional no Ensino do Cálculo

Inder Jeet Taneja EDITORA DA UFSC Inder Jeet Taneja, Ph.D. Professor Titular Departamento de Matemática Universidade Federal de Santa Catarina 88.040-900 Florianópolis, SC, Brasil. DETALHES POR CAPÍTULO Capítulo 1: Introdução Neste capítulo damos a introdução, apresentando a necessidade e importância de softwares computacionais desenvolvidos na era da informática principalmente para temas especiais, tais como: cálculo, equações diferenciais, álgebra linear, etc. E concentramos este trabalho utilizando o software Maple V para os temas de cálculo diferencial e integral. Capítulo 2: Noções Básicas de Matemática Neste capítulo apresentamos noções básicas de matemática utilizando o software Maple. Os principais tópicos são: construção de gráficos bidimensionais no sistema cartesiano, funções, funções compostas, frações parciais, divisão de polinômios, etc.. Capítulo 3: Resolução de Equações e Inequações Neste capítulo apresentamos resolução de equações e inequações. Apresentamos também sistemas de equações de duas e três variáveis. Curvas passando por pontos dados também são obtidas. Utilizando a aproximação gráfica resolvemos sistemas de equações não resolvidas facilmente. Capítulo 4: Limite e Continuidade Neste capítulo apresentamos o conceito de limite de uma função dada. Também apresentamos o conceito de limites laterais e as propriedades de limite. Estendemos este conceito para continuidade e apresentamos alguns exemplos quando as funções dadas são contínuas ou descontínuas. Capítulo 5: Derivada Neste capítulo apresentamos alguns resultados relacionados com derivada e suas aplicações. Apresentamos fórmulas de derivada. Derivada da função composta e derivadas de ordem superior também são abordadas. Capítulo 6: Integral Neste capítulo apresentamos cálculo de integrais definidas e indefinidas. Damos as formas de integração por substituição, por partes, e por frações parciais. Também mostramos cálculo de integrais duplas e triplas, onde consideramos integrais definidas e indefinidas. Capítulo 7: Gráficos em Coordenadas Especiais Neste capítulo apresentamos gráficos bi e tridimensionais. Os gráficos bidimensionais tratam de coordenadas paramétricas e polares. Também construímos os gráficos de funções definidas implicitamente. Damos formas de como animar os gráficos. Apresentamos gráficos tridimensionais nas formas cartesiana, paramétrica, cilíndrica e esférica. Apresentamos também curvas no espaço e curvas de nível. Capítulo 8: Aplicações I - Comprimentos e Áreas Neste capítulo damos aplicações de coordenadas especiais abordadas no capítulo 7. Utilizando coordenadas cartesianas, paramétricas e polares, calculamos comprimento de arco e área de região plana limitada. Capítulo 9: Gráficos Tridimensionais Neste capítulo apresentamos gráficos tridimensionais das funções definidas em diversas situações. Apresentamos gráficos de coordenadas cartesianas, gráficos de equações escritas em forma paramétrica dando curvas e superfícies no espaço. Também apresentamos curvas de nível e construímos gráficos tridimensionais em coordenadas cilíndricas e esféricas. Capítulo 10: Aplicações II - Áreas e Volumes Neste capítulo calculamos a área de região plana limitada em coordenadas cartesianas e polares, aplicando o conceito de integral dupla. Área de superfície e volume do sólido de revolução também foram estudados. Também calculamos o volume de um sólido, utilizando coordenadas polares e cartesianas em integração dupla. Utilizando a integração tripla também calculamos o volume de um sólido em coordenadas cartesianas, cilíndricas e esféricas.

Page 60: Apostila MAPLE

60

USANDO O MAPLE V (VERSÃO 7.0) PARA A DETERMINAÇÃO E CLASSIFICAÇÃO DE EXTREMOS DE FUNÇÕES DE DUAS VARIÁVEIS Objetivos: 1) Definir a função.

2) Construir o seu gráfico.

3) Calcular as derivadas parciais de 1a ordem.

4) Determinar os pontos críticos.

5) Calcular as derivadas parciais de 2a ordem.

6) Construir o hessiano da função.

7) Classificar os pontos críticos. Observação importante: Ao iniciar o trabalho com o Maple salve o seu arquivo, escolhendo um nome apropriado (fácil de lembrar).

Sinal Significado := Recebe = Igual ; Fim da linha de comando # Cerquilha (texto) ? Ajuda

Exemplo: 22 yxyxf ),( 1)>Z:=x^2+y^2; 2)>plot3d(Z,x=-1..1,y=-1..1); 3)>Zx:=diff(Z,x); >Zy:=diff(Z,y); 4)>solve({Zx=0,Zy=0},{x,y}); 5)>Zxx:=diff(Zx,x); >Zxy:=diff(Zx,y); >Zyx:=diff(Zy,x); >Zyy:=diff(Zy,y); 6)>with(linalg): >H:=matrix([[Zxx,Zxy],[Zyx,Zyy]]); >Hessiano:=det(H); 7)>subs(x=xc,y=yc,Hessiano); >subs(x=xc,y=yc,Zxx); >subs(x=xc,y=yc,Z);

Page 61: Apostila MAPLE

61

DEFINIÇÃO DA FUNÇÃO: ),( yxfz

Exemplo 1: 22),( yxyxf >Z:=x^2+y^2;

Exemplo 2: yxxyyxyxf 32),( 23 >Z:=x^3+y^2+x*y-2*x-3*y; CONSTRUÇÃO DO GRÁFICO: >plot3d(FUNÇÃO,x=xinicial..xfinal,y=yinicial..yfinal); DERIVADAS PARCIAIS DE 1a ORDEM:

xf ),( yx >Zx:=diff(Z,x);

yf ),( yx >Zy:=diff(Z,y);

A SEGUIR, RESOLVA O SISTEMA FORMADO PELAS DERIVADAS PARCIAIS DE

PRIMEIRA ORDEM:

0

0

yfxf

>solve({Zx=0,Zy=0},{x,y});

DERIVADAS PARCIAIS DE 2a ORDEM:

2

2

xf

),( yx >Zxx:=diff(Zx,x);

xyf

2

),( yx >Zxy:=diff(Zx,y);

yxf

2

),( yx >Zyx=diff(Zy,x);

2

2

yf

),( yx >Zyy:=diff(Zy,y);

HESSIANO DA FUNÇÃO OU MATRIZ HESSIANA:

>with(linalg):

),(),(

),(),(),(

2

22

2

2

2

yxy

fyxyxf

yxxyfyx

xf

yxH >H:=matrix([[Zxx,Zxy],[Zyx,Zyy]]);

DETERMINANTE HESSIANO DA FUNÇÃO:

),(),(

),(),(),(

2

22

2

2

2

yxy

fyxyxf

yxxyfyx

xf

yxH

>Hessiano:=det(H);

Page 62: Apostila MAPLE

62

EM SEGUIDA, SUBSTITUA OS PONTOS CRÍTICOS NO DETERMINANTE HESSIANO DA FUNÇÃO, NA SEGUNDA DERIVADA EM RELAÇÃO A X E NA FUNÇÃO PARA FAZER A CLASSIFICAÇÃO:

- Se 0),( 00 yxH e 0),( 002

2

yx

xf

, então ),( 00 yx é um ponto de mínimo

local de f .

- Se 0),( 00 yxH e 0),( 002

2

yx

xf

, então ),( 00 yx é um ponto de máximo

local de f . - Se 0),( 00 yxH , então ),( 00 yx não é extremante local. Nesse caso,

),( 00 yx é um ponto de sela. - Se 0),( 00 yxH , nada se pode afirmar. >subs(x=xc,y=yc,Hessiano) >subs(x=xc,y=yc,Zxx) >subs(x=xc,y=yc,Z) TELA INICIAL DO PROGRAMA (SCRIPT = ROTEIRO) ESCRITO EM MAPLE V

Page 63: Apostila MAPLE

63

Notas: 1)Após construir o gráfico da função, clique com o botão direito do

mouse sobre a figura gerada e selecione a opção Axes seguida de Framed, como ilustra a figura a seguir:

A saída será a figura com eixos, de acordo como a figura que segue:

Page 64: Apostila MAPLE

64

2) Após substituir a função por uma nova, pressione ENTER para verificar se a mesma foi digitada corretamente. A seguir, selecione no menu a opção Edit seguida de Execute e por fim Worksheet, conforme ilustrado na figura que segue.

A seguir, apresentaremos alguns exemplos.

Page 65: Apostila MAPLE

65

1) 22),( yxyxf Entradas e saídas do programa (SCRIPT = ROTEIRO) > Z:=x^2+y^2;# DEFINA AQUI A FUNÇÃO QUE SERÁ ANALISADA

:= Z x2 y2

> plot3d(Z,x=-3..3,y=-3..3); # CONSTRUA O GRÁFICO DA FUNÇÃO

> Zx:=diff(Z,x);# CÁLCULO DA DERIVADA DE Z EM RELAÇÃO A VARIÁVEL x

:= Zx 2 x

> Zy:=diff(Z,y); # CÁLCULO DA DERIVADA DE Z EM RELAÇÃO A VARIÁVEL y

:= Zy 2 y

> solve({Zx=0,Zy=0},{x,y});# RESOLUÇÃO do SISTEMA COMPOSTO PELAS (derivadas de 1.a ordem)

{ },x 0 y 0

> Zxx:=diff(Zx,x);# CÁLCULO DA DERIVADA DE Zx EM RELAÇÃO A VARIÁVEL x

:= Zxx 2

> Zxy:=diff(Zx,y);# CÁLCULO DA DERIVADA DE Zx EM RELAÇÃO A VARIÁVEL Y

:= Zxy 0

> Zyx:=diff(Zy,x);# CÁLCULO DA DERIVADA DE Zy EM RELAÇÃO A VARIÁVEL x

:= Zyx 0

> Zyy:=diff(Zy,y);# CÁLCULO DA DERIVADA DE Zy EM RELAÇÃO A VARIÁVEL y

:= Zyy 2

> with(linalg):# ACIONANDO A CAIXA DE FERRAMENTAS DE ALGEBRA LINEAR

Warning, the protected names norm and trace have been redefined and unprotected

Page 66: Apostila MAPLE

66

> H:=matrix([[Zxx,Zxy],[Zyx,Zyy]]);# CONSTRUÇÃO DA MATRIZ HESSIANA (derivadas de 2.a ordem)

:= H

2 00 2

> Hessiano:=det(H);# CÁLCULO DO DETERMINANTE DA MATRIZ HESSIANA

:= Hessiano 4

> subs(x=0,y=0,Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

4

> subs(x=0,y=0,Zxx);# CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO

2

> subs(x=0,y=0,Z); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

0

> # VOLTE A PRIMEIRA LINHA DO PROGRAMA E SUBSTITUA A FUNÇÃO POR UMA OUTRA! > # NO MENU PRINCIPAL CLÍQUE EM <Edit> SELECIONE A OPÇÃO <Execute> E <Worksheet> > # SUBSTITUA OS NOVOS PONTOS CRÍTICOS ENCONTRADOS, CLASSIFICANDO-OS. RESPOSTA: Como Hessiano > 0 e Zxx > 0 => (0, 0) é ponto de mínimo e

f(0, 0) = 0.

2) 22 )2()1(),( yxyxf Entradas e saídas do programa (SCRIPT = ROTEIRO) > Z:=(x-1)^2+(y-2)^2;# DEFINA AQUI A FUNÇÃO QUE SERÁ ANALISADA

:= Z ( )x 1 2 ( )y 2 2

> plot3d(Z,x=-3..3,y=-3..3); # CONSTRUA O GRÁFICO DA FUNÇÃO

Page 67: Apostila MAPLE

67

> Zx:=diff(Z,x);# CÁLCULO DA DERIVADA DE Z EM RELAÇÃO A VARIÁVEL x

:= Zx 2 x 2 > Zy:=diff(Z,y); # CÁLCULO DA DERIVADA DE Z EM RELAÇÃO A VARIÁVEL y

:= Zy 2 y 4

> solve({Zx=0,Zy=0},{x,y});# RESOLUÇÃO DO SISTEMA COMPOSTO PELAS (derivadas de 1.a ordem)

{ },x 1 y 2 > Zxx:=diff(Zx,x);# CÁLCULO DA DERIVADA DE Zx EM RELAÇÃO A VARIÁVEL x

:= Zxx 2

> Zxy:=diff(Zx,y);# CÁLCULO DA DERIVADA DE Zx EM RELAÇÃO A VARIÁVEL Y := Zxy 0

> Zyx:=diff(Zy,x);# CÁLCULO DA DERIVADA DE Zy EM RELAÇÃO A VARIÁVEL x := Zyx 0

> Zyy:=diff(Zy,y);# CÁLCULO DA DERIVADA DE Zy EM RELAÇÃO A VARIÁVEL y := Zyy 2

> with(linalg):# ACIONANDO A CAIXA DE FERRAMENTAS DE ALGEBRA LINEAR > H:=matrix([[Zxx,Zxy],[Zyx,Zyy]]);# CONSTRUÇÃO DA MATRIZ HESSIANA (derivadas de 2.a ordem)

:= H

2 00 2

> Hessiano:=det(H);# CÁLCULO DO DETERMINANTE DA MATRIZ HESSIANA

:= Hessiano 4 > subs(x=1,y=2,Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

4 > subs(x=1,y=2,Zxx);# CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO

2 > subs(x=1,y=2,Z); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

0 > # VOLTE A PRIMEIRA LINHA DO PROGRAMA E SUBSTITUA A FUNÇÃO POR UMA OUTRA! > # NO MENU PRINCIPAL CLÍQUE EM <Edit> SELECIONE A OPÇÃO <Execute> E <Worksheet> > # SUBSTITUA OS NOVOS PONTOS CRÍTICOS ENCONTRADOS, CLASSIFICANDO-OS.

Agora classifique o ponto crítico encontrado! Resposta:

Como Hessiano > 0 e Zxx > 0 => (1,2) é ponto de mínimo e f(1,2) = 0.

Page 68: Apostila MAPLE

68

3) xxxyyxf 33),( 32

Entradas e saídas do programa (SCRIPT = ROTEIRO) > Z:=3*x*y^2+x^3-3*x;# DEFINA AQUI A FUNÇÃO QUE SERÁ ANALISADA

:= Z 3 x y2 x3 3 x > plot3d(Z,x=-3..3,y=-3..3); # CONSTRUA O GRÁFICO DA FUNÇÃO

> Zx:=diff(Z,x);# CÁLCULO DA DERIVADA DE Z EM RELAÇÃO A VARIÁVEL x

:= Zx 3 y2 3 x2 3 > Zy:=diff(Z,y); # CÁLCULO DA DERIVADA DE Z EM RELAÇÃO A VARIÁVEL y

:= Zy 6 x y

> solve({Zx=0,Zy=0},{x,y});# RESOLUÇÃO DO SISTEMA COMPOSTO PELAS (derivadas de 1.a ordem)

, , ,{ },y 0 x 1 { },y 0 x -1 { },y 1 x 0 { },y -1 x 0 > Zxx:=diff(Zx,x);# CÁLCULO DA DERIVADA DE Zx EM RELAÇÃO A VARIÁVEL x

:= Zxx 6 x

> Zxy:=diff(Zx,y);# CÁLCULO DA DERIVADA DE Zx EM RELAÇÃO A VARIÁVEL Y

:= Zxy 6 y > Zyx:=diff(Zy,x);# CÁLCULO DA DERIVADA DE Zy EM RELAÇÃO A VARIÁVEL x

:= Zyx 6 y

> Zyy:=diff(Zy,y);# CÁLCULO DA DERIVADA DE Zy EM RELAÇÃO A VARIÁVEL y

:= Zyy 6 x > with(linalg):# ACIONANDO A CAIXA DE FERRAMENTAS DE ALGEBRA LINEAR > H:=matrix([[Zxx,Zxy],[Zyx,Zyy]]);# CONSTRUÇÃO DA MATRIZ HESSIANA (derivadas de 2.a ordem)

:= H

6 x 6 y6 y 6 x

> Hessiano:=det(H);# CÁLCULO DO DETERMINANTE DA MATRIZ HESSIANA

:= Hessiano 36 x2 36 y2

> subs(x=1,y=0,Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

36

Page 69: Apostila MAPLE

69

> subs(x=1,y=0,Zxx);# CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO 6

> subs(x=1,y=0,Z); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

-2 > subs(x=-1,y=0,Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

36

> subs(x=-1,y=0,Zxx);# CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO

-6 > subs(x=-1,y=0,Z); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

2

> subs(x=0,y=1,Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

-36 > subs(x=0,y=1,Zxx); # CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO;

0

> subs(x=0,y=1,Z); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO 0

> subs(x=0,y=-1,Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

-36 > subs(x=0,y=-1,Zxx); # CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO;

0

> subs(x=0,y=-1,Z); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO 0

> # VOLTE A PRIMEIRA LINHA DO PROGRAMA E SUBSTITUA A FUNÇÃO POR UMA OUTRA! > # NO MENU PRINCIPAL CLÍQUE EM <Edit> SELECIONE A OPÇÃO <Execute> E <Worksheet> > # SUBSTITUA OS NOVOS PONTOS CRÍTICOS ENCONTRADOS, CLASSIFICANDO-OS. Agora classifique cada um dos pontos encontrados!

Resposta: Ponto crítico (1, 0): Como Hessiano > 0 e Zxx > 0 => (1, 0) é

ponto de mínimo e f(1, 0) = -2. Ponto crítico (-1, 0): Como Hessiano > 0 e Zxx < 0 => (-1, 0) é

ponto de máximo e f(-1, 0) = 2. Ponto crítico (0, 1): Como Hessiano < 0 => (0, 1) é ponto de sela

e f(0, 1) = 0. Ponto crítico (0, -1): Como Hessiano < 0 => (0, -1) é ponto de

sela e f(0, -1) = 0.

Page 70: Apostila MAPLE

70

4)

2

22

),(yx

exyyxf Entradas e saídas do programa (SCRIPT = ROTEIRO)

> Z:=x*y*exp(-(x^2+y^2)/2);# DEFINA AQUI A FUNÇÃO QUE SERÁ ANALISADA

:= Z x y e ( ) /1 2 x2 /1 2 y2

> plot3d(Z,x=-3..3,y=-3..3); # CONSTRUA O GRÁFICO DA FUNÇÃO

> Zx:=diff(Z,x);# CÁLCULO DA DERIVADA DE Z EM RELAÇÃO A VARIÁVEL x

:= Zx y e ( ) /1 2 x2 /1 2 y2x2 y e ( ) /1 2 x2 /1 2 y2

> Zy:=diff(Z,y); # CÁLCULO DA DERIVADA DE Z EM RELAÇÃO A VARIÁVEL y

:= Zy x e ( ) /1 2 x2 /1 2 y2x y2 e ( ) /1 2 x2 /1 2 y2

> solve({Zx=0,Zy=0},{x,y});# RESOLUÇÃO DO SISTEMA COMPOSTO PELAS (derivadas de 1.a ordem)

, , , ,{ },x 0 y 0 { },x 1 y 1 { },x 1 y -1 { },x -1 y 1 { },x -1 y -1

> Zxx:=diff(Zx,x);# CÁLCULO DA DERIVADA DE Zx EM RELAÇÃO A VARIÁVEL x

:= Zxx 3 x y e ( ) /1 2 x2 /1 2 y2x3 y e ( ) /1 2 x2 /1 2 y2

> Zxy:=diff(Zx,y);# CÁLCULO DA DERIVADA DE Zx EM RELAÇÃO A VARIÁVEL Y

:= Zxy e ( ) /1 2 x2 /1 2 y2y2 e ( ) /1 2 x2 /1 2 y2

x2 e ( ) /1 2 x2 /1 2 y2x2 y2 e ( ) /1 2 x2 /1 2 y2

> Zyx:=diff(Zy,x);# CÁLCULO DA DERIVADA DE Zy EM RELAÇÃO A VARIÁVEL x

:= Zyx e ( ) /1 2 x2 /1 2 y2y2 e ( ) /1 2 x2 /1 2 y2

x2 e ( ) /1 2 x2 /1 2 y2x2 y2 e ( ) /1 2 x2 /1 2 y2

> Zyy:=diff(Zy,y);# CÁLCULO DA DERIVADA DE Zy EM RELAÇÃO A VARIÁVEL y

:= Zyy 3 x y e ( ) /1 2 x2 /1 2 y2x y3 e ( ) /1 2 x2 /1 2 y2

> with(linalg):# ACIONANDO A CAIXA DE FERRAMENTAS DE ALGEBRA LINEAR

Page 71: Apostila MAPLE

71

> H:=matrix([[Zxx,Zxy],[Zyx,Zyy]]);# CONSTRUÇÃO DA MATRIZ HESSIANA (derivadas de 2.a ordem) H :=

3 x y e ( ) /1 2 x2 /1 2 y2x3 y e ( ) /1 2 x2 /1 2 y2

[ ,

e ( ) /1 2 x2 /1 2 y2y2 e ( ) /1 2 x2 /1 2 y2

x2 e ( ) /1 2 x2 /1 2 y2x2 y2 e ( ) /1 2 x2 /1 2 y2

]

e ( ) /1 2 x2 /1 2 y2y2 e ( ) /1 2 x2 /1 2 y2

x2 e ( ) /1 2 x2 /1 2 y2x2 y2 e ( ) /1 2 x2 /1 2 y2

[ ,

3 x y e ( ) /1 2 x2 /1 2 y2x y3 e ( ) /1 2 x2 /1 2 y2

]

> Hessiano:=det(H);# CÁLCULO DO DETERMINANTE DA MATRIZ HESSIANA

Hessiano 5 x2 y2 ( )e ( ) /1 2 x2 /1 2 y2 2

x2 y4 ( )e ( ) /1 2 x2 /1 2 y2 2

x4 y2 ( )e ( ) /1 2 x2 /1 2 y2 2

:=

( )e ( ) /1 2 x2 /1 2 y2 2

2 y2 ( )e ( ) /1 2 x2 /1 2 y2 2

2 x2 ( )e ( ) /1 2 x2 /1 2 y2 2

y4 ( )e ( ) /1 2 x2 /1 2 y2 2

x4 ( )e ( ) /1 2 x2 /1 2 y2 2

> subs(x=0,y=0,Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

( )e0 2

> subs(x=0,y=0,Zxx);# CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO

0

> subs(x=0,y=0,Z); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

0

> subs(x=1,y=1,Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

4 ( )e ( )-1 2

> subs(x=1,y=1,Zxx);# CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO

2 e ( )-1

> subs(x=1,y=1,Z); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

e ( )-1

> subs(x=1,y=-1,Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

4 ( )e ( )-1 2

> subs(x=1,y=-1,Zxx); # CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO;

2 e ( )-1

> subs(x=1,y=-1,Z); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

e ( )-1

> subs(x=-1,y=1,Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

4 ( )e ( )-1 2

> subs(x=-1,y=1,Zxx); # CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO;

2 e ( )-1

Page 72: Apostila MAPLE

72

> subs(x=-1,y=1,Z); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

e ( )-1

> subs(x=-1,y=-1,Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

4 ( )e ( )-1 2

> subs(x=-1,y=-1,Zxx); # CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO;

2 e( )-1

> subs(x=-1,y=-1,Z); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

e ( )-1

> # VOLTE A PRIMEIRA LINHA DO PROGRAMA E SUBSTITUA A FUNÇÃO POR UMA OUTRA! > # NO MENU PRINCIPAL CLÍQUE EM <Edit> SELECIONE A OPÇÃO <Execute> E <Worksheet> > # SUBSTITUA OS NOVOS PONTOS CRÍTICOS ENCONTRADOS, CLASSIFICANDO-OS.

Resposta: Ponto crítico (0, 0): Como Hessiano < 0 => (0, 0) é ponto de sela

e f(0, 0) = 0. Ponto crítico (1, -1): Como Hessiano > 0 e Zxx > 0 => (1, -1) é

ponto de mínimo e f(1, -1) = -e-1. Ponto crítico (-1, 1): Como Hessiano > 0 e Zxx > 0 => (-1, 1) é

ponto de mínimo e f(-1, 1) = -e-1. Ponto crítico (1, 1): Como Hessiano > 0 e Zxx < 0 => (1, 1) é

ponto de máximo e f(1, 1) = e-1 . Ponto crítico (-1, -1): Como Hessiano > 0 e Zxx < 0 => (-1, -1) é

ponto de máximo e f(-1, -1) = e-1 .

Page 73: Apostila MAPLE

73

LISTA DE EXERCÍCIOS PROPOSTOS PARA A REVISÃO DOS CONCEITOS Utilizando o software Maple V, determine (caso exista(m)) os

pontos críticos da função dada. A seguir classifique-os em: Ponto de máximo, ponto de mínimo ou ponto de sela. Determine também o valor funcional para cada ponto crítico.

1) 422),( 22 yxyxxyyxf

Resposta: Ponto crítico (-2, -2): Como Hessiano > 0 e Zxx < 0 => (-2, -2) é

ponto de máximo e f(-2, -2) = 8 .

2) xyyxyxf 493

),( 33

Resposta: Ponto crítico (4/3, 4/9): Como Hessiano > 0 e Zxx > 0 => (4/3,

4/9) é ponto de mínimo e f(4/3, 4/9) =-64/81. Ponto crítico (0, 0) Como Hessiano < 0 => (0 0) é ponto de sela e

f(0, 0) = 0. 3) )ln(2),( 2 yxxxyyxf

Resposta: Ponto crítico (1/2, 2): Como Hessiano > 0 e Zxx > 0 => (1/2, 2) é

ponto de mínimo e f(1/2, 2) = 2 – ln(1/2).

4) 22122 )2(),( yxeyxyxf

Resposta: Ponto crítico (0, 0): Como Hessiano > 0 e Zxx > 0 => (0, 0) é

ponto de mínimo e f(0, 0) = 0 . Ponto crítico (1, 0): Como Hessiano > 0 e Zxx < 0 => (1, 0) é

ponto de máximo e f(1, 0) = 2. Ponto crítico (-1, 0): Como Hessiano > 0 e Zxx < 0 => (-1, 0) é

ponto de máximo e f(-1, 0) = 2. Ponto crítico (0, 1): Como Hessiano < 0 => (0, 1) é ponto de sela

e f(0, 1) = 1. Ponto crítico (0, -1): Como Hessiano < 0 => (0, -1) é ponto de

sela e f(0, -1) = 1 . 5) yeyxf x cos),( 2 Resposta: Esta função não admite pontos extremos (pontos críticos). O

software Maple V não mostra a solução, pois a mesma não existe (apenas não avisa que a mesma não existe).

Page 74: Apostila MAPLE

74

6) yxyxyxf 324),( 42 Resposta:

Ponto crítico (2, 2): Como Hessiano > 0 e Zxx > 0 => (2, 2) é ponto de mínimo e f(2, 2) = -52 .

7) 533),( 22 yx

yxyxyxf

Resposta: Ponto crítico (1, 1): Como Hessiano > 0 e Zxx > 0 => (1, 1) é

ponto de mínimo e f(1, 1) = 14. 8) yxxyyxyxf 32),( 23

Resposta: Ponto crítico (1/2, 5/4): Como Hessiano > 0 e Zxx > 0 => (1/2,

5/4) é ponto de mínimo e f(1/2, 5/4) = -39/16. Ponto crítico (-1/3, 5/3): Como Hessiano < 0 => (-1/3, 5/3) é

ponto de sela e f(-1/3, 5/3) = -58/27. 9) yxyxyxf 6622),( 33

Resposta: Ponto crítico (1, 1): Como Hessiano > 0 e Zxx > 0 => (1, 1) é

ponto de mínimo e f(1, 1) = -8 . Ponto crítico (-1, -1): Como Hessiano > 0 e Zxx < 0 => (-1, -1) é

ponto de máximo e f(-1, -1) = 8. Ponto crítico (1, -1): Como Hessiano < 0 => (1, -1) é ponto de

sela e f(1, -1) = 0. Ponto crítico (-1, 1): Como Hessiano < 0 => (-1, 1) é ponto de

sela e f(-1, 1) = 0.

10) )(21),( 22 yxsenyxf

Resposta: Ponto crítico (0, 0): Como Hessiano > 0 e Zxx < 0 => (0, 0) é

ponto de máximo.

Page 75: Apostila MAPLE

75

11) INTRODUÇÃO À PROGRAMAÇÃO NO MAPLE O Maple possui linguagem de programação de alto nível, disponível on-line e compatível com os recursos de sua própria estrutura. Assim, é possível construir procedimentos nos quais o usuário tenha um interesse especial, e utilizar nessa construção todas as estruturas e funções do Maple, ou mesmo estendê-las ou modificá-las, de acordo com suas necessidades particulares. Procedimentos e estruturas modificadas podem ser inicializadas em um único pacote, e um conjunto de procedimentos pode ser inicializado em uma biblioteca. Procedimentos

No Maple os programas são feitos em forma de procedimentos. Um procedimento é na verdade uma função que transforma os argumentos inseridos em outros argumentos, conforme foi programado. A estrutura de um procedimento é a seguinte:

Nome_procedimento:=proc(argumentos) Local (variáveis locais); instruções a serem executadas; end;

Exemplos:

1) Usando o Maple, criar um procedimento em que fornecido um número x, o mesmo calcule o seu cubo. Solução: > cubo:=proc(x); > x^3; > end;

:= cubo proc( ) end procx ^x 3

> # Exemplos: > cubo(2);

8 > cubo(-2);

-8 > cubo(0);

0 > cubo(sqrt(2));

2 2 > cubo(I); -I 2) O termial de um número é bastante conhecido. Só não é comum o uso de um símbolo específico e

de um nome. De maneira semelhante ao fatorial, pode-se definir o termial de um número natural, representado por ?n , por:

123...)3()2()1(? nnnnn , para n maior ou igual a 2

Nota: Para mais detalhe consulte o Anexo I - O problema dos quatro quatros Usando o Maple, criar um procedimento em que fornecido um número n, o mesmo calcule o seu

termial. Solução: Começaremos com a definição de um procedimento bem simples: > termial:= proc(n)# Imitando a definição de fatorial, mas com soma em vez de produto. > sum(i, i=1..n);# “sum” soma uma seqüência numérica ou literal. > end;

:= termial proc ( ) end procn ( )sum ,i i .. 1 n

Page 76: Apostila MAPLE

76

Assim, colocando a instrução “sum(..)” entre os termos “proc(..)” e “end” nós a transformamos em um procedimento. Podemos agora chamar essa nova função:

> termial(1);

1 > termial(2);

3 > termial(10);

55 > termial(100);# Gauss conhecia esta soma!

5050

Podemos operar com essa função, como com outra qualquer função do Maple: > termial(n);

12 ( )n 1 2 1

2 n12

> factor(%);#Já conhecemos esta fórmula: Soma dos n elementos de uma PA! 12 n ( )n 1

A variável n utilizada na definição do procedimento “termial” chama-se parâmetro ou argumento. Em nossa definição não especificamos o tipo do argumento, de modo que podemos colocar qualquer tipo que seja aceito pelo comando “sum”.

Por exemplo: > termial(5/2); # 5/2 = 2.5 => 2 + 1 = 3

3 > termial(5.3); # 5.3 => 5 + 4 + 3 + 2 + 1 = 15

15 Se desejarmos restringir o tipo do argumento de entrada, podemos definir assim nosso

procedimento: > termial2 := proc(n::posint) # posint significa tipo inteiro positivo > sum(i, i=1..n); > end;

:= termial2 proc ( ) end proc::n posint ( )sum ,i i .. 1 n

Agora nosso procedimento só aceita argumento inteiro positivo. Se utilizarmos outro tipo de dado

numérico receberemos uma mensagem de erro. > termial2(5/2); Error, invalid input: termial2 expects its 1st argument, n, to be of type posint, but received 5/2

Page 77: Apostila MAPLE

77

Variáveis locais e globais As variáveis utilizadas na construção de um procedimento podem ser locais ou globais . Os valores das variáveis locais são reconhecidos pelo Maple apenas dentro do procedimento. Por outro lado, os valores das variáveis globais são reconhecidos pelo Maple também fora do procedimento. Se o procedimento não especifica o caráter da variável que está utilizando, o Maple decide sobre isso e avisa o usuário. Variáveis utilizadas normalmente na folha de trabalho, fora da definição de procedimentos, são sempre globais. Vejamos alguns exemplos. > a:= 5; # Definindo o valor da variável global “a”

:= a 5 > termial3:= proc(n) # Usando “a” como variável local > local a; > a:= sum(i, i=1..n); > a; > end;

:= termial3 proc ( ) end procn local ;a ; := a ( )sum ,i i .. 1 n a > termial3(3);

6 > a;

5 Vemos que, ao executar o procedimento, o valor da variável “a” passou a ser 6, mas isso ocorreu apenas localmente. Estudemos agora o seguinte exemplo: > termial4 := proc(n) # Usando “a” como variável global global a; a:= sum(i, i=1..n); a; end;

:= termial4 proc( ) end procn global ;a ; := a ( )sum ,i i .. 1 n a > termial4(3);

6 > a;

6 Vemos assim que o valor de “a” foi modificado pelo procedimento.

Page 78: Apostila MAPLE

78

Uma forma de definir uma função é por procedimento: Algumas aplicações ao dia a dia Sintaxe: Como sabemos, um procedimento tem a seguinte forma: Nome_procedimento:=proc(argumentos) Local (variáveis locais); instruções a serem executadas; end; Exemplos: 1) Usando o Maple, elabore um procedimento que determine o valor em reais a ser pago em relação ao

consumo de água, medido em m3, conta de água residencial – SANEPAR 2006 – para isso use os dados que constam no quadro a seguir:

Faixas de consumo (m3) Tarifa (R$)

até 10 16,35 (Mínimo) 11 a 30 2,35/ m3 (Excedente)

acima de 30 4,18/m3 (Excedente) Fonte: SANEPAR, 2006

Solução: > restart:# Reiniciar as variáveis > agua:=proc(x); if x<=10 then 16.35 elif x<=30 then 16.35+(x-10)*2.45 else 16.35+20*2.45+(x-30)*4.18 fi; end;

agua xproc( ) := x 10 16.35if thenx 30 8.15 2.45 xelif then 60.05 4.18 xelse

end if end proc > # Exemplos: > agua(0);

16.35 > agua(5);

16.35 > agua(10);

16.35 > agua(15);

28.60 > agua(20);

40.85 > agua(30);

65.35 > agua(50);

148.95

Page 79: Apostila MAPLE

79

2) Usando o Maple, elabore um procedimento que determine o valor a ser pago em relação ao saneamento básico (água e esgoto), medido em m3, conta de saneamento básico – SANEPAR 2006 – para isso use os dados do exemplo anterior e o fato de que o valor a ser pago em relação ao esgoto é de 80% do valor da água.

Solução: > restart: > saneamento:=proc(x); if x<=10 then (16.35)*1.80 else (16.35+(x-10)*2.45)*1.80 fi; end;

saneamento := proc( ) end procx if then else end ifx 10 29.4300 14.6700 4.4100 x

> saneamento(0); 29.4300

> saneamento(5); 29.4300

> saneamento(10); 29.4300

> saneamento(15); 51.4800

> saneamento(20); 73.5300

Exercício: 1) Usando o Maple, elabore um procedimento que determine o valor em reais a ser pago em relação ao

consumo de água, medido em m3, conta de água residencial – SABESP 2006 – para isso use os dados que constam no quadro a seguir:

Faixas de consumo (m3) Tarifa (R$)

até 10 11,19 (Mínimo) 11 a 20 1,56/ m3 (Excedente) 21 a 30 2,39/m3 (Excedente) 31 a 50 2,39/m3 (Excedente)

acima de 50 2,86/m3 (Excedente) Fonte: SANEPAR, 2006

Solução: Agora é com vocês! 2) Sobre o fatorial de um número natural, que indicamos por !n , sabemos que:

123...)3()2()1(! nnnnn , para n maior ou igual a 2 e: 0! = 1 e 1! = 1 Usando o Maple, criar um procedimento em que fornecido um número n, o mesmo calcule o seu

fatorial. Solução: Agora é com vocês! Sugestão: Use a função do Maple: “mul” cuja finalidade é multiplicar uma seqüência de valores Exemplo: > mul(i, i=1..5);

120

Page 80: Apostila MAPLE

80

3) Usando o Maple, criar um procedimento para determinar se um dado número é par ou ímpar. > par_impar:=proc(x) > if irem(x,2)=0 then # “irem” Resto da divisão inteira > print(x,`é par`) > else print(x,`é impar`) > fi > end;

par_impar xproc( ) := if then else end if( )irem ,x 2 0 ( )print ,x `é par` ( )print ,x `é impar`

end proc

> # Exemplos: > par_impar(-3);

,-3 é impar > par_impar(6);

,6 é par > par_impar(9);

,9 é impar > par_impar(2.4); Error, (in par_impar) wrong number (or type) of parameters in function irem > par_impar(123456789);

,192837465 é impar

4) Construa uma função definida por várias sentenças no Maple par a função:

2,321,210,1

0,0

)(

xsexsexse

xse

xF

Solução: > F:=x-> if x<0 then 0 elif x<1 then 1 elif x<2 then 2 else 3 fi;

F xproc( ) := option ;,operator arrow

if then elif then elif then else end ifx 0 0 x 1 1 x 2 2 3end proc

> plot(F,-2..4);

Page 81: Apostila MAPLE

81

5) Tabela do INSS > restart: > INSS:=SB-> if SB<=752.62 then (7.65/100)*SB elif SB>752.62 and SB<=780 then (8.65/100)*SB elif SB>780 and SB<=1254.36 then (9.00/100)*SB elif SB>1254.37 and SB<=2508.72 then (11.00/100)*SB else 275.95 fi; INSS SBproc( ) := option ;,operator arrow

SB 752.62 .07650000000 SBif then and 752.62 SB SB 780 .08650000000 SBelif then

and 780 SB SB 1254.36 .09000000000 SBelif then and 1254.37 SB SB 2508.72 .1100000000 SBelif then

275.95elseend if

end proc

> INSS(500); 38.25000000

> INSS(760); 65.74000000

> INSS(1000); 90.00000000

> INSS(1500); 165.0000000

> INSS(3000); 275.95

> plot(INSS,0..5000,title=`VARIAÇÃO DO INSS EM FUNÇÃO DO SALÁRIO BRUTO`,color=black);

Page 82: Apostila MAPLE

82

6) Construa um programa em que dado um número n, calcula o seu termial. > termial:= proc(n) #imitando a definição de fatorial, mas com soma em vez de produto > sum(i,i=1..n); > end;

:= termial proc( ) end procn ( )sum ,i i .. 1 n

> termial(1); 1

> termial(2); 3

> termial(10); 55

> termial(100);# Gaus conhecia esta soma 5050

> termial(n);

12 ( )n 1 2 1

2 n 12

> factor(%);#Já conhecemos esta fórmula: Soma dos elementos de uma PA!

12 n ( )n 1

Page 83: Apostila MAPLE

83

7) Criar um procedimento usando a função “for” calcule os 10 primeiros quadrados. > for j from 1 to 10 do > lprint (`O quadrado de` ,j,`é`, j^2); > od; `O quadrado de`, 1, `é`, 1 `O quadrado de`, 2, `é`, 4 `O quadrado de`, 3, `é`, 9 `O quadrado de`, 4, `é`, 16 `O quadrado de`, 5, `é`, 25 `O quadrado de`, 6, `é`, 36 `O quadrado de`, 7, `é`, 49 `O quadrado de`, 8, `é`, 64 `O quadrado de`, 9, `é`, 81 `O quadrado de`, 10, `é`, 100

Page 84: Apostila MAPLE

84

Num procedimento podem ser necessários comandos de repetição e iteração seleção Vamos falar rapidamente sobre eles. Certas situações exigem que uma instrução seja repetida várias vezes. Para isto utilizamos o comando "for". A utilização deste comando segue o esquema:

(for-do-od)

Por exemplo: for j from inicio by passo to fim do expressões dependentes de j od A sequencia "do-od" também funciona em outros comandos. Um outro comando especial para fazer recorrências é o "while" que em português significa enquanto. O esquema é o seguinte: while k satisfaz-condição do instruções envolendo k od Os comandos de seleção "if" ou desvio são utilizados para se executar uma instrução dentre as várias possíveis, condicionadas a uma proposição que pode ser falsa ou verdadeira. O esquema é o seguinte: if condição verdadeira then instruções a executar else outras instruções a executar fi Os comandos de saída de dados são "print"e o "lprint".

Page 85: Apostila MAPLE

85

MATRIZES USANDO O SOFTWARE MAPLE Após digitar a matriz, pressione <ENTER>. Selecione a Matriz digitada e clique com o botão direito do Mouse, abrirá a seguinte janela com as respectivas funções, selecione a desejada.

Page 86: Apostila MAPLE

86

0. INTRODUÇÃO AO PACOTE DE ÁLGEBRA LINEAR NO MAPLE Nesta seção introduziremos algumas das principais funções do pacote de Álgebra Linear linalg para as aplicações mais básicas: operações com matrizes, resolução de sistemas lineares, cálculo da inversa de uma matriz e cálculo do determinante de uma matriz. Sempre que iniciarmos um trabalho no software Maple, será de fundamental importância acionar o pacote de funções e operações específicas para o problema em questão. O comando

with(package): aciona o pacote de comandos e funções package do Maple. Em particular,utilizamos o pacote de Álgebra Linear:

with(linalg): 1. OPERAÇÕES COM MATRIZES a) Soma de matrizes e multiplicação de uma matriz por um escalar Com o comando:

matadd(A,B,a,b); executamos a combinação linear aA+bB de A e B, onde a e b são escalares reais. Dessa forma podemos: 1) Somar duas matrizes; 2) Multiplicar uma matriz por uma escalar; 3) Fazer qualquer combinação linear de duas matrizes. Exemplo 1: > with(linalg): A:=matrix([ [1,2],[3,4] ]); Warning, the protected names norm and trace have been redefined and unprotected

:= A

1 23 4

> B:=matrix([ [5,6],[7,8] ]);

:= B

5 67 8

Observação:Se queremos apenas somar as duas matrizes, basta omitir os escalares > S:=matadd(A,B);

:= S

6 810 12

Observação: S é a matriz A+B.

Page 87: Apostila MAPLE

87

Exemplo 2: Queremos agora multiplicar a matriz A pelo escalar 3: > A:=matrix([ [1,2],[3,4] ]);

:= A

1 23 4

Para tanto é necessário que um dos escalares seja zero, assim a outra matriz de entrada (pode ser qualquer matriz) não interfere no cálculo desejado. > M:=matadd(A,A,3,0);

:= M

3 69 12

Observação: A matriz M é a matriz A multiplicada pelo escalar 3. Exemplo 3: Para fazer a combinação linear de duas matrizes, é só usar todos os argumentos do comando. Por exemplo, para obter a combinação linear 5A - 8B: > A:=matrix([ [1,2],[3,4] ]);

:= A

1 23 4

> B:=matrix([ [5,6],[7,8] ]);

:= B

5 67 8

> C:=matadd(A,B,5,-8);

:= C

-35 -38-41 -44

b) Produto de matrizes O comando:

multiply(A,B,...); executa o produto das matrizes listadas, na ordem em que aparecem, desde que para isso, as matrizes escolhidas obedeçam às regras de multiplicação de matrizes (o número de colunas da primeira matriz a ser multiplicada deve ser igual ao número de linhas da segunda). Exemplo 4: > with(linalg): A:=matrix([ [1,2],[3,4] ]);

:= A

1 23 4

> B:=matrix([ [5,6],[7,8] ]);

:= B

5 67 8

Multiplicaremos A por B, obtendo uma matriz AB.

Page 88: Apostila MAPLE

88

> AB:=multiply(A,B);

:= AB

19 2243 50

Observação: Lembre-se que o produto de matrizes em geral não é comutativo: > BA:=multiply(B,A);

:= BA

23 3431 46

Agora multiplicaremos o produto AB por uma matriz C, obtendo a matriz ABC: > C:=matrix([ [9,10],[11,12] ]);

:= C

9 1011 12

> ABC:=multiply(AB,C);

:= ABC

413 454937 1030

Observação: Da mesma maneira, é possível calcular o produto ABC diretamente, sem antes ter calculado o produto AB: > ABC:=multiply(A,B,C);

:= ABC

413 454937 1030

c) Transposição de uma matriz O comando

transpose(A); calcula a matriz transposta de A. Exemplo 5: > A:=matrix([ [1,2,3],[4,5,6],[7,8,9] ]);

:= A

1 2 34 5 67 8 9

> AT:=transpose(A);

:= AT

1 4 72 5 83 6 9

Observação: As linhas de A são as colunas de AT, pois AT é a matriz transposta de A, e vice-versa.

Page 89: Apostila MAPLE

89

d) Potências de uma matriz O comando:

evalm(A^n); calcula a n-ésima potência de uma matriz A. Exemplo 6: > A:=matrix([ [1,2],[3,4] ]);

:= A

1 23 4

Para calcular A^10, ao invés de usarmos o comando multiply(A,A,A,...,A) e escrevermos 10 vezes a matriz A, fazemos simplesmente: > W:=evalm(A^10);

:= W

4783807 697205010458075 15241882

2. RESOLUÇÃO DE SISTEMAS LINEARES O comando: solve({equação 1, equação 2, ... , equação n},{x1, x2, ... , xm});

resolve o sistema de n equações e m variáveis x1, x2, ... , xm. Exemplo 1: Sistema com solução única (SISTEMA POSSÍVEL DETERMINADO - SPD). Dado o sistema

3262

6:

zyxzyx

zyxS

usamos o comando solve para determinar o valor das variáveis x, y e z : > restart: with(linalg): solve( {x+y+z=6, 2*x-y+z=3, x-y+2*z=3}, {x,y,z} ); Warning, the protected names norm and trace have been redefined and unprotected

{ }, ,z 95 y 12

5 x 95

Page 90: Apostila MAPLE

90

Exemplo 2: Sistema sem solução (SISTEMA IMPOSSÍVEL - SI). Dado o sistema

5086421543

1432:

zyxzyx

zyxS

Ao executarmos o comando solve > restart: with(linalg): solve( {x+2*y+3*z=14, 3*x+4*y+5*z=21, 4*x+6*y+8*z=50}, {x,y,z} ); Warning, the protected names norm and trace have been redefined and unprotected Observação: Neste caso, não obteremos resultado algum. Isso ocorrerá sempre que o sistema em questão for impossível, ou seja, não admite solução. Exemplo 3: Sistema com infinitas soluções (SISTEMA POSSÍVEL INDETERMINADO - SPI). Dado o sistema homogêneo (todos os termos independente são nulos)

187503321543

:zyxzyxzyx

S

> restart: with(linalg): solve( {3*x+4*y+5*z=1, 2*x+3*y+3*z=0, 5*x+7*y+8*z=1}, {x,y,z} ); Warning, the protected names norm and trace have been redefined and unprotected

{ }, ,y 13 x 1 z

13 x 1 x x

Observação:Verificamos que uma das variáveis (z, nesse caso) é tomada como parâmetro, daí temos infinitas soluções para esse sistema: para cada valor atribuído a z, obtemos uma solução diferente para o sistema.

Page 91: Apostila MAPLE

91

3. CÁLCULO DO DETERMINANTE E INVERSA DE UMA MATRIZ a) Determinante de uma Matriz O comando

det(A); calcula o determinante da matriz A. Exemplo: > restart: with(linalg): A:= matrix([ [6,1,8],[7,5,3],[2,9,4] ]); det(A);

:= A

6 1 87 5 32 9 4

360 Observação: Se a Matriz não for quadrada, será exibida uma mensagem de erro avisando que a mesma deve ser uma matriz quadrada. b) Inversa de uma Matriz Sempre que o determinante de uma matriz for diferente de zero, esta matriz possui uma inversa. Neste caso, o comando

inverse(A); calcula a matriz inversa de A. Exemplo 1: > restart: with(linalg): A:= matrix([ [6,1,8],[7,5,3],[2,9,4] ]); det(A); invA:=inverse(A);

:= A

6 1 87 5 32 9 4

360

:= invA

-7360

1790

-37360

-11180

145

19180

53360

-1390

23360

Page 92: Apostila MAPLE

92

Exemplo 2: > B:=matrix([ [1,2,3],[4,5,6],[7,8,9] ]); det(B); invB:= inverse(B);

:= B

1 2 34 5 67 8 9

0 Error, (in inverse) singular matrix Observação: Recebemos uma mensagem de erro esperada, já que como o determinante de B é 0, B não possui inversa. 4. INTERPRETAÇÃO GEOMÉTRICA DA SOLUÇÃO DE SISTEMAS LINEARES COM DUAS

EQUAÇÕES E DUAS INCÓGNITAS O comando:

solve({equação 1, equação 2},{x, y}); resolve o sistema de duas equações e duas variáveis x e y. Exemplo 1: Sistema com solução única (SISTEMA POSSÍVEL DETERMINADO - SPD). Dado o sistema

210

:yxyx

S

usamos o comando solve para determinar o valor das variáveis x e y: usamos o comando implicitplot para a construções do gráfico das funções que compõem o sistema linear. > restart: with(linalg): solve( {x+y=6, x-y=2}, {x,y} ); with(plots): implicitplot({x+y=6, x-y=2},x=-10..10,y=-10..10,title=`Sistema Linear - SPD`);

{ },y 2 x 4

Page 93: Apostila MAPLE

93

Observação: A solução do sistema linear, representa o ponto de intersecção das duas equações de retas que compõem o sistema. Exemplo 2: Sistema sem solução (SISTEMA IMPOSSÍVEL - SI). Dado o sistema

10226

:yx

yxS

usamos o comando solve para determinar o valor das variáveis x e y: usamos o comando implicitplot para a construções do gráfico das funções que compõem o sistema linear. > restart: with(linalg): solve( {x+y=6, 2*x+2*y=10}, {x,y} ); with(plots): implicitplot({x+y=6, 2*x+2*y=10},x=-10..10,y=-10..10,title=`Sistema Linear - SI`); Warning, the protected names norm and trace have been redefined and unprotected Warning, the name changecoords has been redefined

Observação: Neste caso, não obteremos resultado algum. Isso ocorrerá sempre que o sistema em questão for impossível, ou seja, não admite solução.Geometricamente, temos que as duas retas são paralelas e distintas, portanto não apresentam ponto de intersecção.

Page 94: Apostila MAPLE

94

Exemplo 3: Sistema com infinitas soluções (SISTEMA POSSÍVEL INDETERMINADO - SPI). Dado o sistema

12226

:yx

yxS

> restart: with(linalg): solve( {x+y=6, 2*x+2*y=12}, {x,y} ); with(plots): implicitplot({x+y=6, 2*x+2*y=12},x=-10..10,y=-10..10,title=`Sistema Linear - SPI`); Warning, the protected names norm and trace have been redefined and unprotected

{ },x y 6 y y Warning, the name changecoords has been redefined

Observação:Verificamos que uma das variáveis (y, nesse caso) é tomada como parâmetro, daí temos infinitas soluções para esse sistema: para cada valor atribuído a y, obtemos uma solução diferente para o sistema.Geometricamente, as duas retas são paralelas e coincidentes. Assim, todo ponto de uma reta é automaticamente ponto da outra, justificando o porque das infinitas soluções.

Page 95: Apostila MAPLE

95

5. LISTA DE EXERCÍCIOS PROPOSTOS PARA A REVISÃO DOS CONCEITOS 1) Usando o software Maple, resolva os seguintes Sistemas Lineares:

a)

3342312

:zyx

yxzx

S b)

332212

:yx

zyxzyx

S c)

023024

023:

zyxyx

zyxS

Solução: a) > restart: with(linalg): solve( {2*x+z=1, x+3*y=2, -x+4*y-3*z=3}, {x,y,z} ); Warning, the protected names norm and trace have been redefined and unprotected

{ }, ,x 1011 z -9

11 y 411

b) > restart: with(linalg): solve( {2*x-y+z=1, 2*x-y+z=2, x+3*y=3}, {x,y,z} ); Warning, the protected names norm and trace have been redefined and unprotected Observação: Neste caso, não obteremos resultado algum. Isso ocorrerá sempre que o sistema em questão for impossível, ou seja, não admite solução. c) > restart: with(linalg): solve( {3*x-y+2*z=0, 4*x+2*y=0, -x-3*y+2*z=0}, {x,y,z} ); Warning, the protected names norm and trace have been redefined and unprotected

{ }, ,x 12 y y y z 5

4 y

Observação:Verificamos que uma das variáveis (x, nesse caso) é tomada como parâmetro, daí temos infinitas soluções para esse sistema: para cada valor atribuído a x, obtemos uma solução diferente para o sistema. > # Tópicos 1, 2 e 3 => Adaptado de Reginaldo - UFMG

Page 96: Apostila MAPLE

96

EXEMPLO DE PROGRAMAS (ROTEIROS = SCRIPTS): 1) Elabore um programa em que dada uma função de uma variável, o mesmo determine: a) O gráfico da função dada; b) A derivada de primeira ordem, ou seja, a primeira derivada; c) O(s) ponto(s) crítico(s) da função; d) A derivada de segunda ordem, ou seja, a segunda derivada; e) A classificação do(s) ponto(s) crítico(s) da função usando o teste da segunda derivada. Solução:

OBSERVAÇÃO: fx: representa a 1.a derivada e fxx: representa a 2.a derivada > f:=x^3/3-6*x^2+35*x+70;# DEFINA AQUI A FUNÇÃO QUE SERÁ ANALISADA

:= f 13 x3 6 x2 35 x 70

> plot(f,x=4..10); # CONSTRUA O GRÁFICO DA FUNÇÃO (APÓS OS PONTOS CRÍTICOS REDEFINA O INTERVALO)

> fx:=diff(f,x);# CÁLCULO DA DERIVADA DE f EM RELAÇÃO A VARIÁVEL x (DERIVADA DE 1.a ORDEM)

:= fx x2 12 x 35

> critico:=solve({fx=0},{x});# RESOLUÇÃO DA EQUAÇÃO f'(x) = 0 := critico ,{ }x 7 { }x 5

> fxx:=diff(fx,x);# CÁLCULO DA DERIVADA DE SEGUNDA ORDEM := fxx 2 x 12

Page 97: Apostila MAPLE

97

> fxx_critico1:=subs(critico[1],fxx);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NA SEGUNDA DERIVADA

:= fxx_critico1 2

> f_critico1:=subs(critico[1],f);# AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

:= f_critico1406

3

> fxx_critico2:=subs(critico[2],fxx);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NA SEGUNDA DERIVADA

:= fxx_critico2 -2

> f_critico2:=subs(critico[2],f);# AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

:= f_critico2 4103

> ################################################################################ > ### FAÇAMOS AQUI A CLASSIFICAÇÃO DOS PONTOS CRÍTICOS ENCONTRADOS #### > ################################################################################ > if fxx_critico1 < 0 then print(critico[1],`ABSCISSA DO PONTO DE MÁXIMO`) elif fxx_critico1 > 0 then print(critico[1],`ABSCISSA DO PONTO DE MÍNIMO`) else print(critico[1],`NADA A CONCLUIR PELO TESTE DA DERIVADA SEGUNDA`) fi;

,{ }x 7 ABSCISSA DO PONTO DE MÍNIMO

> if fxx_critico2 < 0 then print(critico[2],`ABSCISSA DO PONTO DE MÁXIMO`) elif fxx_critico2 > 0 then print(critico[2],`ABSCISSA DO PONTO DE MÍNIMO`) else print(critico[2],`NADA A CONCLUIR PELO TESTE DA DERIVADA SEGUNDA`) fi;

,{ }x 5 ABSCISSA DO PONTO DE MÁXIMO

> # ------------------------ FIM DO PROGRAMA -----------------------------------# > # VOLTE A PRIMEIRA LINHA DO PROGRAMA E SUBSTITUA A FUNÇÃO POR UMA OUTRA! # > # NO MENU PRINCIPAL CLÍQUE EM <Edit> SELECIONE A OPÇÃO <Execute> E <Worksheet> # > # OBSERVE A CLASSIFICAÇÃO DOS PONTOS CRÍTICOS ENCONTRADOS. # > # ------------------------ FIM DO PROGRAMA -----------------------------------# >

Page 98: Apostila MAPLE

98

2) Elabore um programa em que dada uma função de duas variáveis, o mesmo determine: a) o gráfico da função dada; b) as derivada parciais de primeira ordem, ou seja, as primeiras derivadas; c) o(s) ponto(s) crítico(s) da função; d) as derivadas de segunda ordem, ou seja, a segundas derivadas; e) a classificação do(s) ponto(s) crítico(s) da função usando o teste da segunda derivada. Solução:

> f:=1/3*x^3+1/3*y^3-3/2*x^2-7/2*y^2+2*x+12*y+1000;# DEFINA AQUI A FUNÇÃO QUE SERÁ ANALISADA

:= f 13 x3 1

3 y3 32 x2 7

2 y2 2 x 12 y 1000

> plot3d(f,x=-3..3,y=-3..3,axes=framed); # CONSTRUA O GRÁFICO DA FUNÇÃO

> fx:=diff(f,x);# CALCULO DA DERIVADA DE f EM RELAÇÃO A VARIÁVEL x

:= fx x2 3 x 2

> fy:=diff(f,y); # CALCULO DA DERIVADA DE Z EM RELAÇÃO A VARIÁVEL y := fy y2 7 y 12

> critico:=solve({fx=0,fy=0},{x,y});# RESOLUÇÃO DO SISTEMA COMPOSTO PELAS (derivadas de 1.a ordem)

:= critico , , ,{ },y 3 x 1 { },x 1 y 4 { },y 3 x 2 { },x 2 y 4

Page 99: Apostila MAPLE

99

> fxx:=diff(fx,x);# CALCULO DA DERIVADA DE fx EM RELAÇÃO A VARIÁVEL x := fxx 2 x 3

> fxy:=diff(fx,y);# CALCULO DA DERIVADA DE fx EM RELAÇÃO A VARIÁVEL Y := fxy 0

> fyx:=diff(fy,x);# CALCULO DA DERIVADA DE fy EM RELAÇÃO A VARIÁVEL x := fyx 0

> fyy:=diff(fy,y);# CALCULO DA DERIVADA DE fy EM RELAÇÃO A VARIÁVEL y := fyy 2 y 7

> with(linalg):# ACIONANDO A CAIXA DE FERRAMENTAS DE ALGEBRA LINEAR > H:=matrix([[fxx,fxy],[fyx,fyy]]);# CONSTRUÇÃO DA MATRIZ HESSIANA (derivadas de 2.a ordem)

:= H

2 x 3 00 2 y 7

> Hessiano:=det(H);# CALCULO DO DETERMINANTE DA MATRIZ HESSIANA := Hessiano ( )2 x 3 ( )2 y 7

> H_critico1:=subs(critico[1],Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

:= H_critico1 1

> fxx_critico1:=subs(critico[1],fxx);# CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO

:= fxx_critico1 -1

> f_critico1:=subs(critico[1],f); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

:= f_critico1 30433

> H_critico1:=subs(critico[1],Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

:= H_critico1 1

> fxx_critico1:=subs(critico[1],fxx);# CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO

:= fxx_critico1 -1

> f_critico1:=subs(critico[1],f); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

:= f_critico1 30433

> H_critico2:=subs(critico[2],Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

:= H_critico2 -1

> fxx_critico2:=subs(critico[2],fxx);# CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO

:= fxx_critico2 -1

> f_critico2:=subs(critico[2],f); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

:= f_critico26085

6

> H_critico3:=subs(critico[3],Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

:= H_critico3 -1

> fxx_critico3:=subs(critico[3],fxx);# CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO

:= fxx_critico3 1

> f_critico3:=subs(critico[3],f); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO

Page 100: Apostila MAPLE

100

:= f_critico3 60856

> H_critico4:=subs(critico[4],Hessiano);# AVALIANDO O PONTO CRÍTICO ENCONTRADO NO HESSIANO

:= H_critico4 1

> fxx_critico4:=subs(critico[4],fxx);# CASO HESSIANO > 0, CLASSIFIQUE EM MÁXIMO OU MÍNIMO

:= fxx_critico4 1

> f_critico4:=subs(critico[4],f); # AVALIANDO A FUNÇÃO NO PONTO CRÍTICO ENCONTRADO := f_critico4 1014

> ################################################################################ > ### FAÇAMOS AQUI A CLASSIFICAÇÃO DOS PONTOS CRÍTICOS ENCONTRADOS ### > ################################################################################ > if H_critico1 < 0 then print(critico[1],`PONTO DE SELA`) elif H_critico1 > 0 and fxx_critico1 > 0 then print(critico[1],`PONTO DE MÍNIMO`) elif H_critico1 > 0 and fxx_critico1 < 0 then print(critico[1],`PONTO DE MÁXIMO`) else print(critico[1],`NADA A CONCLUIR PELO TESTE DA DERIVADA SEGUNDA`) fi;

,{ },y 3 x 1 PONTO DE MÁXIMO

> if H_critico2 < 0 then print(critico[2],`PONTO DE SELA`) elif H_critico2 > 0 and fxx_critico2 > 0 then print(critico[2],`PONTO DE MÍNIMO`) elif H_critico2 > 0 and fxx_critico2 < 0 then print(critico[2],`PONTO DE MÁXIMO`) else print(critico[2],`NADA A CONCLUIR PELO TESTE DA DERIVADA SEGUNDA`) fi;

,{ },x 1 y 4 PONTO DE SELA

> if H_critico3 < 0 then print(critico[3],`PONTO DE SELA`) elif H_critico3 > 0 and fxx_critico3 > 0 then print(critico[3],`PONTO DE MÍNIMO`) elif H_critico3 > 0 and fxx_critico3 < 0 then print(critico[3],`PONTO DE MÁXIMO`) else print(critico[3],`NADA A CONCLUIR PELO TESTE DA DERIVADA SEGUNDA`) fi;

,{ },y 3 x 2 PONTO DE SELA

> if H_critico4 < 0 then print(critico[4],`PONTO DE SELA`) elif H_critico4 > 0 and fxx_critico4 > 0 then print(critico[4],`PONTO DE MÍNIMO`) elif H_critico4 > 0 and fxx_critico4 < 0 then print(critico[4],`PONTO DE MÁXIMO`) else print(critico[4],`NADA A CONCLUIR PELO TESTE DA DERIVADA SEGUNDA`) fi;

,{ },x 2 y 4 PONTO DE MÍNIMO

> # ------------------------ FIM DO PROGRAMA -----------------------------------# > # VOLTE A PRIMEIRA LINHA DO PROGRAMA E SUBSTITUA A FUNÇÃO POR UMA OUTRA! # > # NO MENU PRINCIPAL CLÍQUE EM <Edit> SELECIONE A OPÇÃO <Execute> E <Worksheet> # > # OBSERVE A CLASSIFICAÇÃO DOS PONTOS CRÍTICOS ENCONTRADOS. # > # ------------------------ FIM DO PROGRAMA -----------------------------------#

Page 101: Apostila MAPLE

101

EQUAÇÕES DIFERENCIAIS ORDINÁRIAS (EDO) VIA MAPLE

O comando básico do Maple para resolver equações diferenciais ordinárias é o "dsolve". A sintaxe do dsolve é: dsolve("oque", "como"); O "oque" refere-se a EDO (ou sistema de edo's) junto com condições iniciais. O "como" especifica qual rotina do Maple vai ser utilizada. É útil dar nomes a todas as equações e condições iniciais quando usamos o dsolve. Consulte o help para saber sobre EDP. Tecle ???pdsolve; Exemplos: Para aprender a usar o help: entre com o comando with(DEtools); > eq:=diff(y(x),x)=x*y(x);

:= eq x ( )y x x ( )y x

> inic:=y(2)=1; := inic ( )y 2 1

Agora, eq é o nome da edo que queremos resolver e init é o nome das condições iniciais. É importante usar y(x) -- isto indica que tomamos y como uma variável dependente e x como variável independente. Para resolver sem a condição inicial, isto é determinar a solução geral, usamos `dsolve` > dsolve(eq,y(x));

( )y x _C1 e( )/1 2 x2

Note que _C1 é a constante arbitraria produzida pelo Maple. Para resolver o Problema de Valor Inicial (PVI) devemos agrupar a EDO junto com a condição inicial entre chaves. > dsolve({eq,inic},y(x));

( )y x e( )/1 2 x2

e 2

Às vezes Maple apresenta uma resposta implícita, assim é comum pedir que o Maple explicite a resposta em função da variável dependente. Exemplo: > dsolve(diff(y(x),x)=y(x)^2, y(x));

( )y x 1

x _C1

Page 102: Apostila MAPLE

102

Usamos o comando explicit como opção em dsolve: > dsolve(diff(y(x),x)=y(x)^2, y(x),explicit);

( )y x 1

x _C1

> dsolve(diff(y(x),x)=y(x)^2, y(x), explicit); Assim é melhor!!! (SERÁ QUE AINDA EXISTE ESTA NECISSIDADE DA VERSÃO 4?) USO MAIS AVANÇADO DE DSOLVE: Existem 4 maneiras de usar o dsolve para situações além das edos de primeira ordem e pvi simples. 1. Equações de ordem superior 2. Sistemas de EDO's 3. Soluções numericas 4. Usando séries de potências para obter soluções de edo's 1. Equações de ordem superior : edo's de ordem 2 ou superior podem ser resolvidas usando o dsolve. As derivadas de ordem superior são escritas como no exemplo. > diff(f(x),x$3); Uma EDO de ordem 2: > eqn2:=diff(y(x),x$2)+3*diff(y(x),x)+2*y(x)=exp(x); A solução geral é: > dsolve(eqn2,y(x)); Para este problema vamos especificar condições de y em x=1: > inits:=y(1)=2, D(y)(1)=4; > dsolve({eqn2,inits},y(x)); 2. Sistemas de EDO's: Vamos ver um exemplo. > eqns:=diff(y(x),x)+diff(z(x),x)=x, diff(y(x),x)-2*diff(z(x),x)=x^2; > inits:= y(0)=1, z(0)=2; > dsolve({eqns,inits},{y(x),z(x)}); > restart:# vamos zerar a memoria do maple 3. Soluções Numéricas: Em geral é impossivel obter explicitamente a soluçao de uma EDO, neste caso usamos um método numérico para aproximar a solução. O Maple faz isto, basta usar a opcao numeric em dsolve, como no exemplo: > eqn:=diff(y(x),x)+exp(y(x))*x^3=2*sin(x); init:=y(0)=2; > F:=dsolve({eqn,init},y(x),numeric); O valor de F em x=2 é

Page 103: Apostila MAPLE

103

> F(2); Em geral é util plotar numericamente a solução obtida de uma EDO. Para fazer isto usamos o comando odeplot ao resultado (F neste caso) de dsolve(....,numeric). Para usar odeplot precisamos de "chamar" o plots. > with(plots,odeplot); Para plotar a solucao usamos a sintaxe. > odeplot(F,[x,y(x)],-2..2); 4. Usando series de potências. Exemplo: resolver y'+x*y=0, y(0)=1 por series . > dsolve({diff(y(x),x)+x*y(x)=0, y(0)=1},y(x), series); Se você quer mais termos, peça mais. > Order:=14: dsolve({diff(y(x),x)+x*y(x)=0, y(0)=1},y(x), series);

Um pouco de EDP > restart: > ?pdsolve; #ver o help > with(PDEtools); > PDE := x^2*diff(f(x,y),y)-y^2*diff(f(x,y),x) = 0; > sol:=pdsolve(PDE); > pdetest(sol,PDE);### vamos testar?? > eqp:=diff(f(x,y),y)+3*diff(f(x,y),x)+2*f(x,y)=1; A solução geral é: > sol2:=pdsolve(eqp,f(x,y)); > pdetest(sol2,eqp);

Page 104: Apostila MAPLE

104

TRANSFORMADA DE LAPLACE VIA MAPLE

Cálculo Diferencial e Integral: um KIT de sobrevivência This woksheet is in Portuguese language.

Prof. Doherty Andrade - UEM

Nota: Nesta woksheet está todo o material visto em aula sobre transformada de Laplace. 1.1. TEOREMAS Teorema (Existência da Transformada de Laplace) Se )(tf é de ordem exponencial, então sua transformada de Laplace )()( sFtLf é dada por:

0

)()()( dtetfsF st

A integral definindo )(sF existe nos pontos .st Teorema (Linearidade da Transformada de Laplace ) Sejam )(tf e )(tg tendo transformada de Laplace dadas por )(sF e )(sG , respectivamente. Se a e b são constantes, então:

).()())()((( sGbsaFtgbtfaL Teorema (Unicidade da Transformada de Laplace) Sejam )(tf e )(tg tendo Transformada de Laplace dadas por )(sF e )(sG , respectivamente. Se

)()( sGsF então: ).()( tgtf

1.2. USANDO O MAPLE NA TRANSFORMADA DE LAPLACE Para trabalhar com a Transformada de Laplace no Maple, você precisa carregar os procedimentos “Laplace transform”. Faça isto com o commando (seguido de dois pontos ou ponto e virgule): > with(inttrans): > with(inttrans);

addtable fourier fouriercos fouriersin hankel hilbert invfourier invhilbert, , , , , , , ,[invlaplace invmellin laplace mellin savetable, , , , ]

Page 105: Apostila MAPLE

105

Exemplos:

1) Determine a transformada de Laplace da função degrau unitário:

ctse

ctsetf

,00,1

)(

> c:='c': f:='f': F:='F': g:='g': s:='s': t:='t': T:='T': f0 := t -> 1: g := t -> subs(T=t, int(f0(T)*exp(-s*T),T)): F := t -> subs(T=t, int(f0(T)*exp(-s*T),T=0..c)): `For 0 <= t <= c, f(t) ` = f0(t); Int(f(t)*exp(-s*t),t) = g(t); `F(s) = `, Int(f(t)*exp(-s*t),t=0..c) = F(s); `F(s) ` = simplify(F(s));

For 0 <= t <= c, f(t) 1

d ( )f t e ( )s t t

e ( )s t

s

,F(s) = d

0

c

( )f t e( )s t

t e ( )s c 1

s

F(s) e ( )s c 1

s

Veja o gráfico de f. > f:=x -> piecewise(x>0,1); #tomei c=0 aqui

:= f x ( )piecewise ,0 x 1

> with(plots): > plot(f(x),x=-2..4,y=0..2);

Page 106: Apostila MAPLE

106

2) Determine a transformada de Laplace de .)( )( taetf > a:='a': f:='f': F:='F': g:='g': s:='s': t:='t': T:='T': f0 := t -> exp(a*t): `f(t) ` = f0(t); g := proc(t,S) simplify(subs(T=t,int(f0(T)*exp(-S*T),T))) end: Int(f(t)*exp(-s*t),t) = g(t,s); `F(s) ` = subs(T=t, int(f0(T)*exp(-s*T),T=0..infinity)); `F(s) ` = simplify(g(infinity,s) - g(0,s)); F := s -> - subs(S=s, g(0,S)): `F(s) ` = F(s);

f(t) e ( )a t

d ( )f t e ( )s t t

e ( )t ( )a s

a s

F(s) limt

e ( )a t s t 1a s

F(s) e ( ) ( )a s 1

a s

F(s) 1a s

> `f(t) ` = exp(a*t); `F(s) ` = laplace(exp(a*t), t, s);

f(t) e ( )a t

F(s) 1 a s

Page 107: Apostila MAPLE

107

3) Determine a transformada de Laplace de )(sinh)( tatf .

Como 2

)(sinh)()()( tata eetatf

, usamos que:

( )L1 e ( )a t 1s a e ( )L2 e ( )a t 1

s a .

> L:='L': `f(t) ` = sinh(a*t); `f(t) ` = (exp(a*t)-exp(-a*t))/2; L1 :=laplace( exp(a*t), t, s): L2 :=laplace(exp(-a*t), t, s): L(exp(a*t)) = L1; L(exp(-a*t)) = L2; ` `; `F(s) ` = (L(exp(a*t)) - L(exp(-a*t)))/2; `F(s) ` = (L1 - L2)/2; `F(s) ` = simplify((L1 - L2)/2);

f(t) ( )sinh a t

f(t) 12 e ( )a t 1

2 e ( )a t

( )L e ( )a t 1 a s

( )L e ( )a t 1s a

F(s) 12 ( )L e

( )a t 12 ( )L e

( )a t

F(s) 12

1 a s

12

1s a

F(s) aa2 s2

Podemos verificar este resultado usando as rotinas do Maple: > `f(t) ` = sinh(a*t); `F(s) ` = laplace(sinh(a*t), t, s);

f(t) ( )sinh a t

F(s) as2 a2

Page 108: Apostila MAPLE

108

4) Determine a transformada de Laplace de .)( ttf > a:='a': f:='f': F:='F': g:='g': s:='s': t:='t': T:='T': f0 := t -> t: `f(t) ` = f0(t); g := proc(t,S) simplify(subs(T=t,int(f0(T)*exp(-S*T),T))) end: Int(f(t)*exp(-s*t),t) = g(t,s); `F(s) ` = subs(T=t, int(f0(T)*exp(-s*T),T=0..infinity)); `F(s) ` = simplify(g(infinity,s) - g(0,s)); F := s -> - subs(S=s, g(0,S)): `F(s) ` = F(s);

f(t) t

d ( )f t e ( )s t t

e ( )s t ( )s t 1s2

Definite integration: Can't determine if the integral is convergent. Need to know the sign of --> s Will now try indefinite integration and then take limits.

F(s) limt

s t e ( )s t e ( )s t 1s2

F(s) s e ( )s e ( )s 1s2

F(s) 1s2

Podemos verificar este resultado usando as rotinas do pacote Transformada de Laplace: > `f(t) ` = t; `F(s) ` = laplace(t, t, s);

f(t) t

F(s) 1s2

Page 109: Apostila MAPLE

109

5) Determine a transformada de Laplace de ).(cos)( tbtf > a:='a': f:='f': F:='F': g:='g': s:='s': t:='t': T:='T': f0 := t -> cos(b*t): `f(t) ` = f0(t); g := proc(t,S) simplify(subs(T=t,int(f0(T)*exp(-S*T),T))) end: Int(f(t)*exp(-s*t),t) = g(t,s); `F(s) ` = subs(T=t, int(f0(T)*exp(-s*T),T=0..infinity)); `F(s) ` = simplify(g(infinity,s) - g(0,s)); F := s -> - subs(S=s, g(0,S)): `F(s) ` = F(s);

f(t) ( )cos b t

d ( )f t e ( )s t t

e ( )s t ( ) s ( )cos b t b ( )sin b ts2 b2

F(s) limt

s e ( )s t ( )cos b t b e ( )s t ( )sin b t ss2 b2

F(s) s e ( )s ( )cos b b e ( )s ( )sin b s

s2 b2

F(s) ss2 b2

Verfique este resultado usando as rotinas do Maple: > `f(t) ` = cos(b*t); `F(s) ` = laplace(cos(b*t), t, s);

f(t) ( )cos b t

F(s) ss2 b2

Page 110: Apostila MAPLE

110

6) Determine a transformada inversa de .963)( 2

sssF

> f:='f': F:='F': s:='s': t:='t': F0 := s -> (3*s + 6)/(s^2 + 9): `F(s) ` = F0(s); `F(s) ` = expand(F0(s));

F(s) 3 s 6s2 9

F(s) 3 ss2 9

6s2 9

A transformada )(sF é uma combinação linear. > F1 := s/(s^2 + 9): F2 := 3/(s^2 + 9): F[1](s) = F1; F[2](s) = F2; `F(s) = `, 3*F[1](s) + 2*F[2](s) = 3*F1 + 2*F2;

( )F1 s ss2 9

( )F2 s 31s2 9

,F(s) = 3 ( )F1 s 2 ( )F2 s 3 ss2 9

6s2 9

A inversa de )(1 sF é )3(cos t e a inversa de )(2 sF é ).3( tsen > f1 := invlaplace(F1, s, t): f2 := invlaplace(F2, s, t): f[1](t) , ` = L^-1 (F1(s)) ` = f1; f[2](t) , ` = L^-1 (F2(s)) ` = f2;

,( )f1 t = L^-1 (F1(s)) ( )cos 3 t

,( )f2 t = L^-1 (F2(s)) ( )sin 3 t

Portanto ( )f t = 3 ( )f1 t 2 ( )f2 t = 3 ( )cos 3 t 2 ( )sin 3 t . > `f(t) = `, 3*f[1](t) + 2*f[2](t) = 3*f1 + 2*f2;

,f(t) = 3 ( )f1 t 2 ( )f2 t 3 ( )cos 3 t 2 ( )sin 3 t

Podemos verificar isto usando os procedimentos do Maple: > `F(s) ` = (3*s + 6)/(s^2 + 9); `f(t) ` = invlaplace((3*s + 6)/(s^2 + 9), s, t);

F(s) 3 s 6s2 9

f(t) 3 ( )cos 3 t 2 ( )sin 3 t

Page 111: Apostila MAPLE

111

ED0 - TRANSFORMADA DE LAPLACE O Maple tem um comando para calcular a transformada de Laplace e a sua inversa. Eles são fáceis de usar, embora seus resultados precisem ser manipulados. A forma dos comandos é:

laplace(funcao,var1,var2) ou invlaplace(funcao,var2,var1) onde funcao é a função a ser transformada, var1 é o nome da variável no espaço real que está sendo transformada e var2 é o nome da variavel no espaço da transformada de Laplace. Note que as variáveis trocam de lugar em invlaplace. Exemplo: > restart: > with(inttrans): > f:=laplace(sin(2*t),t,s);

:= f 2s2 4

> invlaplace(f,s,t); ( )sin 2 t

Lembra da função de Heaviside (degrau)? Ela tem a transformada de Laplace bem conhecida: > plot(Heaviside(x-1),x=0..5);

> laplace(Heaviside(x-1),x,s);

e( )s

s

Maple pode trabalhar operacionalmente com funções desconhecidas: > laplace(diff(y(x),x),x,s);

s ( )laplace , ,( )y x x s ( )y 0

Isto é util para resolver EDO's. O comando "isolate" é útil e deve ser lida da biblioteca: > eqn:=diff(y(x),x)-3*y(x)=exp(2*x);

:= eqn

x ( )y x 3 ( )y x e

( )2 x

Page 112: Apostila MAPLE

112

> laplace(eqn,x,s);

s ( )laplace , ,( )y x x s ( )y 0 3 ( )laplace , ,( )y x x s 1s 2

> solve(laplace(eqn,x,s),laplace(y(x),x,s)); ( )y 0 s 2 ( )y 0 1 s2 5 s 6

> invlaplace(",s,x); e ( )2 x e ( )3 x ( )y 0 e ( )3 x

Agora podermos substituir a condiçao inicial se temos uma. > subs(y(0)=15, ");

e ( )2 x 16 e ( )3 x

Podemos tambem trabalhar com sistemas de EDO's: > restart; > with(inttrans): > eqn1:=diff(x1(t),t$2)+10*x1(t)-4*x2(t)=0;

:= eqn1

2

t2 ( )x1 t 10 ( )x1 t 4 ( )x2 t 0

> eqn2:=diff(x2(t),t$2)-4*x1(t)+4*x2(t)=0;

:= eqn2

2

t2 ( )x2 t 4 ( )x1 t 4 ( )x2 t 0

> E1:=laplace(eqn1,t,s); E1 s ( )s ( )laplace , ,( )x1 t t s ( )x1 0 ( )( )D x1 0 10 ( )laplace , ,( )x1 t t s :=

4 ( )laplace , ,( )x2 t t s 0

> E2:=laplace(eqn2,t,s); E2 s ( )s ( )laplace , ,( )x2 t t s ( )x2 0 ( )( )D x2 0 4 ( )laplace , ,( )x1 t t s :=

4 ( )laplace , ,( )x2 t t s 0

> solve({E1,E2},{laplace(x1(t),t,s),laplace(x2(t),t,s)}); ( )laplace , ,( )x1 t t s {

s3 ( )x1 0 s2 ( )( )D x1 0 4 s ( )x2 0 4 ( )( )D x2 0 4 s ( )x1 0 4 ( )( )D x1 0 s4 14 s2 24

,

( )laplace , ,( )x2 t t s s3 ( )x2 0 s2 ( )( )D x2 0 4 s ( )x1 0 4 ( )( )D x1 0 10 s ( )x2 0 10 ( )( )D x2 0

s4 14 s2 24}

Page 113: Apostila MAPLE

113

> invlaplace(",s,t);

( )x2 t 25 ( )x1 0 ( )cos 2 t 4

5 ( )x2 0 ( )cos 2 t 15 2 ( )( )D x1 0 ( )sin 2 t {

25 2 ( )( )D x2 0 ( )sin 2 t

15 ( )x2 0 ( )cos 2 3 t

25 ( )x1 0 ( )cos 2 3 t

130 3 ( )( )D x2 0 ( )sin 2 3 t 1

15 3 ( )( )D x1 0 ( )sin 2 3 t ( )x1 t ,

25 ( )x2 0 ( )cos 2 t

15 ( )x1 0 ( )cos 2 t

15 2 ( )( )D x2 0 ( )sin 2 t

110 2 ( )( )D x1 0 ( )sin 2 t

25 ( )x2 0 ( )cos 2 3 t

45 ( )x1 0 ( )cos 2 3 t

115 3 ( )( )D x2 0 ( )sin 2 3 t

215 3 ( )( )D x1 0 ( )sin 2 3 t }

Isto é muito legal! A resposta é hard, porque nós não entramos com dados iniciais.Vamos fazer isto agora: > subs(x1(0)=0,D(x1)(0)=1,x2(0)=0,D(x2)(0)=-1,");

( )x2 t 15 2 ( )sin 2 t 1

10 3 ( )sin 2 3 t ,{

( )x1 t 1

10 2 ( )sin 2 t15 3 ( )sin 2 3 t }

> E esta é a solução.

Page 114: Apostila MAPLE

114

UM EXEMPLO COM UM PROGRAMA DE COMPUTAÇÃO ALGÉBRICA

Na figura abaixo temos um exemplo de utilização do Maple 7, lançado em meados de 2001. Nela podemos ver o calculo de uma integral, o gigantesco valor exato do fatorial de 50, a fatoração de um polinômio de grau 11 e uma derivada oitava da função tg (x + y). Cada um desses trabalhosos cálculos não leva mais do que 1 segundo para ser concluído em um computador que não seja muito ultrapassado.

COMPUTAÇÃO ALGÉBRICA NO BRASIL

No Brasil, a Computação Algébrica vem sendo utilizada desde o final da década de 80. Por volta de 1988 a Sociedade Brasileira de Matemática distribuiu uma nota aos seus associados comentando sobre a importância em se utilizar esse tipo de recurso computacional. No Centro Brasileiro de Pesquisas Físicas, no Rio de Janeiro, no período de 24 de julho a 11 de agosto de 1989 foi realizada a I Escola Brasileira de Computação Algébrica. Seu objetivo era a formação de pessoal nessa área. Para isso, foram convidados 8 professores de universidades da Europa e dos Estados Unidos para ministrarem palestras e minicursos. Há quase dez anos que universidades como a UNICAMP vem mantendo regularmente disciplinas específicas de Computação Algébrica.

Page 115: Apostila MAPLE

115

COMPUTAÇÃO ALGÉBRICA NA UFPB

Desde 1988 que se usa algum programa de Computação Algébrica na UFPB. O primeiro a chegar por lá foi o REDUCE. Inicialmente disponível no antigo computador IBM central, depois distribuído em versões para computadores pessoais. Era utilizado por professores do Departamento de Matemática e do Departamento de Física. Em 1991 o DERIVE foi bastante divulgado na UFPB. Era um programa minúsculo, ocupava apenas uns 200 Kbytes mas construía gráficos e resolvia muitos problemas de Cálculo e Álgebra com grande eficiência. Hoje, ele está incorporado às modernas calculadoras da Texas Instruments. Com a reformulação curricular que está ocorrendo em vários cursos, espera-se que a Computação Algébrica se faça presente em várias disciplinas, seguindo uma tendência mundial. Decididamente, é um recurso que veio para ficar.

COMPUTAÇÃO ALGÉBRICA NA INTERNET

Existem dezenas de páginas na Internet sobre Computação Algébrica. Vamos citar aqui apenas a www.SymbolicNet.org. Trata-se do Symbolic Mathematical Computation Information Center que é excelente e tem conexões para cerca de 30 diferentes sistemas.

Lenimar Nunes de Andrade - UFPB – CCEN – Departamento de Matemática Professor Adjunto do Departamento de Matemática - UFPB e-mail: [email protected] http://mat.ufpb.br/»lenimar/maple.htm

Page 116: Apostila MAPLE

116

USANDO O MAPLE COMO UMA LINGUAGEM DE PROGRAMAÇÃO A declaração condicional Em muitas situações precisamos decidir: - se um determinado comando vai ser executado ou não; - escolher um entre vários comandos para ser executado. Para isso, o Maple possui a declaração condicional if O comando if A forma mais simplificada de usar o comando if é: if condição then comando end if; onde condição é uma expressão lógica que deve ser avaliada em verdadeira ou falsa (true ou false) e o comando (ou grupo de comandos) escrito depois da palavra then e antes de end if será executado somente se a condição for verdadeira. Uma forma mais completa da declaração condicional if é: if condicao then comando1 else comando2 end if; A forma mais completa do if é a mostrada a seguir, onde pode aparecer uma condição1 e uma ou várias outras condições condição2, condição3, . . . , condiçãoN. if condição1 then comando1 elif condição2 then comando2 elif condição3 then comando3 . . . else comandoN end if; Se condição1 for verdadeira, então é executado o comando1 e o if encerra. Senão, é verificada a condição2 e, se ela for verdadeira, é executado o comando2 e o if encerra. E assim todas as condições vão sendo testadas até chegar em uma condição verdadeira. Se todas as condições testadas forem falsas então será executado o comando que estiver depois do else, se esse comando tiver sido definido. Notas: A expressão lógica do if pode ser composta de várias condições ligadas por operadores lógicos

como and, or ou not. O que determina se os comandos “dentro” do if vão ser mostrados na sua execução ou não é a

utilização de um ponto e vırgula ou dois pontos depois do end if. Podemos ter if “dentro” de outro if. Exemplos: 1) No if mostrado a seguir, temos y := x se x 0 e y := -x se x < 0. > x := -5: > if x >= 0 then y := x else y := -x end if;

:= y 5

Page 117: Apostila MAPLE

117

2) O if a seguir testa se um inteiro n dado é divisível por 2, 3, 5 ou 7. Se for, é mostrada uma mensagem específica e o quociente Q da divisão. A função frac(x) calcula a parte fracionária de x.

> n:= 35: # inteiro dado > > if frac(n/2) = 0 then > print(`É divisível por 2`); Q := n/2; > elif frac(n/3) = 0 then > print(`É divisível por 3`); Q := n/3; > elif frac(n/5) = 0 then > print(`É divisível por 5`); Q := n/5; > elif frac(n/7) = 0 then > print(`É divisível por 7`); Q := n/7; > else > print(`Não é divisível por 2, nem por 3, nem por 5 e nem por 7`) > end if;

É divisível por 5 := Q 7

Observação: Note que a estrutura condicional acima detecta apenas que n é divisível por 5. O fato dele também ser divisível por 7 foi ignorado. Exemplo: Uso comum do FOR, IF e WHILE 1) Listar todos os n inteiros primos que satisfaçam n < 2000: > for i from 1 > while i < 2000 do > if isprime(i) then print(i) end if > end do;

2 3 5

1997 1999

2) Listar todos os n inteiros primos que satisfaçam 17 n < 2000: > for i from 17 by 2 > while i < 2000 do > if isprime(i) then print(i) end if > end do;

17 19

1999

Page 118: Apostila MAPLE

118

Uma listagem de uma pequena parte deles está mostrada a seguir. Para uma listagem completa consulte a documentação on line digitando ?type.

TIPO BÁSICO BREVE DESCRIÇÃO: EXEMPLO integer Inteiro; 0 posint Inteiro positivo; 3 negint Inteiro negativo; -3 odd Inteiro ímpar; 5 even Inteiro par; 4 float Número real (ponto flutuante); 3:14159 complex a+b* I, onde a e b são do tipo realcons; 5+4*I fraction Fração p=q com p e q inteiros; 2=3 rational Fração ou inteiro; 5 numeric Numérico (inteiro, fração ou real); 4:5=3 positive Numérico positivo; 1:2345 negative Numérico negativo; ¡11 algebraic Algébrico; sqrt(2)* I polynom Polinômio; xˆ2+5*x+3 list Lista; [v;w; 1; 2; 3] listlist Lista de listas; [[1; 2]; [a; b]] set Conjunto; f¡1; 0; x; yg series Série; series(sin(x); x = 0; 4) anything Qualquer tipo, exceto seqüência symbol Símbolo; alpha ‘+‘ Soma; a + b ‘*‘ Produto; x* y ‘ˆ‘ Potência; 2ˆx ‘<‘ Desigualdade; x < 0 ‘=‘ Igualdade; y = 4 name Nome de variável; x function Função; f(x) procedure Procedimento; f Matrix Matriz; Matrix([[1; 2]; [3; 4]]) string Caracteres entre aspas; “teste” indexed Variável indexada; a[n] Para mostrar o tipo de uma variável, constante ou expressão X podemos usar o comando whattype(X). FAZER O PROGRAMA DO MÓDULO USANDO O PROCEDIMENTO PROC

Page 119: Apostila MAPLE

119

Executar a seguinte animação tridimensional: > with(plots): Anima3D := proc(eq1::algebraic, eq2::algebraic, eq3::algebraic) local k; for k from 0 to 17 do graf[k] := tubeplot([eq1, eq2, eq3], t=0..20, radius=1, shading = zhue, orientation=[20*k, 70]): end do; display(seq(graf[k], k=0..17), insequence=true): end proc: Warning, `graf` is implicitly declared local to procedure `Anima3D` > Anima3D(5*cos(t), 5*sin(t), t);

> Anima3D(5*t, t, t+2);

Page 120: Apostila MAPLE

120

is - checa uma propriedade Seqüência de Chamada: is(x,prop) Parâmetros: x - uma variável, um nome ou uma expressão prop - uma propriedade Descrição: O comando is manda o Maple checar se uma propriedade é true, false ou fail para x. Quando a

resposta é fail, isso quer dizer que o Maple não pode determinar se ela é verdadeira ou falsa. Quando a resposta é true, quer dizer que todos os valores possíveis de x satisfazem a propriedade. Quando a resposta é false, quer dizer que pelo menos um valor de x não satisfaz a propriedade.

is pode ter como argumentos vários pares ou relações. Neste caso, ele retorna true se todas são verdadeiras ao mesmo tempo. Por exemplo, para checar se x está no intervalo (0,1), podemos escrever is(0<x,x<1).

property names e.g. continuous nomess e.g. integer, real conjuntos e.g. RealRange( a, b ), RealRange( -infinity, b ), RealRange( a, infinity ) Exemplos: > x:=2; is(1-x^2, positive);

:= x 2 false

Is entende intervalos: > is(5,RealRange(5,infinity));

true

> is(5,RealRange(Open(5),infinity)); false

Page 121: Apostila MAPLE

121

COORDENADA POLARES USANDO O MAPLE A fórmula para o cálculo de área de uma figura plana descrita em coordenadas polares )(fr é dada por:

ddrrAR

R

onde R é a região para o cálculo da área. A fórmula para o cálculo de área utilizando o software Maple com integração dupla é dada por: > int(int(r,r=função(theta1)..função(theta2)),theta=theta1..theta2); Vejamos a seguir alguns exemplos: 1) Determine por integração dupla a área da região limitada por uma pétala da rosácea senr 2 . Solução: Para resolvermos este exemplo, necessitamos utilizar o comando “polarplot”. Para aplicar este comando necessitamos primeiramente carregar o pacote ”with(plots)” dando o seguinte comando: > with(plots): Inicialmente, contruímos o gráfico da curva senr 2 utilizando o comando “polarplot”: > polarplot(sin(2*theta),theta=0..2*Pi,color=blue);

Analisando o gráfico anterior vimos que ele apresenta quarto pétalas simétricas no intervalo 0 a 2 . Agora, contruiremos o mesmo gráfico no intervalo de 0 a 2/ para calcular a integral desejada. Veja o commando a seguir: > polarplot(sin(2*theta),theta=0..Pi/2,color=blue);

Page 122: Apostila MAPLE

122

Aplicando o commando “int”, utilizando o conceito de integral dupla, determinamos a area da região solicitada. Observe o comando a seguir: > Int(Int(r,r=0..sin(2*theta)),theta=0..Pi/2)=int(int(r,r=0..sin(2*theta)),theta=0..Pi/2);

d0

/1 2

d0

( )sin 2

r r 18

Assim, concluímos que a area da região desejada é /8 unidades de area (u. a.)