Cálculo 1 & Mathematica Marcone Corrêa Pereira Escola de Artes, Ciências e Humanidades Universidade de Sã o Paulo Introduçã o O objetivo desta aula é fornecer algumas noções bá sicas do programa Mathematica para nos auxiliar na resoluçã o de exercí cios e no entendimento da teoria dada nas disciplinas de Cá lculo 1 ministradas em nossa escola, a EACH-USP. O Mathematica consiste de duas partes: o Kernel e o Front End. O Kernel é a má quina computacional. Ela calcula e computa os resultados. O Front End é a interface do usuá rio com o Kernel do Mathematica. O Front End e o Kernel sã o separados. O primeiro envia comandos para o segundo, quando o usuá rio usa: i) a tecla <enter> ou ii) a tecla <return>, enquanto o <shift> estiver seguro. A opçã o ii) chamaremos de <shift>+<return>. Qualquer documento criado enquanto usamos o Front End é chamado de Notebook. Tais documentos podem conter misturas de textos, grá ficos e objetos matemá ticos. Manipulando números Faça uma pergunta ao Mathematica que ele te responderácom um resultado. A cada par de pergunta (entrada) e resposta (saí da) ele associaráum número. A ié sima entrada é rotulada por In[i] e a correspondente saí da Out[i]. Nós podemos nos referir facilmente a essas entradas e saí das atravé s destes números a elas associados. A primeira pergunta que faremos ao Mathematica é qual o valor de 510 : 5 ^ 10 9 765 625 Muitas vezes é necessá rio referir-se a recentes resultados. O caracter % refere-se ao resultado imediatamente anterior. Por exemplo, podemos checar o último resultado tomando sua raí z dé cima. 2 Calculo1&Mathematica.nb Muitas vezes é necessá rio referir-se a recentes resultados. O caracter % refere-se ao resultado imediatamente anterior. Por exemplo, podemos checar o último resultado tomando sua raí z dé cima. % ^ H1 10L 5 Na verdade, podemos nos referir a resultados anteriores usando um ou mais sinais de porcentagem. % se refere ao resultado anterior, %% se refere ao segundo resultado anterior, %%% ao terceiro resultado anteriror, e assim por diante. É també m possí vel se referir a um resultado particular usando %n, onde n é o número da linha de saí da do resultado. É importante observar que os números associados à s perguntas e respostas podem mudar quando o Mathematica for reiniciado. Para evitar inconvenientes, podemos associar um nome a um determinado resultado. O comando idade=3 associa a palavra idade ao número 3. idade = 3 3 Uma vez feito isso, podemos nos referir ao valor três atravé s de nome idade. idade 3 També m podemos realizar operações matemá ticas usando o nome idade em vez do número 3: Podemos multiplicá -lo por 4. [O produto de dois números é realizado por * ou por espaço.] idade 4 12 Calculo1&Mathematica.nb 3 idade * 4 12 Podemos dividí -lo por 2. idade 2 3 2 Podemos tomar o seu quadrado. idade ^ 2 9 Podemos multiplicá -lo por 3, subtraí -lo 2 e extraí rmos a raiz quadrada do resultado. Hidade 3 - 2L ^ 81 2< : 7> Vale a pena observar que o nome idade vai estar associado ao número 3 até que a ele seja associado um outro valor (ou expressã o). idade = 3 idade 9 idade 9 à Racionais O Mathematica trata com os números racionais de uma forma diferente quando comparado a muitas calculadoras. Se pedirmos para uma calculadora calcular a soma 2/4 + 24/144, ela nos retornaráalgo como 0.666666666667, um resultado aproximado. Jáo Mathematica nos retornaráo número racional correspondente. 4 Calculo1&Mathematica.nb O Mathematica trata com os números racionais de uma forma diferente quando comparado a muitas calculadoras. Se pedirmos para uma calculadora calcular a soma 2/4 + 24/144, ela nos retornaráalgo como 0.666666666667, um resultado aproximado. Jáo Mathematica nos retornaráo número racional correspondente. 2 4 + 24 144 2 3 à Irracionais Se perguntarmos pelo número irracional Sqrt[2] (uma expressã o que representa 2 , obteremos o valor exato, isto é , 2 ). Sqrt@2D 2 Note que, se perguntarmos a raiz quadrada de um floating-point, isto é , retornaráum valor aproximado. 2. , ele nos [email protected] 1.41421 É importante sabermos que a entrada de números aproximados no Mathematica produz resultados aproximados, ou seja, operações com floating-points produz floating-points. 2*34 3 2 Calculo1&Mathematica.nb 5 2. * 3 4 1.5 à Aproximações No Mathematica obtemos aproximações numé ricas usando o comando N. NB 2F 1.41421 Tipicamente sã o utilizados seis dí gitos significativos, mas podemos obter mais. Aqui pediremos ao Mathematica para aproximar decimais. 17 com uma precisã o de 100 casas N@Sqrt@17D, 100D 4.1231056256176605498214098559740770251471992253736204343986 33573094954346337621593587863650810684297 Existem vá rios comandos no Mathematica que convertem números aproximados para um valor exato. Citaremos alguns: Rationalize converte um floating-point para um número racional. [email protected] 31 437 10 000 Observe que alguns números podem nã o ser racionalizados. [email protected] 3.79087 Isto ocorre quando a precisã o padrã o do programa nã o é suficiente para representar o número. Neste caso, podemos utilizar o segundo argumento do comando Rationalize. O Mathematica sempre racionalizaráum número quando o segungo argumento deste comando for igual a 0. 6 Calculo1&Mathematica.nb Isto ocorre quando a precisã o padrã o do programa nã o é suficiente para representar o número. Neste caso, podemos utilizar o segundo argumento do comando Rationalize. O Mathematica sempre racionalizaráum número quando o segungo argumento deste comando for igual a 0. [email protected], 0D 159 383 445 42 044 003 O comando Round converte um dado floating-point para o número inteiro mais próximo. [email protected] 3 [email protected] 0 [email protected] 2 à Iterações Iteraçã o indica o número de vezes que um determinado cá lculo serárealizado. Existem vá rios comandos de iteraçã o no Mathematica. Por enquanto usaremos apenas os comandos Table e Sum. O comando Table gera uma lista de expr com i variando de min até max, com saltos de inc. Table@expr, 8i, min, max, inc<D Calculo1&Mathematica.nb 7 Table@i ^ 2, 8i, 1, 10<D 81, 4, 9, 16, 25, 36, 49, 64, 81, 100< No exemplo anterior produzimos uma lista de 10 valores: o quadrado dos 10 primeiros números inteiros positivos maiores do que zero. Jáno exemplo seguinte, executamos a mesma operaçã o apenas para os 5 primeiros inteiros í mpares positivos. Table@i ^ 2, 8i, 1, 10, 2<D 81, 9, 25, 49, 81< Podemos nos referir a apenas um elemento de uma dada lista acrescentando [[posiçã o do elemento]] no final do nome da lista. Por exemplo, se precisarmos nos referir ao terceiro elemento da lista produzida anteriormente, basta escrevermos [[3]] no final do comando % (que se refere ao resultado anterior). %@@3DD 25 Alguns outros exemplos: lista = TableBNB i , 10F, 8i, 1, 13, 2<F 81.000000000, 1.732050808, 2.236067977, 2.645751311, 3.000000000, 3.316624790, 3.605551275< %@@5DD 3.000000000 8 Calculo1&Mathematica.nb lista@@4DD 2.645751311 Table@i ^ 3 3 - 1, 8i, 1, 5<D@@4DD 61 3 O comando Sum calcula a soma de expr com i variando de min até max, com incrementos inc. Sum@expr, 8i, min, max, inc<D Abaixo somamos os 10 primeiros números inteiros positivos. Sum@i, 8i, 1, 10<D 55 A seguir somamos os 5 primeiros números inteiros í mpares positivos usando um incremento de 2. Sum@i, 8i, 1, 10, 2<D 25 Aqui produzimos um polinô mio de grau 12 com um inc de 4. Sum@Hk - 1L x ^ k, 8k, 0, 12, 4<D -1 + 3 x4 + 7 x8 + 11 x12 à Encontrando Raí zes Os comandos NRoots e FindRoot encontram raí zes de equações numericamente. O sí mbolo = = é utilizado no Mathematica para denotar igualdade e especificar uma equaçã o matemá tica. O comando NRoots retorna uma aproximaçã o numé rica para as raí zes de um polinô mio. Quais sã o as aproximações numé ricas para as raí zes da equaçã o 2 3 4 0 = -3 + 4 x + 2 x - 4 x + x cuja variá vel é a letra x ? Os comandos NRoots Calculo1&Mathematica.nb e FindRoot encontram raí zes de equações numericamente. 9O sí mbolo = = é utilizado no Mathematica para denotar igualdade e especificar uma equaçã o matemá tica. O comando NRoots retorna uma aproximaçã o numé rica para as raí zes de um polinô mio. Quais sã o as aproximações numé ricas para as raí zes da equaçã o 2 3 4 0 = -3 + 4 x + 2 x - 4 x + x cuja variá vel é a letra x ? NRootsA-3 + 4 x + 2 x2 - 4 x3 + x4 0, xE x -1. ÈÈ x 1. ÈÈ x 1. ÈÈ x 3. O sí mbolo || é o comando lógico ou. Este resultado afirma que se x é igual a -1 ou 1 ou 3 a equaçã o 0 = -3 + 4 x + 2 x2 - 4 x3 + x4 é satisfeita. O comando FindRoot encontra uma soluçã o numé rica para a equaçã o exp1= = exp2 começando com uma aproximaçã o x = x0 . FindRoot[exp1 == exp2, {x, x }] 0 Podemos encontrar uma raí z da equaçã o sen x = 0 começando em x0 = 2? x FindRoot@Sin@xD x 0, 8x, 2<D 8x ® 3.14159< A raiz encontrada pode estar próxima ou nã o do x0 . Isto dependerádo valor absoluto da derivada da funçã o nas proximidades deste ponto, jáque este comando utiliza o conhecido Mé todo de Newton. Podemos verificar este resultado atravé s do comando /. ou ReplaceAll. Ele aplica uma regra ou uma lista de regras a uma expressã o. Sin@xD x . % 3.89817 ´ 10-17 Aqui nós aplicamos a regra x ® 3.14159 Hx -> 3.14159L à expressã o sen x . Observe x que o resultado calculado é um valor muito próximo ao número zero. Podemos ver isto atravé s do comando Chop. 10 Calculo1&Mathematica.nb Chop@%D 0 Tal comando repô e números que sã o aproximadamente zero pelo número "exatamente" zero. Observe que ao aplicarmos este comando a um número que nã o é aproximadamente zero, obtemos um resultado diferente de zero. [email protected] 1.76 [email protected] 0.78 [email protected] 0.0012 à Velhas conhecidas A seguir vamos listar alguns comandos que representam algumas das funções conhecidas por nós: Cos@xD - Cosseno do ângulo x em radianos. Sin@xD - Seno do ângulo x em radianos. Tan@xD - Tangente do ângulo x em radianos. Log@xD - Logarí tmo do número positivo x na base e. Log@a, xD Calcula o Logarí tmo do número positivo x na base a > 0. Exp@xD - Ex HE representa o número e neste programaL. Outras funções podem ser encontradas no Help do Mathematica. Junto com o comando associado à funçã o procurada, existe uma descriçã o de como usá -lo adequadamente. Para isto, basta clicar em Help > Help Browser (ou digitar <shift>+F1) e digitar o nome (ou parte do nome) da funçã o (ou comando) procurado. O Help nos serámuito útil. Calculo1&Mathematica.nb 11 Outras funções podem ser encontradas no Help do Mathematica. Junto com o comando associado à funçã o procurada, existe uma descriçã o de como usá -lo adequadamente. Para isto, basta clicar em Help > Help Browser (ou digitar <shift>+F1) e digitar o nome (ou parte do nome) da funçã o (ou comando) procurado. O Help nos serámuito útil. Sin@ΠD 0 [email protected] 0.227978 Sin@Π 4D 1 2 [email protected] 0.540302 Exp@1D ã [email protected] 1.10517 Log@2, 8D 3 12 Calculo1&Mathematica.nb Log@3, 81D 4 à Exercí cios 1- Calcule o número de minutos em um ano de 365 dias. 2- Use o comando N para encontrar uma aproximaçã o para o número Π com 770 casas decimais de precisã o. Você notaráseis dí gitos consecutivos iguais a 9 em algum lugar. 3- Use o N para determinar quã o próximo estáo número eΠ inteiro. 4- Use o Sum para encontrar as seguinte somas: a) 1 + b) 1 + c) 1 + 163 de um número 1 1 1 + + ... + 1 2 10 1 1 1 + + ... + [Use o comando fatorial !.] 1! 2! 10! 2 ln e2 3 ln e3 10 ln e10 + + ... + 2! 3! 10! 5- Encontre cinco raí zes das seguintes equações: 5 4 3 a) x + 5 x + 4 x + 3 x2 + 2 x + 1 = 0 b)sen2 HΠ xL - x2 cosHΠ xL = x Sugestã o: Tente usando Table e FindRoot. Procure no intervalo [-5,5]. c)1 = x tan x Sugestã o: Procure no intervalo [0,13]. 6- Encontre no Help os comandos associados à s funções trigonomé tricas inversas. Realizando Cálculos Até agora utilizamos o Mathematica como uma simples calculadora. Podemos fazer um pouco mais. Podemos utilizá -lo para calcular limites, derivadas, integrais; para podermos determinar o Polinô mio de Taylor de qualquer ordem de uma dada funçã o em um ponto determinado etc. A funçã o derivada toma dois argumentos: uma expressã o e uma variá vel. D@expr, xD Qual seráa derivada da funçã o Hx2 +2 x-1L ? x2 +1 Calculo1&Mathematica.nb 13 Qual seráa derivada da funçã o Hx2 +2 x-1L ? x2 +1 D@Hx ^ 2 + 2 x - 1L Hx ^ 2 + 1L, xD 2+2 x 1 + x2 - 2 x I-1 + 2 x + x2 M 2 I1 + x2 M Podemos simplificá -la? Acho que sim. Simplify@%D 2 + 4 x - 2 x2 2 I1 + x2 M Jáa funçã o limite encontra o valor da expressã o expr quando x se aproxima de x0 . Limit@expr, 8x ® x0 <D Você se lembra do limite da expressã o cos x-1 quando x se aproxima de zero? x Limit@HCos@xD - 1L x, x ® 0D 0 E do limite de sen x quando x se aproxima de zero ou tende ao + infinito? x Limit@Sin@xD x, x ® 0D 1 Limit@Sin@xD x, x ® InfinityD 0 Podemos també m encontrar limites laterais com o Mathematica. Para isto, basta dizer a direçã o. Limite lateral à direita, direçã o -1. 14 Podemos també m encontrar limites laterais com o Mathematica. Para isto, basta Calculo1&Mathematica.nb dizer a direçã o. Limite lateral à direita, direçã o -1. Limit@expr, 8x ® x0 <, Direction ® -1D Limit@1 x, x ® 0, Direction ® -1D ¥ Limite lateral à esquerda, direçã o 1. Limit@expr, 8x ® x0 <, Direction ® 1D Limit@1 x, x ® 0, Direction ® 1D -¥ Nã o se confunda! Limite lateral a direira -1. Limite lateral à esquerda 1. Agora nós vamos obter a sé rie de potências da funçã o cos x no ponto x = 0 de ordem 10. Series@Cos@xD, 8x, 0, 10<D 1- x2 + 2 x4 - 24 x6 + 720 x8 x10 - 40 320 + O@xD11 3 628 800 O termo O@xDn representa o termo de ordem n. Para determinarmos o valor desta sé rie no ponto x = 0.04, devemos primeiro normalizar a sé rie de potências, isto é , eliminar o termo O@xDn . Para isto usamos o comando Normal. serieCos = Normal@%D 1- x2 2 + x4 24 - x6 720 + x8 40 320 - x10 3 628 800 Agora basta utilizarmos o comando /. na regra x ® 0.04 para obtermos o resultado. Calculo1&Mathematica.nb 15 serieCos . x ® 0.04 0.9992 Se você tentar substituir o x = 0.04 na sé rie sem normalizá -lo, o Mathematica nã o realizaráa substituiçã o. à Exercí cios 1) Use Series para obter o polinô mio de Taylor de ordem 10 no ponto x = 0 das seguintes expressões: a) ex b) 1 1-x c) ln(1+x) d) 1 + x 2) Use o polinô mio de Taylor obtido no exercí cio anterior para aproximar os seguintes valores: a) ln (1,1) b) e c) 3 2 Compare os valores encontrados com os valores calculados pelo próprio Mathematica. Gráficos Unidimensionais Neste momento chegamos a parte mais interessante de nossa aula: usaremos o programa Mathematica para construir grá ficos de funções de uma variá rel real e para desenhar curvas no plano xy. Aprenderemos a utilizar dois comandos, a saber o comando Plot e o comando ImplicitPlot. O comando Plot desenha grá ficos de funções, jáo comando ImplicitPlot plota no plano xy curvas dadas por equações matemá ticas de duas variá veis. O comando Plot O comando Plot precisa de pelo menos dois argumentos: uma expressã o e um "domí nio". O "domí nio" é composto por três elementos: a variá vel da expressã o, por exemplo x, um valor mí nimo xmin e um valor má ximo xmax para a variá vel. 16 Calculo1&Mathematica.nb O comando Plot precisa de pelo menos dois argumentos: uma expressã o e um "domí nio". O "domí nio" é composto por três elementos: a variá vel da expressã o, por exemplo x, um valor mí nimo xmin e um valor má ximo xmax para a variá vel. Plot@expr, 8x, xmin , xmax <D O seguinte comando produz o grá fico da cúbica Hx - 2L3 no intervalo [-1,4]: Plot@Hx - 2L ^ 3, 8x, -1, 4<D 5 -1 1 2 3 4 -5 -10 -15 -20 -25 També m podemos plotar funções com singularidades, por exemplo tan x. Nesses casos, alé m de plotar o grá fico da funçã o, o Mathematica desenha aproximações para Π as assí ntitas verticais x = 2 + kΠ com k variando no conjunto dos números inteiros. Calculo1&Mathematica.nb 17 Plot@Tan@xD, 8x, -3 Pi, 3 Pi<D 6 4 2 -5 5 -2 -4 -6 O Mathematica nem sempre mostra a imagem inteira da funçã o. Permita-nos considsen x erar um outro exemplo: x . Plot@Sin@xD x, 8x, -10 Pi, 10 Pi<D 0.2 0.1 -30 -20 -10 10 20 30 -0.1 -0.2 Observe que neste exemplo, o comando Plot nã o inclui o valor má ximo da funçã o, neste caso, o ponto onde o grá fico intercepta o eixo y. Quando o Mathematica plota o grá fico de uma funçã o, ele deve fazer muitas escolhas. Estas escolhas estã o baseadas em alguns valores de opções. Usando ??Plot podemos ver todas as opções padrões do comando Plot. [Na verdade, o comando ?? mostra as opções padrões de qualquer comando.] 18 Observe que neste exemplo, o comando Plot nã o inclui o valor Calculo1&Mathematica.nb má ximo da funçã o, neste caso, o ponto onde o grá fico intercepta o eixo y. Quando o Mathematica plota o grá fico de uma funçã o, ele deve fazer muitas escolhas. Estas escolhas estã o baseadas em alguns valores de opções. Usando ??Plot podemos ver todas as opções padrões do comando Plot. [Na verdade, o comando ?? mostra as opções padrões de qualquer comando.] ?? Plot Plot@ f , 8x, xmin , xmax <D generates a plot of f as a function of x from xmin to xmax . Plot@8 f1 , f2 , … <, 8x, xmin , xmax <D plots several functions fi . Attributes@PlotD = 8HoldAll, Protected< Options@PlotD = 9AlignmentPoint ® Center, AspectRatio ® 1 , GoldenRatio Axes ® True, AxesLabel ® None, AxesOrigin ® Automatic, AxesStyle ® 8<, Background ® None, BaselinePosition ® Automatic, BaseStyle ® 8<, ClippingStyle ® None, ColorFunction ® Automatic, ColorFunctionScaling ® True, ColorOutput ® Automatic, ContentSelectable ® Automatic, CoordinatesToolOptions ® Automatic, DisplayFunction ¦ $DisplayFunction, Epilog ® 8<, Evaluated ® System`Private`$Evaluated, EvaluationMonitor ® None, Exclusions ® Automatic, ExclusionsStyle ® None, Filling ® None, FillingStyle ® Automatic, FormatType ¦ TraditionalForm, Frame ® False, FrameLabel ® None, FrameStyle ® 8<, FrameTicks ® Automatic, FrameTicksStyle ® 8<, GridLines ® None, GridLinesStyle ® 8<, ImageMargins ® 0., ImagePadding ® All, ImageSize ® Automatic, ImageSizeRaw ® Automatic, LabelStyle ® 8<, MaxRecursion ® Automatic, Mesh ® None, MeshFunctions ® 8ð1 &<, MeshShading ® None, MeshStyle ® Automatic, Method ® Automatic, PerformanceGoal ¦ $PerformanceGoal, PlotLabel ® None, PlotPoints ® Automatic, PlotRange ® 8Full, Automatic<, PlotRangeClipping ® True, PlotRangePadding ® Automatic, PlotRegion ® Automatic, PlotStyle ® Automatic, PreserveImageOptions ® Automatic, Prolog ® 8<, RegionFunction ® HTrue &L, RotateLabel ® True, Ticks ® Automatic, TicksStyle ® 8<, WorkingPrecision ® MachinePrecision= As opções podem ser especificadas em qualquer ordem depois do "domí nio" da funçã o. Calculo1&Mathematica.nb 19 As opções podem ser especificadas em qualquer ordem depois do "domí nio" da funçã o. Plot@expr, 8x, xmin , xmax <, opçõesD As opções sã o especificadas pelo nome seguido de seu valor, da seguinte maneira: Nome da Opçã o -> Valor da Opçã o. Se uma opçã o nã o é especificada, o valor padrã o é utilizado pelo comando. Discutiremos apenas algumas opções. As demais podem ser consultadas atravé s do Help ou atravé s do comando ??. à Opçã o PlotRange Podemos plotar o grá fico da funçã o sen x apenas quando sua imagem estiver no x intervalo [0,1]. Para isto usamos a opçã o PlotRange -> {0,1} do comando Plot. Plot@ Sin@xD x, 8x, -10 Pi, 10 Pi<, PlotRange ® 80, 1<D 1.0 0.8 0.6 0.4 0.2 -30 -20 -10 0 10 20 30 Se pretendemos plotar toda a imagem da funçã o, devemos usar o valor All na opçã o PlotRange. 20 Calculo1&Mathematica.nb Plot@ Sin@xD x, 8x, -10 Pi, 10 Pi<, PlotRange ® AllD 1.0 0.8 0.6 0.4 0.2 -30 -20 -10 10 20 30 -0.2 à Opçã o PlotStyle Atravé s da opçã o PlotStyle podemos mudar a espessura, a cor e o estilo do grá fico plotado. A funçã o Thickness controla a espessura do grá fico. Seu valor padrã o é Thickness[0.004]. Plot@expr, 8x, xmin , xmax <, PlotStyle ® Thickness@ADD Calculo1&Mathematica.nb 21 Plot@x, 8x, 0, 5<, PlotStyle ® [email protected] 5 4 3 2 1 1 2 3 4 5 Com a funçã o RGBColor podemos especificar uma cor. O primeiro argumento estárelacionado com o vermelho, o segundo com o verde e o terceiro com o azul. Estes argumentos sã o números que devem variar entre 0 e 1. O 1 indica a preseça da cor e o 0, sua ausência. Plot@expr, 8x, xmin , xmax <, PlotStyle ® RGBColor@red, green, blueDD 22 Calculo1&Mathematica.nb Plot@ Sin@2 Pi xD Exp@-xD, 8x, 0, 4<, PlotStyle ® [email protected], 0.8, 0.5DD 0.8 0.6 0.4 0.2 1 2 3 4 -0.2 -0.4 Acima plotamos a funçã o sen H2 Π xL e-x na cor laranja e no intervalo [0,4]. à Opçã o Dashing A funçã o Dashing produz o grá fico com sucessivos segmentos de comprimento d1, d2, d3, ... , que sã o utilizados como argumentos desta funçã o. Plot@expr, 8x, xmin , xmax <, PlotStyle ® Dashing@8d1, d2, ...<DD Nã o se esqueça da chave dentro do colchete! A seguinte entrada produz o grá fico da funçã o seno tracejada e na cor azul. Observe que a funçã o PlotStyle pode assumir vá rios valores. Calculo1&Mathematica.nb 23 Plot@Sin@xD, 8x, -2 Pi, 2 Pi<, PlotStyle ® 8RGBColor@0, 0, 1D, [email protected]<D<D 1.0 0.5 -6 -4 -2 2 4 6 -0.5 -1.0 Na verdade, podemos plotar vá rios grá ficos numa mesma tela com o comando Plot. O primeiro argumento especifica o conjunto de funções e o segundo o domí nio de tais funções. Plot@8expr 1, expr 2, ...<, 8x, xmin , xmax <D O seguinte comando produz o grá fico das funções ex e xe na mesma tela e no intervalo [0,5]. 24 Calculo1&Mathematica.nb Plot@8Exp@xD, x ^ E<, 8x, 0, 5<D 140 120 100 80 60 40 20 1 2 3 4 5 Próximo do ponto 0, temos dificuldades de identificar os grá ficos. Devemos entã o utilizar algumas de nossas opções para diferenciá -las. Plot@8Exp@xD, x ^ E<, 8x, 0, 5<, PlotStyle ® 88RGBColor@0, 0, 1D<, 8RGBColor@1, 0, 0D, [email protected]<D<<D 140 120 100 80 60 40 20 1 2 3 4 5 Observe, no exemplo anterior, que o PlotStyle foi dado como um vetor. A primeira "coordenada" {RGBColor[0,0,1]} estáassociada à primeira funçã o; e a segunda coordenada {RGBColor[1,0,0],Dashing[{0.04}]}, que neste caso é um outro vetor, estáassociada à segunda funçã o. Calculo1&Mathematica.nb 25 Observe, no exemplo anterior, que o PlotStyle foi dado como um vetor. A primeira "coordenada" {RGBColor[0,0,1]} estáassociada à primeira funçã o; e a segunda coordenada {RGBColor[1,0,0],Dashing[{0.04}]}, que neste caso é um outro vetor, estáassociada à segunda funçã o. à O comando Show Uma outra maneira de mostrar grá ficos numa mesma tela é usando o comando Show. Para isto, basta nomearmos cada grá fico separadamente e depois mostrá -los juntos. a = Plot@Sin@xD, 8x, -2 Pi, 2 Pi<, PlotStyle ® 8RGBColor@0, 0, 1D, [email protected]<D<D 1.0 0.5 -6 -4 -2 2 -0.5 -1.0 4 6 26 Calculo1&Mathematica.nb b = Plot@Cos@xD, 8x, -2 Pi, 2 Pi<, PlotStyle ® 8RGBColor@1, 0, 0D<D 1.0 0.5 -6 -4 -2 2 4 6 2 4 6 -0.5 -1.0 Show@a, bD 1.0 0.5 -6 -4 -2 -0.5 -1.0 à O pacote ImplicityPlot O Mathematica pode ser utilizado també m como uma linguagem de programaçã o, isto é , podemos definir novos comandos atravé s dos comandos padrões disponí veis numa determinada versã o do programa. Esses novos comandos serã o salvos em arquivos que normalmente sã o chamados de pacotes. Existem pacotes disponí veis sobre vá rios assuntos dentro do programa Mathematica. Encontramos pacotes que tratam de: Estatí stica, Estatí stica Descritiva, Geometria, Calculo1&Mathematica.nb 27 O Mathematica pode ser utilizado també m como uma linguagem de programaçã o, isto é , podemos definir novos comandos atravé s dos comandos padrões disponí veis numa determinada versã o do programa. Esses novos comandos serã o salvos em arquivos que normalmente sã o chamados de pacotes. Existem pacotes disponí veis sobre vá rios assuntos dentro do programa Mathematica. Encontramos pacotes que tratam de: Estatí stica, Estatí stica Descritiva, Geometria, Á lgebra, Matemá tica Discreta, Cá lculo, Fí sica, Quí mica etc. Uma lista de pacotes pode ser encontrada na Wolfram Research, Guide to Standard Mathematica Packages. Neste momento nos restringiremos somente ao pacote grá fico ImplicitPlot, que nos disponibiliza o comando de mesmo nome ImplicitPlot. Este comando desenha curvas no plano dadas implicitamente atravé s de uma equaçã o matemá tica de duas variá veis. Para termos acesso à s funções definidas num determinado pacote, devemos primeiro "rodar" o pacote. Isto pode ser feito atravé s do comando << contexto`nome` ATENÇ Ã O: A sintaxe deve ser obedecida com rigor. << Graphics`ImplicitPlot` — General::obspkg : Graphics`ImplicitPlot` is now obsolete. The legacy version being loaded may conflict with current Mathematica functionality . See the Compatibility Guide for updating information. Feito isso, estamos prontos para usarmos o comando de nosso interesse, ImplicitPlot. ImplicitPlot@exp1 expr2, 8x, xmin , xmax <, opçõesD Com ImplicitPlot podemos desenhar uma circunferência de raio 2 centrada na origem. 28 Calculo1&Mathematica.nb ImplicitPlot@x ^ 2 + y ^ 2 4, 8x, -2, 2<, PlotStyle ® RGBColor@1, 0, 0DD 2 1 -2 -1 1 2 -1 -2 Podemos plotar uma elí pse com eixos 4 e 3 centrada no ponto (-1,2). Calculo1&Mathematica.nb 29 ImplicitPlot@Hx + 1L ^ 2 16 + Hy - 2L ^ 2 9 1, 8x, -5, 5<, PlotStyle ® RGBColor@1, .5, 1DD 5 4 3 2 1 -4 -2 2 -1 Podemos plotar o Fólio de Descartes azul e tracejado. 30 Calculo1&Mathematica.nb ImplicitPlot@x ^ 3 + y ^ 3 6 x y, 8x, -4, 4<, PlotStyle ® 8RGBColor@0, 0, 1D, [email protected]<D<D 2 -4 -2 2 4 -2 -4 -6 à Exercí cios 1) Plote as funções ex e ln x no intervalo [0,4], na mesma tela, usando a funçã o Dashing e com cores diferentes. 2) Use o comando Plot para estimar o valor das raí zes do polinô mio 3 2 2 x - 7 x - 17 x + 10 no intervalo [-6,6] e verifique suas estimativas atravé s do comando Roots. 1 3) a) Encontre o polinô mio de Taylor da expressã o 1+sin2 em x = 0. Π2+x b) * Use o comando Normal para converter a expansã o numa expressã o, para entã o plotar o grá fico da funçã o junto com o da aproximaçã o. c) Determine em que regiã o a expançã o em sé rie aproxima bem a funçã o. ing e com cores diferentes. 2) Use o comando Plot para estimar o valor das raí zes do polinô mio Calculo1&Mathematica.nb 31 3 2 2 x - 7 x - 17 x + 10 no intervalo [-6,6] e verifique suas estimativas atravé s do comando Roots. 1 3) a) Encontre o polinô mio de Taylor da expressã o 1+sin2 em x = 0. Π2+x b) * Use o comando Normal para converter a expansã o numa expressã o, para entã o plotar o grá fico da funçã o junto com o da aproximaçã o. c) Determine em que regiã o a expançã o em sé rie aproxima bem a funçã o. 4) Use o comando ?? para obter informações sobre uso e opções do comando FindRoot e ImplicitPlot. [Lembre-se de rodar o pacote ImplicitPlot antes.] 5) Use o Mathematica para calcular a equaçã o da reta tangente ao Fólio de Descartes x3 + y3 = 6 x y no ponto (3,3) e desenhe a curva e sua reta tangente na mesma tela. Diferencie as curvas utilizando as opções de estilo do comando. Agradecimentos Gostaria de agradecer a Dra. Raquel C. de Siqueira pela revisã o e pelas sugestões. Referências Blachman, N. R. Mathematica: A Pratical Approach. Prentice-Hall, Inc. New Jersey 1992.