Introducao Ao Maple - Lenimar N Andrade

Embed Size (px)

DESCRIPTION

Tutorial sobre Maple, resumido.

Citation preview

UNIVERSIDADEFEDERALDAPARAIBACENTRODECIENCIASEXATASEDANATUREZADEPARTAMENTODEMATEMATICAIntroducaoaoMAPLELenimar Nunes de [email protected]/outubro/2006Sumario1 IntroducaoaoMaple 21.1 Introduc ao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Usandoastelasdeajuda. . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Operac oesaritmeticasetiposnumericosbasicos . . . . . . . . . . . . . . 31.4 Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.5 Variaveis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.6 Atribui coes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.7 Avaliacaonumerica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.8 Expressoeslogicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.9 Func oesmatematicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.9.1 Fun coesbasicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.9.2 Fun coestrigonometricasehiperbolicas . . . . . . . . . . . . . . . 71.10 Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.11 Substituic ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.12 Simplicac ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.13 Expansao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.14 Fatora cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.15 Equac oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.16 Fun coes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112AlgebraLinear 132.1 Vetores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3 MatrizesInversas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4 Determinante,TracoeMatrizTransposta . . . . . . . . . . . . . . . . . . 172.5 SistemasLineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.6 MatrizesEscalonadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.7 DependenciaeIndependenciaLinear . . . . . . . . . . . . . . . . . . . . 222.8 Bases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.9 Transformac oesLineares . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.10 N ucleodeumaTransformac aoLinear . . . . . . . . . . . . . . . . . . . . 282.11 Polin omioCaracterstico . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.12 AutovaloreseAutovetores . . . . . . . . . . . . . . . . . . . . . . . . . . 302.13 Polin omioMinimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.14 FormaCanonicadeJordan. . . . . . . . . . . . . . . . . . . . . . . . . . 342.15 Ortogonalizac ao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36iSUMARIO 13 Gracos 383.1 Gracosdefunc oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.2 Opc oesdocomandoplot . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.3 Construindovariosgracossimultaneamente . . . . . . . . . . . . . . . . 413.4 Gracosdenidosimplicitamente . . . . . . . . . . . . . . . . . . . . . . 433.5 Gracosdecurvasparametrizadas. . . . . . . . . . . . . . . . . . . . . . 433.6 Gracosemcoordenadaspolares . . . . . . . . . . . . . . . . . . . . . . . 453.7 Gracostridimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.8 Asopc oesdocomandoplot3d . . . . . . . . . . . . . . . . . . . . . . . 463.9 Curvasdenvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.10 Gracosdenidosimplicitamente . . . . . . . . . . . . . . . . . . . . . . 493.11 Gracosdesuperfciesparametrizadas . . . . . . . . . . . . . . . . . . . 494 CalculoDiferencialeIntegral 514.1 Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.1.1 Limitesdefunc oesf(x) . . . . . . . . . . . . . . . . . . . . . . . 514.1.2 Limitesnoinnito . . . . . . . . . . . . . . . . . . . . . . . . . . 524.1.3 Limiteslaterais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.1.4 Limitesdefunc oesdevariasvariaveis . . . . . . . . . . . . . . . . 544.2 Func oescontnuas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.3 Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.3.1 Derivadasdefuncoesdeumavari avel . . . . . . . . . . . . . . . . 564.3.2 Derivadasdeordemsuperior. . . . . . . . . . . . . . . . . . . . . 584.3.3 Derivadasdefuncoesdevariasvari aveis . . . . . . . . . . . . . . 594.3.4 Ooperadordiferencial . . . . . . . . . . . . . . . . . . . . . . . . 604.3.5 Derivadasdefuncoesdenidasimplicitamente . . . . . . . . . . . 624.4 Integrais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.4.1 Integraisdefunc oesdeumavari avel . . . . . . . . . . . . . . . . 634.4.2 Integraisdenidaseimproprias . . . . . . . . . . . . . . . . . . . 644.4.3 Integraisduplasetriplas . . . . . . . . . . . . . . . . . . . . . . . 664.5 Gradiente,divergente,rotacionalelaplaciano . . . . . . . . . . . . . . . . 674.6 Somatorios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 GeometriaAnaltica 715.1 GeometriaAnalticaPlana . . . . . . . . . . . . . . . . . . . . . . . . . . 715.1.1 Pontoseretas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.1.2 Circunferencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.1.3 Conicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.2 GeometriaAnalticaTridimensional . . . . . . . . . . . . . . . . . . . . . 795.2.1 Pontos,RetasePlanos . . . . . . . . . . . . . . . . . . . . . . . . 796 Equac oesDiferenciais 856.1 Equac oesdiferenciaisordinarias . . . . . . . . . . . . . . . . . . . . . . . 856.2 Problemasdevalorinicial . . . . . . . . . . . . . . . . . . . . . . . . . . 886.3 Gracosdesoluc oesdeEDO. . . . . . . . . . . . . . . . . . . . . . . . . 89ReferenciasBibliogracas 92Captulo1IntroducaoaoMapleNestecaptuloapresentamosbrevementeoambientedoMapleparaosistemaopera-cionalWindowsealgumasdesuasfuncoesecomandosbasicos.1.1 IntroducaoOMaple eumprogramadeComputac aoAlgebricadeusogeralquepossuiin umerosrecursosnumericosegracos, alemdetambemfuncionarcomoumalinguagemdepro-gramacao. ElevemsendodesenvolvidonoCanadadesde1981pelaWaterlooMapleInc.paravariossistemasoperacionais. Comele, epossvel realizarcalculosquecontenhamsmboloscomo, ou2semanecessidadedefazeraproxima coes numericas oureali-zarsimplicacoesecalculoscomexpressoesalgebricascomoax2+ bx + coux3+ log(x)semser precisoatribuir valores numericos `as vari aveis ouconstantes. Devidoaessaspropriedades, e possvel encontrar solucoes exatas para problemas praticos que envolvamresolucaodeequac oes, derivadas, integrais, calculomatricial, etc, tudoissointegradoarecursosquepermitemvisualizac aodedadosouobjetosplanosoutridimensionais.Navers aoparaWindows,quandoele echamado,apareceumatelacomoadaFigura1.1. Funcionandodemodointerativo, ousuariovai digitandocomandosaoladodeumaviso (prompt) cujo formato padrao e um sinal de maior. Assim que um comando digitadosemerros eencerrado,on ucleodoprogramaoexecuta.Os comandos sao digitados emumambiente proprio chamado folha de trabalho(worksheet) que pode ser gravada em disco atraves da opc ao File/Save ou File/Save As domenuprincipalousercarregadadodiscocomaopc aoFile/Open.Cada comando digitado deve terminar com um ; (ponto e vrgula) ou com :(doispontos), seguido de Enter. Se o comando terminar com ponto e vrgula, o resultado da suaexecucaoseramostradologoemseguida. Seterminarcomdoispontos,oresultadonaoseramostrado,podendocarguardadoparausoposterior. Adigitac aodeumcomandopodeseestenderpormaisdeumalinha.OMapleesensvel aotipodas letras, ouseja, elediferencialetras min usculas dasrespectivasletrasmai usculas. Porexemplo,x econsideradodiferentedeX.Exemplo1.1Ao lado doaviso do Mapledigitamos o comando 3+5+1 e encerramosalinhacomumpontoevrgula. Elecalculaasomaemostraimediatamenteoresultado:> 3 + 5 + 1;9Senaofordigitadopontoevrgulaenemdoispontosnonaldalinha,entaooMapleconvencionaque ocomandocontinuanalinhaseguinte. Aqui calculamos ovalor de1 + x + 3 + 4 5 + x 2 + 0digitadoemtreslinhas:21.2. USANDOASTELASDEAJUDA 3Figura 1.1:> 1 + x + 3> + 4 - 5 + x> - 2 + 0;1 + 2xSe ocomando forencerrado com doispontos,entao o resultado obtidonao e mostradodeimediato:> 6 + 3 - 2 + y:1.2 UsandoastelasdeajudaAstelasdeajuda(help)doprogramasaoamaneiramaiscompletadeseobterin-formacoes sobre ele. Sao cerca de 3000 paginas de informac oes. Pode-se ter acesso a elasatravesdaopc aoHelpdomenuprincipal oudigitando-seaoladodoavisodoprogramauminterrogac aoepressionarEnter.Para obter informac oes especcas sobre algumcomando, basta digitar uminter-rogacaoseguidodonomedocomandoepressionando-seEnter. Porexemplo,paraobterinformacaoespeccasobreafunc aotrigonometricacosseno,bastadigitar:> ?cosEmgeral, as telas de ajudacontemumadescric aodetalhadadocomando, variosexemplosdeusoereferenciasacomandosrelacionados.1.3 Operac oesaritmeticasetiposnumericosbasicosAsoperac oesaritmeticasadic ao, subtrac ao, multiplicac ao, divisaoepotenciacaosaorepresentadaspor+, , , /e,respectivamente.4 CAPITULO1. INTRODUC AOAOMAPLEAprioridadenocalculodasoperac oeseamesmausadanaMatematica: primeirooque estiver entre parenteses, depois as potenciac oes, depois as multiplicac oes e divisoes epor ultimoasadicoesesubtracoes.Exemplo1.2Exemplicandoousodasoperacoesaritmeticasbasicas.EXPRESSAO VALOR EXPRESSAO VALOR1+2*3 7 4*32 36(1+2)*3 9 (4*3)2 1446+9/3+2 11 (6+9)/(3+2) 32/(1+2(3-5)*8) 2/3 32-23 1Cadaobjetoalgebrico, numericoougraconoMaplepossui umtipo. Otipoeumaespeciedefamliadoobjeto,agrupandoobjetosdepropriedadessemelhantes.Entreostiposnumericosbasicospodemosdestacarotipointeiro(integer)eotiporeal com ponto utuante (float). Um n umero formado por uma seq uencia de algarismossem espacos em branco e sem ponto entre eles e considerado do tipo inteiro. Um n umerocompontodecimalutuante econsideradodotiporeal. Porexemplo,144 econsideradointeiro,enquantoque144.00 econsideradoreal.1.4 ConstantesAlgumas constantes pre-denidas sao Pi (o famoso = 3, 14159 . . . ), gamma(=0, 57721 . . . )eI (unidadeimaginaria). Mas, cuidadoparanaousar pinolugardePieneminolugardeIporquenaosaoamesmacoisa.Tambemsaoconsideradasconstantestrueefalse(verdadeiroefalso)einfinity,representandooinnito.Abasedologaritmonatural(e = 2, 71828 . . . )deveserusadacomosendoexp(1).1.5 VariaveisUma vari avel e um lugar na memoria identicado por um nome e serve para guardarvalores. Esse nome pode ser formado por letras min usculas ou mai usculas, algarismos eocaractersublinhado. Onomedavariavelnaopodecomecarcomumalgarismo.Saoexemplosdenomesdevariaveisvalidos: x,y2,var11,Teste,v inicial.Saoexemplosdenomesinvalidos: x#,2y,var.11,vinicial.1.6 AtribuicoesUmvalorpodeseratribudoaumavariavelcomumcomandovariavel :=valor. Porexemplo, x:=2atribui ovalor 2`avari avel x. Cuidadoparanaoconfundir comaigualdadex = 2quecomparaxcom2.Aatribuic aox := f(x)redeneovalordavariavelxcomosendoovalordafunc aofcalculadonovaloranteriordex. Porexemplo,umaatribuic aocomox := x + 1fazcomqueovalordavariavelxsejasubstitudopelovalorqueoxjatinhaacrescentadode1.Aodigitaronomedeumavari avel `adireitadoavisodoMaple(osinal demaior),seguidodeumpontoevrgula,emmuitoscasosfazoprogramamostraroseuvalor.Exemplo1.3Inicialmentedenimosovalordexcomosendo2.> x := 2;1.7. AVALIAC AONUMERICA 5x := 2> x; # mostra o valor de x2Agora,acrescentamos1aovalordex:> x := x + 1;x := 3Comparamosoxcom4(oxcontinuavalendo3):> x = 4;3 = 4Essa ultimaigualdadedeveserentendidacomoumaexpressaologicaaqual oMapleatribuiumvalorfalse(falso).1.7 AvaliacaonumericaA avaliac ao numerica de uma expressao X e feita com o comando evalf(X). O Mapleusacomopadraoumaquantidadede10casasdecimais, masepossvel obterresultadocomqualquerquantidadedecasasdecimais,bastandoparaissofazeroseguinte:usaroevalfnaformaevalf(X, n). IssomostraXcomncasasdecimais.usarumcomandodotipoDigits := n. Apartirda, todososcalculosnumericossaomostradoscomncasasdecimais. Digitseumavariavel pre-denidadopro-gramaquecontrolaaquantidadedecasasdecimaisutilizadas.Exemplo1.4Neste exemplo mostramos os valores de e2 com varias casas decimais.> Digits;10> Pi;> evalf(Pi);3.141592654> sqrt(2);2> evalf(sqrt(2));1.414213562UmaatribuicaoDigits:=30fazcomqueosresultadospassemasermostradoscomumnovopadraode30casasdecimais.> Digits := 30;Digits := 306 CAPITULO1. INTRODUC AOAOMAPLE> evalf(Pi);3.14159265358979323846264338328> evalf(sqrt(2));1.41421356237309504880168872421Mas, como evalf podes-e escolher a quantidade de casas decimais (diferente dopadrao,possivelmente)comoqual determinadoresultadoemostrado:> evalf(sqrt(2), 60);1.41421356237309504880168872420969807856967187537694807317668E,nalmente,ovalordecomduzentasdecimais! ObeservequeoMaplecolocaumabarrainvertidanonal deumalinhaparaindicarqueelacontinuanaproxima.> evalf(Pi, 200);3.141592653589793238462643383279502884197169399375105820974944592307816\40628620899862803482534211706798214808651328230664709384460955058223\172535940812848111745028410270193852110555964462294895493038201.8 ExpressoeslogicasUmaexpressaologica, avaliadaemtrueoufalse(verdadeirooufalso), contemope-radoresrelacionaiseoperadoreslogicos.Osoperadoresrelacionaissao=(igual),(maior),=(maiorouigual)e(diferente)eosoperadoreslogicossaonot(nao),and(e),or(ou),xor(ouexclusivo)eimplies(implica).Aordemdecrescentedeprioridadenaavaliac aodeumaexpressaologica e:1. =, =, 2. not3. and4. or5. xor6. impliesUma expressao logica pode ser calculada comumcomando evalb(expressao) ouis(expressao),conformemostramosaseguir.Exemplo1.5Avaliandoalgumasexpressoeslogicascomoscomandosevalbouis.> evalb(1 < 2);true> evalb(1 < 2 and 2 = 3);false> evalb(4 = 5 or 3 = 3);true1.9. FUNCOESMATEMATICAS 71.9 Fun c oesmatematicasO Maple possui muitas func oes matematicas pre-denidas, nao so as funcoes elementa-res basicas, como tambem muitas func oes especiais como as func oes beta, gama, logaritmointegral,senointegral,dilogaritmo,funcoesdeBessel,etc.Listamosnestasec aosomenteumapequenapartedasfunc oesbasicas.1.9.1 Func oesbasicasFUNC AO DESCRIC AO EXEMPLOabs(x) Valorabsoluto(modulo)dex abs(3)=3sqrt(x) Raizquadradadex sqrt(16)=4root[n](x) Raizde ndicendex root[3](8)=2exp(x) Exponencialdex exp(4)=e4ln(x) Logaritmonaturaldex ln(e)=1log[b](x) Logaritmodexnabaseb log[2](8)=3log10(x) Logaritmodecimaldex log10(1000)=3binomial(n, r) Coecientebinomialnsobrer binomial(5, 2)=10factorial(n) Fatorialden;omesmoquen! 5! =120igcd(m, n, p, . . . ) Maximodivisorcomum igcd(6, 14)=2ilcm(m, n, p, . . . ) Mnimom ultiplocomum ilcm(3, 5)=15max(x, y, z, . . . ) Maximode {x, y, z, . . . } max(2, 3, 1)=1min(x, y, z, . . . ) Mnimode {x, y, z, . . . } min(2, 3, 1)= 3signum(x) Sinaldex signum(7)= 1ceil(x) Menorinteiromaiorouigualax ceil(2.7)=3oor(x) Maiorinteiromenorouigualax oor(2.7)=2round(x) Inteiromaisproximodex round(2.7)=3trunc(x) Parteinteiradex trunc(2.7)=2frac(x) Partefracionariadex frac(2.7)=0.71.9.2 Func oestrigonometricasehiperbolicasFUNC AO DESCRIC AO FUNC AO DESCRIC AOsin(x) Senodex sinh(x) Senohiperbolicodexcos(x) Cossenodex cosh(x) Cossenohiperbolicodextan(x) Tangentedex tanh(x) Tangentehiperbolicadexsec(x) Secantedex sech(x) Secantehiperbolicadexcsc(x) Cossecantedex csch(x) Cossecantehiperbolicadexcot(x) Cotangentedex coth(x) Cotangentehiperbolicadexarcsin(x) Arco-senodex arcsinh(x) Arco-senohiperbolicodexarccos(x) Arco-cossenodex arccosh(x) Arco-cossenohiperbolicodexarctan(x) Arco-tangentedex arctanh(x) Arco-tangentehiperbolicodexarcsec(x) Arco-secantedex arcsech(x) Arco-secantehiperbolicodexarccsc(x) Arco-cossecantedex arccsch(x) Arco-cossecantehiperbolicodexarccot(x) Arco-cotangentedex arccoth(x) Arco-cotangentehiperbolicodex8 CAPITULO1. INTRODUC AOAOMAPLE1.10 PacotesQuando o Maple e iniciado,ele carregao seun ucleo (kernel). On ucleo corresponde aaproximadamente10%doprogramaefoielaboradoemlinguagemC.Eelequemfazasoperac oesaritmeticasbasicas,interpretaoscomandosdigitadosemostraresultados.OMaple possui varios pacotes. Eles saoagrupamentos de comandos comns es-peccos. Tempacoteparaconstruc aodegracos(comooplots),paraAlgebraLinear(comooLinearAlgebraeolinalg), paraadenicaodeobjetosgeometricos(comoogeometry),etc.Paraqueumcomandodeumpacotepossaserutilizado,precisamosforneceronomedopacotequeocontem. Issopodeser feitofornecendo-seonomedopacoteseguidodonomedocomandoentrecolchetes: pacote[comando]. Umaexpressaodessaformaechamadaonomecompletodocomando. Por exemplo, onomecompletodocomandoDeterminantquefazpartedopacoteLinearAlgebraeLinearAlgebra[Determinant]e o nome completo de IsEquilateral do pacote geometry e geometry[IsEquilateral].Uma maneira mais pratica de se ter acesso aos comandos de um pacote e digitar, antesdeusarocomando, umwith(pacote). Comisso, todososcomandosdopacotecamdisponveissemsernecessarioescrevermosseusnomescompletos.Seowith(pacote)forusadocomumpontoevrgulanonal, ent aoelemostraumarelacaocomtodososnomesdecomandosdopacote.Paraobterumateladeajudacomadescric aodopacote, bastadigitar?pacote, porexemplo> ?LinearAlgebrae para obter informacoes sobre um comando de um pacote, basta digitar ?pacote[comando]ou?pacote,comandoou,emmuitoscasos,simplesmente?comando.1.11 SubstituicaoEmumaexpressaoalgebricanasvari aveisx, y, . . . podemossubstituirxporexpr1,yporexpr2,etc. seusarmosumcomandodotiposubs(x = expr1, y= expr2, . . . , expressao).Exemplo1.6NaexpressaoalgebricaE= x2+y2+z2,inicialmentesubstitumosxpor2.> restart;> E := x^2 + y^2 + z^2;E:= x2+ y2+ z2> subs(x = -2, E);4 + y2+ z2> E;x2+ y2+ z2ObservequeaexpressaoEnaofoialteradacomasubstituicaoefetuada, porquenaofoifeitaumanovaatribuic aodevaloraE.> E := subs(x = a, y = b, E);1.12. SIMPLIFICAC AO 9E:= a2+ b2+ z2> E;a2+ b2+ z2Agora,a expressao Efoi alterada com a troca dex por a e ypor b e o resultado atribudoaela.Finalmente,substitumosa,bezporvaloresnumericos.> E := subs(a = -1, b = 3, z = -2, E);E:= 141.12 SimplicacaoAsimplicac aoefundamental naapresentacaodemuitos resultados. Paraisso, oMaple possui os comandos simplify(expressao, opcoes) e combine(expressao, opcoes)onde opcoes e opcional e pode ser usado para fazer suposicao sobre as vari aveis envolvidas(porexemplo,suporvalorespositivos).Exemplo1.7Simplicarcadaexpressao Expr1, Expr2, Expr3.> Expr1 := (x^6 + 3*x^5 - 3*x^4 - 42*x^3 - 153*x^2 + 3*x + 11) /(x^6 - 4*x^5 - 15*x^4 + 56*x^3 + 15*x^2 - 4*x - 1);Expr1 :=x6+ 3x53x442x3153x2+ 3x + 11x64x515x4+ 56x3+ 15x24x 1> simplify(Expr1);x2+ 3x + 11x24x 1> Expr2 := -(1/x^2+1/y^2)/(1/x^2-1/y^2) + (1/x^2-1/y^2)/(1/x^2+1/y^2);Expr2 :=1x2+1y21x2 1y2+1x2 1y21x2+1y2> simplify(Expr2);4x2y2y4+ x4> Expr3 := ((p*x^2+(k-s)*x+r)^2 - (p*x^2+(k+s)*x+r)^2)/((p*x^2+ (k+t)*x+r)^2-(p*x^2+(k-t)*x+r)^2);Expr3 :=(px2+ (k s)x + r)2(px2+ (k +s)x + r)2(px2+ (k + t)x + r)2(px2+ (k t)x + r)2> simplify(Expr3);st> Expr4 := a^3/((a-b)*(a-c)) + b^3/((b-c)*(b-a)) + c^3/((c-a)*(c-b));10 CAPITULO1. INTRODUC AOAOMAPLE1.13 ExpansaoUmasimplicac aopodeocorrer naosonosentidodediminuir otamanhodeumaexpressao. Em alguns casos e necessario desenvolver potencias e efetuar produtos, e, comisso, o tamanho da expressao pode aumentar signicativamente. O comando de uso geralparaexpansao eoexpand(expressao),cujousoexemplicamosnosexemplosaseguir.Exemplo1.8Vamos expandir o produto (x3)(x4) e desenvolver o binomio (a+b)6.> expand((x-3)*(x-4));x27x + 12> expand((a + b)^6);a6+ 6a5b + 15a4b2+ 20a3b3+ 15a2b4+ 6ab5+ b61.14 FatoracaoO comando factor(expressao, opcoes) pode ser usado para fatorar a expressao dada.Se nao for fornecida nenhuma informacao adicional atraves do parametro opcoes, o Mapleentendequeafatoracaodesejada eparaobterresultadoscomcoecientesinteiros.Exemplo1.9Fatorar x416 e x5+ x + 1.> x^4 - 16 = factor(x^4 - 16);x416 = (x 2)(x + 2)(x2+ 4)> x^5 + x + 1 = factor(x^5 + x + 1);x5+ x + 1 = (x2+ x + 1)(x3x2+ 1)Exemplo1.10O factor atua no numerador e no denominador de uma funcao racional.> factor((x^2+x-2)/(x^2-5*x+6));(x + 2)(x 1)(x 2)(x 3)> q := (x^4+4*x^3+10*x^2+12*x+5)/(x^4-14*x^3+67*x^2-120*x+50);q :=x4+ 4x3+ 10x2+ 12x + 5x414x3+ 67x2120x + 50> factor(q);(x2+ 2x + 5)(x + 1)2(x24x + 2)(x 5)21.15. EQUACOES 111.15 EquacoesUma equac ao e identicada pelo sinal de igualdade entre duas expressoes. O comandopararesoluc aoexatadeumaequacaoeosolve(equacao). Arespostafornecidapelosolve eumaseq uenciaderazesencontradas.Parafacilitarreferenciasfuturas, muitasvezeseconvenienteatribuirumaequacaoaumavariavel. Essaatribuicao eumcomandodaformavariavel := expressao1 = expressao2.O primeiro membro (lado esquerdo, left hand side) de uma equacao pode ser referenci-adocomumcomandolhs(equacao)eosegundomembro(ladodireito,righthandside)comumrhs(equacao). Porexemplo,sendoE:= x + 1 = 5 x,temoslhs(E) = x + 1erhs(E) = 5 x.Senaoforfornecidauma expressao2 comosegundomembrodaequacaooMapleassumequeele e0.Exemplo1.11Resolver a equacao logartimica log3(5x+4) log3(x) log3(x2) = 1.> eq5 := log[3](5*x + 4) - log[3](x) - log[3](x -2) = 1;eq5 :=ln(5x + 4)ln(3)ln(x)ln(3) ln(x 2)ln(3)= 1> x = solve(eq5);x = 41.16 Func oesExistemduasmaneirasdedenirumafunc aof(x)noMaple:comooperadorseta:f := x -> expressaonavariavel xcomumcomandounapply:f := unapply(expressao, x)Exemplo1.12Denirafuncaof(x) = x2ecalcularf(3).> f := x -> x^2;f:= x x2> f(-3);9Se f for usadacomovalor de umaatribuicaoaumavariavel g, entaoavariaveltambemcasendoumafuncaoigual `afunc aof:> g := f;g:= f> g(-3);12 CAPITULO1. INTRODUC AOAOMAPLE9Exemplo1.13Usamosounapplyparadenirumafuncaof(x)=x2+ 1apartirdeumaexpress aoalgebrica.> f := unapply(x^2 + 1, x);f:= x x2+ 1> f(-3);10Agoravamosusarounapplyparadeniroutrafuncaoh(t)obtidaapartirdeumaexpressaoalgebricanavariavel t.> expressao := 4*t^2 + 5*t - 1;expressao := 4t2+ 5t 1> h := unapply(expressao, t);h := t 4t2+ 5t 1> h(-1);2> h(2);25Captulo2AlgebraLinearO Maple possui de dois grandes pacotes de comandos para uso emAlgebra Linear: ummais antigo chamado linalg e outro mais recente chamado LinearAlgebra. Cada umtemmaisde100funcoes,saoindependenteseexecutamquaseasmesmastarefas. NestecaptuloexploraremosapenasopacoteLinearAlgebra.2.1 VetoresUm vetor pode ser denido comum comandoVector. O primeiro n umero inteiro po-sitivo fornecido como parametro desse comando sera considerado como sendo a dimensao(n umero de coordenadas) do vetor. Se nao for fornecida nenhuma outra informac ao alemdesse primeiro parametro, entao o vetor sera criado com todas as coordenadas iguais a 0.Seforfornecidoumsegundoparametro, ent aoesseparametroserausadoporcadacoordenadadovetor.Aenesimacoordenadadeumvetorvpodeserreferenciadacomosendov[n].Exemplo2.1> v := Vector(3); # vetor nulo com 3 coordenadasv:=__000__> w := Vector(3, 5); # vetor com 3 coordenadas iguais a 5w :=__555__> w[1] := -13; w[2] := 40;w1:= 13w2:= 40> w;w :=__13405__1314 CAPITULO2.ALGEBRALINEARSeforfornecidoumalista(expressoesseparadasporvrgulaseentrecolchetes)comoparametro do comando Vector ent ao o n umero de elementos da lista dene a dimensao dovetor e os elementos dessa lista denem as coordenadas do vetor. A func ao Dimension(v)podeserusadaparaseobteradimensaodovetorv.Exemplo2.2> w := Vector([4, -5, 11, 1, 0]);w :=__451110__> Dimension(w);5Outra maneira, mais simples, de se denir um vetor e listar as coordenadas, separa-lasporvrgulasecoloca-lasentreossmbolosmenoremaior(). Dessaforma, ovetorwanteriorpodeserdenidoassim:> w := < 4, -5, 11, 1, 0 >:Asprincipaisoperacoescomvetoresestaolistadasaseguir:VectorScalarMultiply(v,k)Produtodoescalar kpelovetor v. Podeser usadonaformak*v.CrossProduct(v,w)ProdutovetorialdevporwDotProduct(v,w)Produtointernodevporw. Podeserusadonaformav wVectorAdd(v,w,a,b)Combina cao linear av +bw. Se a = b = 1, ent aoVectorAdd(v, w, 1, 1) pode ser abreviado para VectorAdd(v, w) que e o mesmoquev + w.VectorAngle(v,w)Anguloentreosvetoresvew(emradianos)VetorNorm(v,2)Norma do vetor v. Esse comando admite um segundo parametro quedeveseriguala2paraqueanormaobtidasejaanormaeuclidianausual.Exemplo2.3Nesteexemplo,denimosdoisvetoresuevefazemosdiversasoperacoescomeles.EdenidatambemumafuncaoNorma(v) comosendoumaalternativaaV ectorNorm(v, 2).> u := : # definic~ ao do vetor u> v := : # definic~ ao do vetor v>> VectorScalarMultiply(v, 5); # produto de v pelo escalar 5__25015__> Norma := v -> VectorNorm(v, 2);2.2. MATRIZES 15Norma:= v LinearAlgebra: VectorNorm(v, 2)> Norma(u);3> alpha := VectorAngle(u, v); # ^angulo entre u e v := arccos_451334_> convert(alpha, degrees); # converte alpha em graus180arccos_451334_degrees> evalf(%); # numero decimal que corresponde ao ^angulo em graus37.61611202degrees> w := CrossProduct(u, v); # produto vetorial u x vw :=__325__> VectorAngle(w, u); # verificando se w e u s~ao ortogonais12 > VectorAngle(w, v); # verificando se w e v s~ao ortogonais12 > convert(%, degrees); # convertendo o ^angulo anterior para graus90degrees2.2 MatrizesUma matriz nula mn pode ser denida no Maple com um comandoMatrix(m, n).> with(LinearAlgebra):> A := Matrix(2,4);A :=_0 0 0 00 0 0 0_Depoisdedenida,podemosfazerreferenciaseparadamenteaoselementosdamatrizA. OelementoAijnai-esimalinhaej-esimacolunadamatrizApodeserreferenciadocomoA[i, j].Uma matriz tambempode ser denida passando-se como parametro do comandoMatrixumalistadelistas demesmotamanho. Nestecaso, cadalistafornecidaserainterpretadacomosendoumalinhadamatriz.Exemplo2.4VamosdenirumamatrizX, modicaroselementosX13eX22elistaramatrizmodicada.16 CAPITULO2.ALGEBRALINEAR> X := Matrix([[1,2,3],[4,5,6]]);X:=_1 2 34 5 6_> X[2, 3]; # lista o elemento X ndice 236> X[1, 3] := 0; X[2, 2] = -101;X1,3:= 0X2,2:= 101> X;_1 2 04 101 6_Umamatriz(aij)tambempodeserdenidafornecendo-seaocomandoMatrixasuaordemeumafuncaofdeduasvari aveis. Nestecasooelementoaijseradenidocomosendoigualaf(i, j).Exemplo2.5Nesteexemplodenimos umamatriz 2 2cujoelementodalinhai ecolunajedenidocomosendof(i, j) = i +j 10.> f := (i,j) -> i+j-10:> Matrix(2,f); # e o mesmo que Matrix(2, 2, f)_ 8 77 6_Essamatriztambempoderiatersidodenidanaforma Matrix(2, (i,j)->i+j-10).Exemplo2.6Denimosumamatriz5 5apartirdeumaleideformacaoAij= g(i, j)ondegeumafuncaodada.> g := (x,y)-> x - y + 1 + max(x, y)*(max(x, y) - 1):>> A := Matrix(5, 5, g);A :=__1 2 5 10 174 3 6 11 189 8 7 12 1916 15 14 13 2025 24 23 22 21__Umamatriztambempodeserdenidaporcolunas. Paraisso, bastafornecercadacolunaentresinaisdemenoremaior,separa-lasporbarrasverticaiseenvolvertodasascolunasporsinaisdemenoremaior.Exemplo2.7NesteexemplodenimosumamatrizMporcolunas.> M := ;M:=__1 4 7 102 5 8 113 6 9 12__2.3. MATRIZESINVERSAS 172.3 MatrizesInversasAmatrizinversadeMecalculadacomocomandoMatrixInverse(M).Exemplo2.8CalcularainversadeumamatrizA.> with(LinearAlgebra):> A := Matrix([[3,1], [-5,2]]);A :=_3 15 2_> B := MatrixInverse(A);B:=_211111511311_> A.B; # verificando se o produto e a matriz identidade_1 00 1_Ocalculodamatrizinversatambempodeser feitacomumcomandonaformadepotencia M^(-1) ou tambem na forma MatrixInverse(M, opc~ oes), onde opcoes pode ci-tar o metodo de calculo utilizado, por exemplo, method=integer oumethod=Cholesky,entreoutros.Exemplo2.9Uma boa opcao aos nomes longos das funcoes de LinearAlgebrae acriacaodeapelidoscomocomandoalias,comofazemosnesteexemplo.> with(LinearAlgebra):> alias(INV = MatrixInverse):> M := Matrix([[24,32,9,12], [40,56,15,21], [15,20,6,8], [25,35,10,14]]);M:=__24 32 9 1240 56 15 2115 20 6 825 35 10 14__> INV(M);__14 8 21 1210 6 15 935 20 56 3225 15 40 24__2.4 Determinante,TracoeMatrizTranspostaO determinante, o traco (soma dos elementos da diagonal principal) e a transposta deuma matriz M sao calculados com os comandos Determinant(M), Trace(M) eTranspose(M),respectivamente.Exemplo2.10OcomandoRandom(m, n, generator=a..b)geraaleatoriamenteumamatrizmncomelementosnointervalo[a, b]. Nesteexemplo,geramosaleatoriamenteuma matriz A de ordem 22, calculamos sua transposta Be os determinantes e os tracosdessasmatrizes(quedevemterosmesmosvalores).18 CAPITULO2.ALGEBRALINEAR> A := RandomMatrix(2, 2, generator=-9..9);A :=_ 4 24 8_> B := Transpose(A);B:=_ 4 42 8_> x := Trace(A); y := Trace(B);x := 4y:= 4> z := Determinant(A); w := Determinant(B);z:= 40w := 40Exemplo2.11Nesteexemplo,denimosumamatriz4 4,calculamosefatoramosseudeterminante.> M := Matrix([[a,b,c,d],[-b,a,-d,c],[-c,d,a,-b],[-d,-c,b,a]]);M:=__a b c db a d cc d a bd c b a__> Determinant(M);a4+ 2a2b2+ 2d2a2+ 2a2c2+ b4+ 2d2b2+ 2b2c2+c4+ 2c2d2+ d4> factor(%); # fatora o determinante de M(b2+ a2+ c2+ d2)2Exemplo2.12VamosdenirumamatrizdeVandermondedeordem3ecalcularseudeterminante na forma fatorada. Criamos umapelido DETpara abreviar o comandoDeterminant.> with(LinearAlgebra):> alias(DET=Determinant):> P := VandermondeMatrix();P:=__1 x x21 y y21 z z2__> DET(N);yz2zy2+ xy2xz2+ x2z x2y> factor(%);(z +y)(x z)(x y)2.5. SISTEMASLINEARES 192.5 SistemasLinearesSistemaslinearesaparecememmuitosproblemasdeAlgebraLinear. ElespodemserresolvidoscomumcomandoLinearSolve(A, opcoes)ondeAeamatrizcompletadoscoecientesdasequacoesdosistema.Exemplo2.13Nesteexemplo,resolvemososistema___x + y + z = 6x y z = 02x + 3y + 6z = 18cujamatrizcompletaeA =__1 1 1 61 1 1 02 3 6 18__.> with(LinearAlgebra):> A := Matrix([[ 1, 1, 1, 6], [1, -1, -1, 0], [2, 3, 6, 18]]);A :=__1 1 1 61 1 1 02 3 6 18__> LinearSolve(A); # resolve o sistema definido pela matriz A__321__Temosassimasoluc aodosistema: x = 3,y= 2,z= 1.Exemplo2.14Vamosresolveragoraosistemalinearhomogeneo___x 3z + 3w = 02x + y + 5z 3w = 03x + y + 2z w = 0cujamatrizcompletadoscoecienteseM=__1 0 3 3 02 1 5 3 03 1 2 1 0__> with(LinearAlgebra):> M := ;M:=__1 0 3 3 02 1 5 3 03 1 2 1 0__Resolveosistemaconsiderandoavariavel livrecomosendow> LinearSolve(M, free=w);20 CAPITULO2.ALGEBRALINEAR__3w311w3w30__Senaoforespecicadoumaopcaototipofree=variaveloMapleusaraonomedavariavel livrecomosendo_t0. Assim, nesteexemplo, arespostaaLinearSolve(M)seria__3 t0311 t03t030__Exemplo2.15Neste exemplo resolvemos um sistema linear do tipo A.X = B e, no nal,conferimosarespostaobtida.Ocomandofazumacolagemdasmatrizes AeBparaoresultadoserpassadoparaocomandoLinearSolve.> restart;> with(LinearAlgebra):> A := ;A :=__1 1 1 1 5 00 0 0 1 7 22 0 1 1 3 01 1 0 0 0 1__> B := ;B:=__6615__ColaasmatrizesAeBedeneonomedavariavel livre> X:=LinearSolve(, free=t);X:=__11 + 3/2t6 6t56 5/2t6 + 6t517 t6 + 2t56 + 7t5 2t6t5t6__Osistematemduasvariaveislivres. Porisso,otrecebeudois ndices: 5e6. Assim,asvariaveislivressaot5et6.> A.X; # calcula A.X para verificar se e igual a B__6615__2.5. SISTEMASLINEARES 21Exemplo2.16Neste exemplo,fornecemos o sistema como sendo uma lista de equacoes.Nanotacaoutilizada, x[i] corresponde axiDenimos tambemalistade variaveis e,depois, usamosocomandoGenerateMatrixparaconstruirasmatrizesdoscoecientesapartirdaslistasfornecidas.> sistema := [ x[1] - x[2] + x[3] = 7, 2*x[1] + 3*x[3] = 11,x[1]-2*x[2] + 4*x[3] = 0];sistema := [x1 x2 +x3= 7, 2x1 + 3x3= 11, x1 2x2 + 4x3= 0]> variaveis := [x[1], x[2], x[3]];variaveis := [x1, x2, x3]Semopcoes,afuncaoGenerateMatrixretornaduasmatrizesdecoecientes:> GenerateMatrix(sistema, variaveis);__1 1 12 0 31 2 4__,__7110__EmelhorusarafuncaoGenerateMatrixcomaopcaoaugmented=truepoisassimelaretornarauma unicamatriz,convenienteparapassarparaLinearSolve:> A := GenerateMatrix(sistema, variaveis, augmented=true );A :=__1 1 1 72 0 3 111 2 4 0__> LinearSolve(A); # resolve o sistema dado__64/72/717/7__O comando LinearSolve admite parametros opcionais que permitem denir o metodode resoluc ao a ser utilizado, por exemplo, LinearSolve(A, method = Cholesky),LinearSolve(M, method = LU), LinearSolve(A, method = SparseIterative),etc.Exemplo2.17E possvel tambem resolver sistemas lineares de forma simples e ecientecomocomandosolvedabibliotecapadrao. Paraisso, bastafornecer oconjuntodeequacoesdosistemanoformatousual.> sist := { x + y + z + w + t = 0, x - 2*y - w + 3*t = 1,2*x - y + z + 4*t = 1 }:> solve(sist);{t = t, y= 13 13z 23w +23t, x =13 23z 13w 53t, w = w, z= z}Podemosobservarqueosistemadadotemduasvariaveislivres: zew.22 CAPITULO2.ALGEBRALINEAR2.6 MatrizesEscalonadasMatrizesnaformaescada(escalonadas)saomuitosfreq uentese uteisnoestudodaAlgebraLinear.OMapleexecutaessetipodeoperac aocomoscomandosGaussianElimination(M)que fornece uma matriz triangular inferior (pelo metodo da eliminac ao de Gauss) eReducedRowEhcelonForm(M)queforneceaformacompletamenteescalonadadeM, utilnaresoluc aodesistemaslineares.> with(LinearAlgebra):> A := Matrix( [[ 1, 2, 1, -1], [ 2, 1, 1, 1], [3, 3, 2, 0],[ -5, 3, 0, 1]]);A :=__1 2 1 12 1 1 13 3 2 05 3 0 1__> GaussianElimination(A);__1 2 1 10 3 1 30 0 2/3 90 0 0 0__> ReducedRowEchelonForm(A);__1 0 0 7/20 1 0 11/20 0 1 27/20 0 0 0__Resolvendo o sistema linear denido pela matriz A podemos notar a semelhanca entreasoluc aoobtidaea ultimacolunadamatrizanterior.> LinearSolve(A);__7/211/227/2__2.7 DependenciaeIndependenciaLinearDadososvetoresv1, . . . vn, seaequacao(oumelhor, osistemalinear) denidaporx1v1 + . . . xnvn=0possuirapenasasolucaonulax1= =xn=0, ent aoosvetoresdados chamam-se linearmente independentes; caso contr ario, eles chamam-se linearmentedependentes.Exemplo2.18Dadosquatrovetores(quesaomatrizesdeordem2 2)vamosinicial-mentevericarseelessaolinearmenteindepedentes.> M1 := ; M2 := |>;M3 := ; M4 := ;2.7. DEPENDENCIAEINDEPENDENCIALINEAR 23M1 :=_1 32 4_M2 :=_0 10 1_M3 :=_1 20 1_M4 :=_ 1 00 3_Ocomandoevalmcalculaovalordeumaexpressaomatricial:> combinacao_linear := evalm(a*M1 + b*M2 + c*M3 + d*M4);combinacaolinear :=_a + c d 3a + b 2c2a 4a + b + c + 3d_> conj := convert(combinacao_linear, set); # converte matriz em conjuntoconj:= {4a + b + c + 3d,2a,3a + b 2c,a + c d}> solve(conj); # iguala a zero as equac~ oes e resolve o sistema{a = 0,b = 0,d = 0,c = 0}VericamosassimqueosvetoresM1, M2, M3eM4dadossaolinearmenteindepen-dentes.Agora, dadooutrovetorM, vamosescreve-locomocombinacaolineardosquatrove-toresdadosinicialmente.> M := ;M:=_11 713 5_> temp := evalm(combinacao_linear - M);temp :=_a + c d 11 3a +b 2c + 72a 13 4a +b + c + 3d + 5_> ConjEq := convert(temp, set); # converte matriz em conjuntoConjEq:= {3a + b 2c + 7,a + c d 11,2a 13,4a + b + c + 3d + 5}> sol: = solve(ConjEq); # iguala a zero e resolve o sistemasol := {a = 13/2,b = 47/2,c = 3/2,d = 3}Finalmente,substitumosasolucaoobtidanacombinacaolinear> subs(sol, m = a*m1 + b*m2 + c*m3 + d*m4);_11 713 5_=132_1 32 4_472_0 10 1_+32_1 20 1_3_ 1 00 3_24 CAPITULO2.ALGEBRALINEARExemplo2.19Nesteexemplo,vamosmostrarqueasfuncoesy1= cos(x),y2=sen (x)ey3= exsaolinearmenteindependentes.Fazemosumacombinacaolinearfcomessasfuncoes(denidaemformadefuncao).Depois, atribumos tres valores quaisquer a x e obtemos tres equacoes lineares nas variaveisa, bec. Da,resolvemososistemalinearobtidoevericamosquetemapenasasolucaoa = b = c = 0.Deve-seterbastantecuidadoaodigitarafuncaoexponencial ex. ParaoMapleessafuncaodeveserdigitadanaformaexp(x).> f := x -> a*cos(x) + b*sin(x) + c*exp(-x);f:= x a cos(x) + b sin(x) + ce(x)> sist := [f(1)=0, f(2)=0, f(3)=0]; # poderamos ter usado outros> # valores no lugar de 1, 2, 3sist := [a cos(1) + b sin(1) + ce(1)= 0, a cos(2) + b sin(2) + ce(2)= 0,a cos(3) + b sin(3) + ce(3)= 0]> v := [a, b, c]; # definimos a lista de variaveisv:= [a, b, c]> with(LinearAlgebra):> M := GenerateMatrix(sis, v, augmented=true);M:=__cos(1) sin(1) e(1)0cos(2) sin(2) e(2)0cos(3) sin(3) e(3)0__Meamatrizcompletadosistema. Pararesolve-loesochamarafuncaoLinearSolve:> LinearSolve(M);__000__Obtemos assim somente a solucao nula para o sistema e, conseq uentemente, os vetoresdadossaolinearmenteindependentes.Outrasolucao,maissimples,estaapresentadaaseguir.> sist2 := {f(1), f(2), f(3)};sist2 := {a cos(3) + b sin(3) + ce(3),a cos(2) + b sin(2) + ce(2),a cos(1) + b sin(1) + ce(1)}> solve(sist2);{a = 0,c = 0,b = 0}Observequesistfoidenidacomoumalistaesist2comoumconjunto. Issoocor-reuporqueas funcoes LinearSolveesolveexigemcomoparametros umalistaeumconjunto,respectivamente.Exemplo2.20Vamosmostraragoraqueastresfuncoespolinomiaisdadassaolinear-mentedependentes.2.8. BASES 25> p := x -> 1 + 2*x + 3*x^2;> q := x -> x + x^2;> r := x -> -1 + 2*x + x^2;p := x 1 + 2x + 3x2q:= x x + x2r := x 1 + 2x + x2> F := a*p(x) + b*q(x) + c*r(x);F:= a(1 + 2x + 3x2) + b(x + x2) + c(1 + 2x +x2)> P := collect(F, x); # soma termos semelhantesP:= (3a + b + c)x2+ (2a + b + 2c)x +a c> sist := {coeffs(P, x)}; # define conjunto de coeficientes de Psist := {a c,3a + b +c,2a +b + 2c}> solve(sist); # resolve o sistema{b = 4c,a = c,c = c}Comoobtivemosoutrassolucoesalemdasolucaonula, asfuncoesdadassaolinear-mentedependentes.2.8 BasesOcomandoBasis([listadevetores])escolheentreosvetoresfornecidosnumalistaaquelesquesaolinearmenteindependents, ouseja, escolheumabaseparaosubespacogeradoporessalistadevetores.OcomandoSumBasis([[lista1], [lista2], ...]) recebeumalistadelistasdevetoreseencontraumabaseparaasomadossubespacosgeradospelosvetoresdecadalista. Analogamente, IntersectionBasis([[lista1], [lista2], ...])encontra umabaseparaaintersecaodossubespacosgeradospelosvetores.Exemplo2.21Neste exemplo,denimos seis vetores v1, v2, v3, v4, v5 e v6 com algumasdependencias: v3 =v1+v1e v6 =v4+v5. Depois, calculamos algumas bases desubespacosgeradosporeles.> restart;> with(LinearAlgebra):>> v1 := < 1 | 1 | 1 | 0 >; v2 := < 0 | 1 | 1 | 1>; v3 := ;> v4 := < 0 | 1 | 0 | 0 >; v5 := < 0 | 0 | 1 | 0>; v6 := ;v1 := [1, 1, 1, 0]v2 := [0, 1, 1, 1]v3 := [1, 2, 2, 1]v4 := [0, 1, 0, 0]v5 := [0, 0, 1, 0]v6 := [0, 1, 1, 0]Basedosubespacogeradoporv1, v2, v3, v4, v5, v6.Notequev3ev6saodescartados.26 CAPITULO2.ALGEBRALINEAR> Basis([v1, v2, v3, v4, v5, v6]);[[1, 1, 1, 0], [0, 1, 1, 1], [0, 1, 0, 0], [0, 0, 1, 0]]Basedosubespacogeradoporv1, v2, v4ev1 +v2 +v4:> Basis([v1, v2, v4, v1 + v2 + v4]);[[1, 1, 1, 0], [0, 1, 1, 1], [0, 1, 0, 0]]Basedosubespacogeradoporv1, 2v1e3v1:> Basis([v1, 2*v1, 3*v1]);[[1, 1, 1, 0]]Basedosubespaco-somaU+ V,ondeU=< v1, v2 >eV=< v1, v2, v3, v4 >:> SumBasis([[v1, v2], [v1, v2, v3, v4]]);[[1, 1, 1, 0], [0, 1, 1, 1], [0, 1, 0, 0]]Basedosubespaco-somaR + S,ondeR =< v1, v2 >eS=< v4, v5 >:> SumBasis([[v1, v2], [v4, v5]]);[[1, 1, 1, 0], [0, 1, 1, 1], [0, 1, 0, 0], [0, 0, 1, 0]]Basedosubespaco-interse caode< v1, v3 >com< v1, v5, v6 >:> IntersectionBasis([[v1, v3], [v1, v5, v6]]);[[1, 1, 1, 0]]Basedosubespaco-interse caode< v2, v3, v4 >com< v3, v4, v5 >:> IntersectionBasis([[v2, v3, v4], [v3, v4, v5]]);[[0, 1, 0, 0], [1, 2, 2, 1]]2.9 Transformac oesLinearesSendoUeV espacosvetoriais,umatransformac aolinearT: U VeumafuncaotalqueT(kv) = kT(v)eT(u + v) = T(u) + T(v)paraquaisquerk Reu, v U.Exemplo2.22Nesteexemplo,denimosduasfuncoesR, S: R3R3taisqueR(x, y, z) =__x 2yzx + y__, S(x, y, z) =__xyz0__.Depois, implementamos as condicoes de denicao de uma transformacao linear em formadefuncoesbooleanas(queretornamumvalor trueoufalse). Finalmente, denimosumaterceirafuncaobooleanaELinear(F)queretornatrueseFforlinearoufalseemcasocontr ario.UsamosafuncaobooleanaEqual(v, w)queretornatrueseosvetoresvewforemiguaisoufalseemcasocontrario.2.9. TRANSFORMACOESLINEARES 27> restart;> with(LinearAlgebra):> nulo := : # define um vetor nulo>> R := (x, y, z) -> :> S := (x, y, z) -> :>> Cond1 := T -> Equal(nulo, simplify(T(k*x, k*y, k*z) - k*T(x, y, z))):> Cond2 := T -> Equal(nulo, simplify(T(a, b, c) + T(d, e, f) - T(a+d,> b+e, c+f))):> E_Linear := T -> Cond1(T) and Cond2(T):>> E_Linear(R); # verifica se R e lineartrue> E_Linear(S); # verifica se S e linearfalsePortanto,nesteexemplo,somenteRelinear.Exemplo2.23Nesteexemplo,denimosumatransformacaolinearTecalculamossuamatrizAcomrelacao`abasecanonicado R3DepoisdocalculodainversadeA, cons-trumosatransforma caolinearS=T1.> restart;> with(LinearAlgebra):> T := (x, y, z) -> ;T :=(x, y, z) < x + 2y z,x + y,2x + 5y 4z>> A := Matrix([T(1, 0, 0), T(0, 1, 0), T(0, 0, 1)]);A :=__1 2 11 1 02 5 4__> B := A^(-1);B:=__4 3 14 2 13 1 1__> S := (x, y, z) -> B . ;S:=(x, y, z) B. < x, y, z>> S(x, y, z);__4x + 3y + z4x 2y z3x y z__> T(x, y, z);28 CAPITULO2.ALGEBRALINEAR__x + 2y zx + y2x + 5y 4z__> S(7, 11, -33); # testando ...__283943__> T(-28, 39, 43);__71133__2.10 N ucleodeumaTransformacaoLinearUma base para o n ucleo (kernel) de uma transformac ao linear denida por uma matrizTecalculadacomocomandoNullSpace(T).Abasecalculada emostradanaformadelistadevetores.Exemplo2.24GeramosaleatoriamenteumamatrizMdeordem3 3comelementosnointervalo[0,9]ecalculamosseun ucleo.> with(LinearAlgebra):> M := RandomMatrix(3, 3, generator=0..9);M:=__5 1 81 1 43 0 8__> NullSpace(M); # calcula ker(M){ }Arespostaobtidasignicaqueon ucleo eformadoapenaspelovetornulo(quecorres-pondeaumabasevazia).Exemplo2.25Neste exemplo, determinamos o n ucleo da transformacao linearT : R4R3cujamatrizcomrelacao`asbasescanonicase__1 2 0 12 1 2 11 3 2 2__, istoe,T(x, y, z, w) =(x + 2y + w,2x y + 2z w,x 3y + 2z 2w).> with(LinearAlgebra):> T := Matrix([[1, 2,0, 1], [2,-1,2,-1], [1,-3,2,-2]]);T:=__1 2 0 12 1 2 11 3 2 2__VericandoseamatrizTcorrespondeaoT(x, y, z, w)desejado:> T . ;2.11. POLINOMIOCARACTERISTICO 29T:=__x + 2y + w2x y + 2z wx 3y + 2z 2w__> K := NullSpace(T); # calcula uma base para ker(T)K:=_____0214__,__1305_____Keumconjuntodevetores {K[1], K[2]}.Paravericararespostaobtida,testamosseoprodutoT K[i]enulo> T . K[1];__000__> T . K[2];__000__2.11 PolinomioCaractersticoOpolinomiocaractersticop() =det(A I)deumamatrizApodesercalculadousando-se a funcao CharacteristicPolynomial da biblioteca LinearAlgebra do Maple.Suasintaxe eCharacteristicPolynomial(matriz,variavel).Oconceitodepolinomiocaractersticoestarelacionadocomduasoutrasdenic oes: adematrizcaractersticaCharacteristicMatrix(matriz,variavel)eadematrizcompa-nheiraCompanionMatrix(polinomio,variavel).Exemplo2.26NesteexemplocalculamosopolinomiocaractersticodeumamatrizA.Denimos tambemumamatriz Mcomosendoamatriz caractersticadeAecalcula-mososeudeterminante. ObservequeodeterminantedeMcoincidecomopolinomiocaractersticodeA.> with(LinearAlgebra):> A := Matrix([[1, 2, 3, 4], [2, 3, 4, 1], [3, 4, 1, 2], [4, 1, 2, 3]]);A :=__1 2 3 42 3 4 13 4 1 24 1 2 3__> M := CharacteristicMatrix(A, lambda);M:=__ + 1 2 3 42 + 3 4 13 4 + 1 24 1 2 + 3__> CharacteristicPolynomial(A, lambda);30 CAPITULO2.ALGEBRALINEAR483282+ 64 + 160> Determinant(M);483282+ 64 + 160Umaalternativainteressanteaesses nomes decomandos quilometricoseousodeapelidos:> alias(CAR = CharacteristicPolynomial, MC = CompanionMatrix);CAR, MC> CAR(A, y);y48y328y2+ 64y + 160Exemplo2.27NesteexemploconstrumosinicialmenteamatrizcompanheiraMdeumpolinomiomonico(coecientedotermodemaiorgrauigual a1). Depois, calculamosopolinomiocaractersticodeMeobservamosqueeleeigual aopolinomiodado.> with(LinearAlgebra):> p := 15 + 4*x - 7*x^2 - 11*x^3 + x^4;p := 15 + 4x 7x211x3+ x4> M := CompanionMatrix(p); # e o mesmo que CompanionMatrix(p, x)M:=__0 0 0 151 0 0 40 1 0 70 0 1 11__> CharacteristicPolynomial(M, x); # igual ao polin^omio p15 + 4x 7x211x3+ x42.12 AutovaloreseAutovetoresAsrazesdopolinomiocaractersticodeumamatrizAsaochamadosautovaloresdamatriz. NoMaple, elespodemsercalculadoscomumcomandoEigenvalues(A). Essecomando admite alguns parametros opcionais (como por exemplooutput=list) que ser-vemparaespecicaroformatodasadadosresultadosencontrados.Exemplo2.28NesteexemplocalculamososautovaloresdeumamatrizA. Depois,cal-culamosopolinomiocaractersticodessamesmamatrizecalculamossuasrazes. Assim,podemos observar que essas razes coincidemcomos valores fornecidos pelocomandoEigenvalues(A).> with(LinearAlgebra):> A := ;A :=__4 2 01 1 00 1 2__> Eigenvalues(A); # mostra os autovalores de A em forma de matriz-coluna2.12. AUTOVALORESEAUTOVETORES 31__252+121752 1217__> p := CharacteristicPolynomial(A, x);p := 4 + 12x 7x2+ x3> solve(p);2,52+1217,52 1217Exemplo2.29Duas matrizes demesmaordemdaformaAeP1AP saochamadassemelhantes(ouconjugadas). Sabe-sequeduasmatrizessemelhantestemmuitascoisasemcomum: mesmodeterminante,mesmotraco,mesmosautovalores,etc.Nesteexemplo,partindodeumamatrizdiagonal Acomautovaloresdados(-3,1,5e11)construmosumaoutramatrizMquetemosmesmosautovaloresqueA. AmatrizMe construdacomaajudade umamatriz invertvel P de mesmaordeme geradaaleatoriamente.> restart:> with(LinearAlgebra):> A := DiagonalMatrix();A :=__3 0 0 00 1 0 00 0 5 00 0 0 11__> P := RandomMatrix(4, 4, generator=-3..3);P:=__1 1 3 31 1 0 33 0 1 11 0 3 0__> M := P^(-1) . A . P; # calcula uma matriz conjugada de AM:=__15 4 42 1272 29 312 724/3 4/3 3 486/3 32/3 118 27__> Eigenvalues(M, output=Vector[row]); # mostra os autovalores em forma> # de matriz-linha[1, 3, 5, 11]Se e um autovalor de Te v = 0 e tal que Tv= ventao vchama-se um autovetor deTassociadoa. NoMapleosautovetoresdeTpodemsercalculadoscomumcomandoEigenvectors(T).Outros parametros opcionais podemser passados para esse comando comespeci-cacoes sobre o formado da sada dos dados. Se for usado apenas umEigenvectors(T),entaoseraomostradasduasmatrizescomoresposta: umamatriz-colunaPcomosauto-valoreseoutraQcujascolunassaoosautovetorescorrespondentes. Nestecaso,seQfor32 CAPITULO2.ALGEBRALINEARuma matriz quadrada, entao Te diagonalizavel e Q1TQ e uma matriz diagonal formadapelosautovalores.SetiversidousadoumcomandoEigenvectors(T, output=list)entaoarespostaseraumalistadelistas, cadaumacontendoumautovalor, adimensaodoautoespacoeumabaseformadopelosautovetoresassociados.Exemplo2.30CalculamososautovetoresdeumamatrizAemostramosarespostadeduasmaneiras: comoumapardematrizesecomoumalistadelistas.> restart:> with(LinearAlgebra):> A := Matrix([[1, 5, 5, 5, 5], [5, 1, 5, 5, 5], [5, 5, 1, 5, 5],[5, 5, 5, 1, 5], [5, 5, 5, 5, 1]]);A :=__1 5 5 5 55 1 5 5 55 5 1 5 55 5 5 1 55 5 5 5 1__> v := Eigenvectors(A);v:=__444421__,__1 1 1 1 11 0 0 0 10 1 0 0 10 0 1 0 10 0 0 1 1__> P := v[1] # P e a matriz-coluna dos autovalores de AP:=__444421__> Q := v[2]; # Q e a matriz cujas colunas s~ao os autovetores de AQ :=__1 1 1 1 11 0 0 0 10 1 0 0 10 0 1 0 10 0 0 1 1__> Q^(-1) . A . Q;__4 0 0 0 00 4 0 0 00 0 4 0 00 0 0 4 00 0 0 0 21__> w := Eigenvectors(A, output=list);2.12. AUTOVALORESEAUTOVETORES 33w :=____21, 1,_____11111_______,__4, 4,_____01001__,__00011__,__00101__,__10001_________Comoentenderessalistadelistas?Esimples: paracadaautovalordeAemostradoaoladodeleadimensaodoautoespacoassociado,seguidodabasedesseautoespaco. Porexemplo,21eumautovalordeAassociadoaumautoespacodedimensao1ecujabaseeformadapelovetor(1, 1, 1, 1).Exemplo2.31Neste exemplo calculamos os autovetores de uma matriz Tde ordem 44.Mostramos o resultado em forma de lista de listas da forma[ autovalor, dimensao, {base }] e, nonal, escolhemosumdosautovalores eumdos autovetores associados v etestamos seTv v =0, ouseja, vericamos sevemesmoumautovalordeTassociadoaoautovalor.> restart:> with(LinearAlgebra):> T := Matrix([[-3, 0, 0, 0], [-8, -19, -24, -24], [6, 12, 15, 8],[2, 4, 6, 13]]);T:=__3 0 0 08 19 24 246 12 15 82 4 6 13__> w := Eigenvectors(M, output=list);w :=____3, 2,_____2100__,__3010_______,__5, 1,_____0121_______,__7, 1,_____0011_________> w[1]; # lista correspondente ao primeiro autovalor__3, 2,_____2100__,__3010_______> lambda := w[1][1]; := 3> v := w[1][3][1];v:=__2100__> T . v - lambda*v;__0000__34 CAPITULO2.ALGEBRALINEAR2.13 PolinomioMinimalOpolinomiominimal(oupolinomiomnimo)deumamatrizA eopolinomiomonicom(x) de menor grautal que m(A) =0. NoMaple, ele pode ser calculadocomumcomandodotipoMinimalPolynomial(matriz,variavel).Exemplo2.32Nesteexemplocalculamosospolinomiosminimal pminecaractersticopcardeumamatrizAevericamosquepcaredivisvel porpmin. Apartirdepmin,criamosumafunc aopolinomial m(x)evericamosquem(A) = 0.> with(LinearAlgebra):> A := ;A :=__3 4 4 44 3 4 44 4 3 44 4 4 3__> pmin := MinimalPolynomial(A, x);pmin := 15 14x + x2> pcar := CharacteristicPolynomial(A, x);pcar := 15 44x 42x212x3+ x4> divide(pcar, pmin); # verifica se pcar e divisvel por pmintrue> m := unapply( pmin, x ); # define uma func~ao m(x)m := x 15 14x + x2> m(A);__0 0 0 00 0 0 00 0 0 00 0 0 0__2.14 FormaCanonicadeJordanAfunc aoJordanFormdabibliotecaLinearAlgebrapodeserusadaparacalcularaformacanonicadeJordandeumamatriz, bemcomoabasedevetoresassociadacomessaformacanonica.Se for usada na forma JordanForm(M) ou JordanForm(M, output=J) sera mostradaa forma de Jordan Jda matriz M. Se for usada na forma JordanForm(M, output=Q),sera mostrada uma matriz Q cujas colunas formam uma base de vetores associada `a formadeJordanenestecasoQ1MQ = J.Exemplo2.33NesteexemplocalculamosaformadeJordanJdeumamatrizdadaMdeordem3 3eumamatrizQtal queQ1MQ = J.> with(LinearAlgebra):> M := ;2.14. FORMACANONICADEJORDAN 35M:=__5 9 46 11 57 13 6__> J := JordanForm(M);J:=__0 1 00 0 10 0 0__> Q := JordanForm(M, output=Q);Q :=__1 5 11 6 01 7 0__> Q^(-1) . M . Q;__0 1 00 0 10 0 0__Exemplo2.34Apresentamos neste exemplo duas matrizes A e Bde ordem 44 que temomesmopolinomiocaracterstico, omesmopolinomiominimal, masnaotemamesmaformadeJordan. Pode-sededuzirdaqueelasnaosaosemelhantes.> with(LinearAlgebra):> A := Matrix([[ 43, 24, 12, 4], [-95, -55, -30, -10], [76, 48, 29, 8],[-19, -12, -6, 3 ]]);>> B:= Matrix([[53/7, 15/7, -1/7, 2/7], [45/7, 76/7, 1/7, 5/7 ],[-45/7, -41/7, 34/7, -5/7], [-522/7, -463/7, 1/7, -23/7]]);A :=__43 24 12 495 55 30 1076 48 29 819 12 6 3__B:=__53/7 15/7 1/7 2/745/7 76/7 1/7 5/745/7 41/7 34/7 5/7522/7 463/7 1/7 23/7__> J1 := JordanForm(A);J1 :=__5 1 0 00 5 0 00 0 5 00 0 0 5__> J2 := JordanForm(B);J2 :=__5 1 0 00 5 0 00 0 5 10 0 0 5__36 CAPITULO2.ALGEBRALINEAR> CharacteristicPolynomial(A, x);625 500x + 150x220x3+ x4> CharacteristicPolynomial(B, x);625 500x + 150x220x3+ x4> MinimalPolynomial(A, x);25 10x +x2> MinimalPolynomial(B, x);25 10x +x2OpacoteLinearAlgebrapossuioutrafuncaorelacionadacomaformadeJordandeumamatriz.Eafunc aoJordanBlockMatrix([lista]), ondelistaeumaseq uenciadaforma[1, n1], [2, n2], . . . . Essafuncaoconstroiumamatrizdiagonaldeblocosbaseadanalistapassadacomoparametro. Cada[i, ni] corresponde aumamatriz (blocodeJordan)deordemni nidaforma__i1 0 00 i1 00 0 i 0...............0 0 0 i__Exemplo2.35ConstruirduasmatrizescomafuncaoJordanBlockMatrix, formadasporblocosdeJordanpreviamenteescolhidos.> with(LinearAlgebra):> J1 := JordanBlockMatrix([[lambda, 4]]);J1 :=__ 1 0 00 1 00 0 10 0 0 __> J2 := JordanBlockMatrix([[4, 3], [ 5, 2], [ -3, 1]]);J2 :=__4 1 0 0 0 00 4 1 0 0 00 0 4 0 0 00 0 0 5 1 00 0 0 0 5 00 0 0 0 0 3__2.15 OrtogonalizacaoDada umconjunto de vetores v1, v2, . . . vn, e possvel construir uma base ortogo-nal paraosubespacogeradopor esses vetores. Esse processoe chamado Ortogona-lizacaodeGram-Schmidt e, nopacoteLinearAlgebra, eleeexecutadopelocomandoGramSchimidt([v1, v2, . . . , vn]). Se, alemdisso, for acrescentadoaessecomandoumaopcaonormalized, ent aoabaseobtidaseraortonormal, ouseja, formadaporvetoresortogonaisunitarios.2.15. ORTOGONALIZAC AO 37Exemplo2.36Nesteexemploconstrumosumabaseortogonal eumabaseortonormalparaosubespacovetorial geradoporquatrovetoresdados.> with(LinearAlgebra):> v1 := : v2 := : v3 := :v4 := :>> base1 := GramSchmidt([v1, v2, v3, v4]);base1 :=____0121__,__11/31/31/3__,__1/43/41/41/4__,__2/302/34/3____Vericamosagoraseosvetoresbase[1]ebase[2]obtidossaoortogonais:> base[1] . base[2];0Vericamossebase[3]ebase[4]saoortogonais:> base[3] . base[4];0Calculamosumabaseortonormal para< v1, v2, v3, v4 >:> base2 := GramSchmidt([v1, v2, v3, v4], normalized);base2 :=____0166136166__,__123163163163__,__163123163163__,__1660166136____Captulo3GracosOMaple possui muitos comandos e opcoes para construc ao de gracos, desde osgracosplanosmaissimplesateosgracostridimensionaismaissosticados.3.1 GracosdefuncoesOgracodeumafuncaodenidaporumaexpressaoalgebricay= f(x)navariavelxpodeserconstrudocomocomandoplot:plot(f(x),x=a..b,y=c..d,op1,op2,. . . )ondef(x) eumafunc aorealx=a..b eavariac aodox(domnio)y=c..d eavariac aodoy(opcional)op1,op2,. . . outrasopcoesNavariacaodoxoudoy,podeaparecer-infinityouinfinity(ou ).Exemplo3.1Nesteexemplo, construmosogracodaparabolay=x2. Denimosavariacaodoxcomosendoointervalo[2,2].> plot(x^2, x = -2..2);Exemplo3.2O comando a seguir constroi o graco da funcao polinomialy = x5+3x 1. Denimos ointervalode variacaodoxcomosendoointervalo[2,3/2]e,odavariacaodoy,como[4,10].> plot(-x^5 + 3*x -1, x = -2..3/2, y = -4..10);3.2 OpcoesdocomandoplotAsopc oesdoplotsaofornecidasemformadeigualdadesdotipoopcao=valor. Aspossibilidadessao:adaptivePode ser true ou false. Se adaptive=true (o padrao), o graco sera constru-do commaior n umero de pontos onde ele tiver uma maior curvatura. Seadaptive=false, ent aoserausadoumespacamentouniformeentreospontosdograco.axesEspecicaotipodoseixosutilizados: FRAME,BOXED,NORMALouNONE.383.2. OPCOESDOCOMANDOPLOT 39axesfontEspecicaotipodeletraparamarcarcadaeixo. Podeseremformadelista[fonte, estilo, tamanho], ondefonteeumdostiposTIMES, COURIER, HELVETICAouSYMBOL.ParaotipoTIMES,oestilopodeserROMAN, BOLD, ITALICouBOLDITALIC.Paraos tipos HELVETICAouCOURIER, oestilopodeser omitidoouser escolhidoentreBOLD, OBLIQUEouBOLDOBLIQUE. OtipoSYMBOLnaoprecisadeespecicacaodeestilo. Exemplo: axesfont = [TIMES, ROMAN, 20].colorOmesmoquecolour. Especicaacordogracoaserdesenhado. Podeseraquamarine black blue navy coral cyan browngold green gray grey khaki magenta maroonorange pink plum red sienna tan turquoiseviolet wheat white yellowouser denidanaformaCOLOR(RGB, r, g, b), onder, g, bsaovalores reais nointervalo [0, 1] que especicam a proporcao de vermelho, verde e azul que compoemacor. Exemplos: color = yellow;color = COLOR(RGB, 0.3, 0.5, 0.8).coordsIndica o sistema de coordenadas utilizado. Pode ser bipolar, cardioid,cartesian, elliptic, polar,entreoutros. Opadrao eocartesian.discontSeforajustadoparatrue, evitaraquesejamdesenhadaslinhasverticaisnospontosdedescontinuidadedograco. Seforfalse(queeopadrao), asdesconti-nuidadespodemaparecerligadasporsegmentosderetasverticais.lledSe for ajustado em true, a regiao entre o graco e o eixo x sera pintada. Na formapadrao, eajustadoemfalse.fontTipodeletraeventualmenteutilizadonograco(comoumttulo). Vejaaopc aoaxesfont,citadaanteriormente,paraumalistagemdasopc oes.Exemplo: font = [TIMES,ITALIC,14]labels=[x,y] Dene os nomes dos eixos. Opadraoe utilizar os mesmos nomes dasvariaveisusadasnafuncaofornecida.labeldirections=[x,y] Especicaadirecaodos rotulos que aparecemnos eixos. OsvaloresdexeydevemserHORIZONTALorVERTICAL.Opadrao eHORIZONTAL.labelfontTipodeletraparaosnomesdoseixos. Vejaaopc aoaxesfontanterior.legendLegenda do graco.E util quando desenham-se varios gracos simultaneamente.linestyleDene se o graco e construdo pontilhado ou solido. Pode ser um inteiro de 1 a4 ou, equivalentemente, uma das palavras: SOLID, DOT, DASH, DASHDOT. O padraoe o estilo SOLID. Exemplo: linestyle = 3 (que e o mesmo quelinestyle = DASH).numpointsEspecica o n umero de pontos utilizados para construir o graco. O padraoe50pontos. Exemplo: numpoints = 200scalingControlaaproporcaoentre as escalas dos eixos. Pode ser CONSTRAINEDouUNCONSTRAINED.Opadrao eUNCONSTRAINED.styleSeforajustadoemPOINT, ogracoseraconstrudocompontosisolados. SeforajustadoemLINE(que eopadrao),ospontosseraoligadosporsegmentosdereta.40 CAPITULO3. GRAFICOSsymbol Smboloutilizadoparamarcarospontosisolados. Podeserumdosseguintes:BOX, CROSS, CIRCLE, POINTouDIAMOND.symbolsizeTamanhodosmboloutilizadoparamarcarpontosisoladosnograco. Opadrao eovalor10.thicknessLarguradaslinhasusadasparadesenharograco. Podeserumvalorinteiromaiorouiguala0. Opadrao eovalor0.tickmarks=[m,n] Especica as quantidades mnimas de pontos marcados sobre os eixos.Paraespecicaraquantidadededeterminadoeixo,deveserusadaumadasopcoesxtickmarks = mouytickmarks = n.titleTtulo do graco fornecido como string (portanto, entre aspas). Se o ttulo contivermaisdeumalinha, umsinal de \npodeserusadoparasinalizaronal decadalinha. Exemplo: title=Gracodafuncaof(x)=cos(5x)titlefontEspecicaotipodeletradottulo. Exemplo: titlefont=[COURIER,BOLD,5]view=[xmin..xmax,ymin..ymax] Especicaascoordenadasmaximasemnimasdacurvaasermostrada. Opadrao emostrartodaacurva.Exemplo: view = [-2..1, -1..0.5]xtickmarksIndica a quantidade mnima de pontos a ser marcada sobre o eixo horizontalouumalistadecoordenadas.Exemplo: xtickmarks = [-2, -1, 1, 3, 5, 7]ytickmarksIndicaaquantidademnimadepontosasermarcadasobreoeixoverticalouumalistadecoordenadas.Exemplo: ytickmarks = 4Exemplo3.3Ocomandoaseguirconstroi ogracodafuncaosenoem[2,2].Emostradoumttulodograco,usandootipodeletratimesitalicodetamanho20.> plot(sin(x),x = -2*Pi..2*Pi, title="Grafico da funcao seno",> titlefont=[TIMES, ITALIC, 20]);Exemplo3.4Ocomandoaseguirconstroiogracodamesmafuncaosenodoexemploanterior, no intervalo [2,2]. Agora, fazemos um graco mais grosso (thickness = 4),comumacorformadaporumamisturadevermelhocomazul (color=COLOR(RGB,0.9,0.0,0.7));os eixos sao mostrados como se fossem uma moldura envolvendo o graco(axes=BOXED).Alemdisso,oseixossaorotuladoscomasexpressoesVariacaodoxey=sen(x), escritascomtipodeletraTIMESitalicodetamanho15, comorotulodoeixoxescritonadirecaohorizontal,e,odoeixoy,nadirecaovertical.> plot(sin(x), x = -2*Pi..2*Pi, axes=BOXED, thickness=4,> color = COLOR(RGB, 0.9, 0.0, 0.7),> labeldirections=[HORIZONTAL, VERTICAL],> labels=["Variacao do x", "y = sen(x)"],> labelfont=[TIMES, ITALIC, 15]);Exemplo3.5Ocomandoaseguirconstroi ogracodafuncaotangentenointervalo[7,7]. Oresultadoemuitoruim.> plot(tan(x), x = -7..7);3.3. CONSTRUINDOVARIOSGRAFICOSSIMULTANEAMENTE 41NaFigura3.1, emostradoogracodamesmafuncaotangente, limitando-seava-riacaodoyaointervalo[10,10]. Notequecoucomumaspectobemmelhordoqueogracoanterior,ondedeixou-selivreavariacaodoy,ouseja,acriteriodoMaple.> plot(tan(x), x=-7..7, y=-10..10);Figura 3.1:1086420246810y6 4 2 2 4 6xExemplo3.6O comando a seguir constroi o graco da funcao f(x) = 2 sen x+ sen (15x)nointervalo[8,8]. Construmosogracocomumalinhadelargura2eaumentamospara200aquantidadedepontos. Alemdisso, usamos amesmaescala, tantonoeixohorizontal,quantonovertical (scaling=CONSTRAINED).> plot(2*sin(x)+sin(15*x), x=-8..8, numpoints=200, linestyle=SOLID,> thickness=2, scaling=CONSTRAINED);Exemplo3.7Na gura 3.2, construmos o graco da funcao contnua por partes denidapory=___x29 se x < 04x + 3 se 0 x < 25 (x 2)2se 2 x> y := piecewise(x < 0, x^2-9, 0 x >= 2, 5 - (x-2)^2):> plot(y, x=-4..5, discont=true, thickness=3,> ytickmarks = [-9,0,3,5,11]);Notequeescolhemos,precisamente,quaissaoasmarcasquequeremosqueaparecamnoeixoy.3.3 ConstruindovariosgracossimultaneamentePara construir varios gracos em um mesmo sistema de eixos coordenados, a maneiramaissimplesefornecerumalistadefunc oes[f1, f2, . . . ]emvezdesoumafunc ao.42 CAPITULO3. GRAFICOSFigura 3.2:9035114 2 2 4xNessescasos,asfuncoesdevemterumdomniocomum. Asoutrasopcoesfornecidasaocomandoplottambempodemsernaformadelista(opc~ ao = [op1, op2, . . . ]).Exemplo3.8Nesteexemplo,construmos,emummesmosistemadeeixos,asfuncoesseno e cosseno. O graco da funcao seno e contrudo com um tracado mais no (thickness= 0) e cor azul (color = blue, que e o mesmo quecolor = COLOR(RGB, 0, 0, 1)), enquanto que, a funcao cosseno, e construda comumtracadomaisgrosso(thickness = 4)ecorvermelha(color = red, omesmoquecolor = COLOR(RGB, 1, 0, 0)).> plot([sin(t),cos(t)],t=-Pi..Pi,title="Funcoes Trigonometricas Simples",> thickness=[0, 4], color = [blue, red], legend=["Seno", "Cosseno"]);Outra maneira de construir varios gracos simultaneamente e construir cada um delesseparadamente e mostra-los na tela usando o comandodisplay, que faz parte do pacoteplots. Cadagracopodeserconstrudocomcomandosdotipovariavel := plot(...):paraqueospontosobtidossejamguardadosemumavari avel.Econvenienteusardoispontosnonaldessecomandoparaqueaextensarelac aodospontosdograconaosejamostradanatela. Nonal, esousarumcomandodisplay(variavel1,variavel2, ...)paraqueosgracossejammostrados.Exemplo3.9Neste exemplo, construmos separadamente os gracos das funcoesf(x)=exeg(x)=ln(x)emummesmosistemadeeixo. Afuncaoh(x)=xtambemeconstrudacomotracadodogracomaisno.> graf1 := plot(exp(x), x=-4..4, y=-4..4, scaling=constrained,> color=red, thickness=2):> graf2 := plot(ln(x), x=0..4, y=-4..4, scaling=constrained,> color=blue, thickness=2):> graf3 := plot(x, x=-4..4, y=-4..4, scaling=constrained,3.4. GRAFICOSDEFINIDOSIMPLICITAMENTE 43> color=black, thickness=0):> with(plots): display(graf1, graf2, graf3);Nopacoteplots, haumcomandobastante util chamadotextplot. Suafuncaoecolocarmensagens(textos)emumsistemadecoordenadas. Suasintaxe e:textplot([x1,y1, mensagem1], [x2,y2, mensagem2], opcoes);onde(x1,y1)corresponde`ascoordenadasondeseraomostradasamensagem1,etc.As opc oes sao as mesmas do comando plot, com apenas um acrescimo: a opcao align,que pode assumir valor em um conjunto formado por BELOW (abaixo), ABOVE (acima), LEFT(esquerda) ou RIGHT (direita). O align corresponde ao alinhamento do texto com relacaoaumpontoescolhido. Exemplo: align = ABOVE .Exemplo3.10Neste exemplo, construmos separadamente o graco da funcaoy=x3 3xeduasmensagensindicandoasposicoesdospontosdemaximoemnimolocais. Asposic oesforamcalculadasusando-seateoriaconveniente.> with(plots):> A := plot(x^3 - 3*x, x=-2..2, y=-3..3, ytickmarks=2):> B := textplot([-1, 2, "Maximo local"], color = blue, align=ABOVE):> C := textplot([1, -2, "Minimo local"], color= cyan, align=BELOW):> display(A, B, C);3.4 GracosdenidosimplicitamenteGracos denidos implicitamente podem ser construdos com o comando implicitplot,que pertence ao pacote plots. Seu uso e muito parecido com o do comando plot ja vistoanteriormente.Exemplo3.11Nesteexemplo, construmosogracodacurvadenidaimplicitamenteporx6+ y6= 1.> with(plots):> implicitplot(x^6 + y^6 = 1, x=-1..1, y=-1..1, scaling=constrained);Exemplo3.12Nesteexemplo, construmosogracodacurvadenidaimplicitamenteporx3+ y3=3xy. Paraaumentaraquantidadedepontosdogracoconstrudocomoimplicitplot,podemosusaraopcaogrid = [nx,ny],ondenxenysaointeiros.> with(plots):> implicitplot(x^3 + y^3 = 3*x*y, x=-5..2, y=-5..2, scaling=constrained,> thickness=3, grid=[100,100], tickmarks=[4,4]);3.5 GracosdecurvasparametrizadasSe a curva for denida por equacoes parametricas, entao seu graco pode ser construdocomocomandoplot. Paraisso,bastaformarumalistacomasequac oesenvolvidaseavariac aodoparametro:> plot([f1(t), f2(t), . . . , t = a..b], opcoes, ...);44 CAPITULO3. GRAFICOSExemplo3.13Construmosogracodaastroidedenidaparametricamentepor_x(t) = cos3ty(t) = sen3t, 0 t 2.> plot([cos(t)^3, sin(t)^3, t=0..2*Pi], thickness=2, color=blue,> scaling=constrained);Eimportantenaoesquecerdecolocaravariacaodotentrecolchetes. Porexemplo,ocomando> plot([cos(t)^3, sin(t)^3], t=0..2*Pi, thickness=2, color=blue);emuitoparecidocomoanterior, masseuresultadoebemdiferente: saoconstrudososgracosdasfuncoesy= cos3tey=sen3temummesmosistemadeeixos.Exemplo3.14NaFigura3.3,construmosogracoda hipotrocoide denidaparame-tricamentepor___x(t) = (a b) cos t +r cos_(a b)tb_y(t) = (a b) sen t r sen_(a b)tb_, a = 10, b =172, r = 1, 0 t 34.> a := 10; b := 17/2; r := 1;> plot([(a - b)*cos(t) + r*cos(t*(a - b)/b),> (a - b)*sin(t) - r*sin(t*(a - b)/b), t=0..34*Pi], scaling=constrained);Variando-seosvaloresdea,ber,obtemosumadiversidadedeformatosdascurvas.Refacaesteexemploconsiderandoa = 11, b = 3, r = 23/10e,depois,a = 11, b = 8, r = 5ecompareosresultados. Devemoster0 t 2nbab ,onden eomenorinteiropositivotalquenbabeuminteiro.Figura 3.3:21122 1 1 23.6. GRAFICOSEMCOORDENADASPOLARES 453.6 GracosemcoordenadaspolaresGracosemcoordenadaspolarespodemserconstrudoscomocomandopolarplot,quefazpartedopacoteplots. Suasopc oessaoasmesmasdoplot.Exemplo3.15Neste exemplo, construmos o graco de um rosaceo de 8 petalas denidoemcoordenadaspolaresporr =sen (4)(Figura3.4).> with(plots):> polarplot(sin(4*teta), teta=0..2*Pi, axes=none, scaling=constrained);Figura 3.4:Exemplo3.16NaFigura3.5, construmosogracoder =12+ cos(t), 0 t 2.Paraisso,depoisdowith(plots),usamosocomando:> polarplot(1/2 + cos(t), t=0..2*Pi, scaling=constrained, thickness=3);3.7 GracostridimensionaisOgracode umafunc aode duas vari aveis reais x, y, denidapor umaexpressaoalgebricaf(x, y),podeserconstrudocomumcomandoplot3d(f(x,y),x=a..b,y=c..d,op1,op2, ...),ondef(x,y) eumafuncaorealx=a..b eavariac aodavari avel1y=c..d eavariac aodavari avel2op1,op2,... outrasopc oesExemplo3.17Nesteexemplo,construmosogracodoparaboloidez= x2y2. De-nimosointervalodevariacaodoxedoycomosendoointervalo[2,2]. OresultadoemostradonaFigura3.6.46 CAPITULO3. GRAFICOSFigura 3.5:0.80.60.40.200.20.40.60.80.2 0.4 0.6 0.8 1 1.2 1.4Figura 3.6:> plot3d(-x^2 - y^2, x = -2..2, y=-2..2);Apos aconstrucaodograconatela, elepodeser giradocomoauxliodomouse:bastadarumsimplescliquecomobotaoesquerdoe, mantendo-opreso, girarogracoparaumanovaposicao. Pode-setambemmodicarogracoconstrudocomosbotoesdabarradecontexto(abaixodabarradeferramentas).3.8 Asopcoesdocomandoplot3dOcomandoplot3dadmiteasopc oesaxes, axesfont, color,font, labelfont,labels, linestyle, numpoints, scaling, symbol, symbolsize, thickness,title,titlefont,quesaosemelhantes`asdocomandoplot.Opcoesespeccasdoplot3dsao:contoursEspecicaon umerodecurvasdenvelutilizado. Ovalorpadrao e10.3.9. CURVASDENIVEL 47coordsEspecica o sistema de coordenadas utilizado. O padrao e o sistemacartesian.Algumas das opc oes sao: bispherical, cardioidal, conical, cylindrical, ellipsoidal,logcylindrical,paraboloidal,spherical.lled=true,falsePode ser TRUE ou FALSE. Se for TRUE, a regiao entre o graco e o planoxOyepreenchida.grid=[m,n] Especicaas dimensoes dagrade retangular comespacamentouniformeutilizadanaconstruc aodograco.lightmodel Especicaaquantidadedefontesluminosasqueiluminamograco. Podesernone, light1, light2, light3oulight4, conformeomodelotenha0, 1, 2, 3ou4luzesiluminando,respectivamente.orientation=[theta,phi] Especica angulos de rotac oes em graus (cujos valores padroessao45o)sobasquaisogracoemostrado. Ovalordethetacorrespondeaumarotacaoemtornodoeixozephicorrespondearotacaoemtornodoeixoy.projectionEspecica o tipo de projec ao utilizado. Pode ser FISHEYE, NORMAL ouORTHOGONAL.Opadrao eaprojec aoORTHOGONAL.shadingEspecicaomodocomoqual asuperfcieepintada. Podeser XYZ, XY, Z,ZGRAYSCALE,ZHUEouNONE.styleEspecica como o graco sera desenhado. Pode ser POINT, HIDDEN, PATCH,WIREFRAME, CONTOUR, PATCHNOGRID, PATCHCONTOUR ou LINE. O valor padrao e PATCH.tickmarks=[l,n,m] Especicaon umerodesubdivisoesutilizadasemcadaeixo.view=zmin..zmaxou[xmin..xmax,ymin..ymax,zmin..zmax] Indica a parte da su-perfcieasermostrada. Opadrao emostrartodaasuperfcie.Paraasopcoes axes, style, projection, shadingescaling, osvalorespodemseremletrasmai usculasoumin usculas. Porexemplo, axes=BOXEDeconsideradocomosendoomesmoqueaxes=boxed.Exemplo3.18Os gracos normalmente sao mostrados com muitas cores. Para que elessejammostradosemtonalidadesdeumamesmacor,bastaacrescentarumaopcaocoloraocomandoplot3d. Porexemplo,acrescentandoumaopcaocolor=grey,ogracoseratodoemtonsdecinza.Construmosogracoz= x3y xy3predominantementeamarelo,comduasfontesdeluz(lightmodel = light2),noestiloPATCHCONTOURcomgrade45 45.> plot3d(x^3*y - x*y^3, x=-4..4, y=-4..4, grid=[45,45],> style=PATCHCONTOUR, lightmodel=light2, color=yellow);3.9 CurvasdenvelO pacote plots possui dois comandos para a construcao das curvas de nvel do gracode uma funcao z= f(x, y): contourplot econtourplot3d. A diferenca entre elas e quecontourplotmostraascurvasemum unicoplano(como eusualnoslivrosdeCalculo),enquanto quecontourplot3d mostra as curvas dispostas em varios planos, cada uma naalturaoriginal.Asintaxedessescomandos esemelhante`adocomandoplot3d:48 CAPITULO3. GRAFICOScontourplot(f(x,y),x=a..b,y=c..d,op1,op2, ...)Asopc oestambemsaoparecidas. Destacamos,aqui,apenasduasopc oes:filled,quepodeserTRUEouFALSE.SeforTRUE,ent aoosespacosentrecurvasdenvel consecutivassaopreenchidosgradativamente, usandocoresfornecidascomaopcaocoloring=[cor1, cor2].A quantidade padrao de curvas mostradas e 8. Esse n umero pode ser alterado para ncurvas, bastando para isso acrescentar uma opc ao contours = n ou, entao, forneceralistadealturasdascurvasdenvelcontours = [z1, z2, z3, ...].Exemplo3.19Consideremosaselaz= x2y2comxeyvariandode 3a3. Vamosconstruirnacor azulsuascurvasdenvel quecorrespondam aosvaloresz= 5,z= 3,z= 2,z= 1,z= 1/5,z= 1/5,z= 1,z= 2,z= 3ez= 5(Figura3.7).> with(plots):> contourplot(x^2 - y^2, x=-3..3, y=-3..3, contours = [-5, -3, -2, -1,> -1/5, 1/5, 1, 2, 3, 5], color=blue);Figura 3.7:3210123y3 2 1 1 2 3xExemplo3.20Nesteexemplo,construmosascurvasdenvel dez=sen (x) sen (y),xeyvariandonointervalo[3,3],usandooscomandoscontourplotecontourplot3d.Preenchemos os espacos entre as curvas de nvel com tons de cinza e ciano(filled = true, coloring = [grey, cyan]).> with(plots):> contourplot(sin(x)*sin(y), x=-3..3, y=-3..3, filled=true,> coloring=[grey,cyan]);>> contourplot3d(sin(x)*sin(y), x=-3..3, y=-3..3, filled=true,> orientation=[80,40], coloring=[grey,cyan]);Enecessarioque tenhasidousado, antes, umwith(plots), anaoser que se queiraescreveraformacompletadosnomesdessescomandos,quesaoplots[contourplot]eplots[contourplot3d].3.10. GRAFICOSDEFINIDOSIMPLICITAMENTE 493.10 GracosdenidosimplicitamenteGracos de superfcies denidas implicitamente sao muito comuns nos estudos deCalculoouGeometriaAnaltica. As primeiras superfcies estudadas saoas quadricas,cujas equacoes sao dadas na forma implcita: x2+y2+z2= r2(esfera),x2a2 y2b2+z2c2= 1(hiperboloide de uma folha),x2a2 y2b2 z2c2= 1 (hiperboloide de duas folhas), etc. Esse tipodegracopodeserfacilmenteconstrudopeloMaplecomocomandoimplicitplot3d,quefazpartedopacoteplots. Seuusoemuitoparecidocomodeoutroscomandosjavistos anteriormente, de forma que vamos nos limitar, aqui, a fazer apenas dois exemplos.Exemplo3.21Consideremos ohiperboloidededuas folhas x2 y2 z2=1, comx,y, z variandonointervalo[4,4]. Vamos construirseugracousandoumagradededimensoes 15 15 15. Optamos peloestilo PATCHNOGRIDcomangulos de rotacoesiniciaisiguaisa110e90graus.> with(plots):> implicitplot3d( x^2 - y^2 - z^2 = 1, x=-4..4, y=-4..4, z=-4..4,> grid=[15,15,15], style=patchnogrid, orientation=[110, 90]);Exemplo3.22Vamosconstruirogracodaselax2 y2=z, colorindoogracodeacordo coma altura e no estilo que coloca as curvas de nvel desenhadas no graco(Figura3.8).> with(plots):> implicitplot3d(x^2 - y^2 = z, x=-4..4, y=-4..4, z=-4..4, orientation => [110,60], grid=[20,20,20], shading=zhue, style=patchcontour);Figura 3.8:3.11 GracosdesuperfciesparametrizadasEmalgumasareasdeestudo, comoGeometriaDiferencial eComputac aoGraca, emuitocomumousodesuperfciesdenidasporequacoesparametricas. Nestescasos,os50 CAPITULO3. GRAFICOSpontos(x, y, z),quepertencemaogracodasuperfcie,satisfazemequac oesdotipo___x = f(u, v)y = g(u, v)z = h(u, v),com(u, v)pertencenteaumdomniodoplanoquedependedecadasuperfcie.Essetipodegracopodeserconstrudodemodosemelhanteaosconstrudoscomocomando plot3d, devendo-se apenas fornecer as equacoes parametricas em forma de lista,comonoexemplo: plot3d([f, g, h], x=a..b, y=c..d).Cuidado: seusarmoschavesnolugardoscolchetes, comoemplot3d({f, g, h},x=a..b, y=c..d), entao, serao construdos, simultaneamente, os gracos das tres func oesf(x, y), g(x, y) e h(x, y), que nao tem nada a ver com o graco da superfcie parametrizadapor(f(x, y),g(x, y),h(x, y)).Exemplo3.23Construamos o helicoide (u cos v,usen v,v) com6 u 6 e8 v 8.> plot3d([u*cos(v), u*sin(v), v], u = -6..6, v = -8..8,> grid=[25, 50], shading=zhue);Exemplo3.24Nesteexemplo,construmosumasuperfciequetemaaparenciadeumamola:F(u, v) =((11 + 2 cos(u)) cos(v),(11 + 2 cos(u)) sen (v),2 sen (u) + v)com0 u 2e 12 v 12.> plot3d([(11+2*cos(u))*cos(v), (11+2*cos(u))*sin(v), 2*sin(u)+v],> u=0..2*Pi, v=-12..12, scaling=constrained, grid=[20,70],> orientation=[80,70]);Opacoteplotscontemumcomandotextplot3dcomsintaxetextplot3d([x,y,z,mensagem], opcoes),cujo uso e semelhante ao textplot e e utilizado para imprimir mensagens em um sistemadeeixostridimensional.Captulo4CalculoDiferencialeIntegral4.1 Limites4.1.1 Limitesdefuncoesf(x)No Maple,o limite de uma func ao,quando a vari avel tende a umcerto valor, e calcu-lado com um comando do tipolimit(funcao,variavel=valor). Por exemplo, limtaf(t) ecalculadocomumcomandolimit(f(t), t = a).Exemplo4.1Os comandos a seguir podem ser usados para calcular os limites:R = limx1(x25x+3), S = limt051 + t 51 t31 + t 31 t, T = lim/2_ln(cos())ln(tan())_eU=lim0cos(m) cos(n)2.> R := limit (x^2 - 5*x + 3, x = -1);R := 9> S := limit( ( root[5](1 + t) - root[5](1 - t))/> ( root[3](1+t)-root[3](1-t)),t=0);S:=35> T := limit ( ln(cos(theta))/ln(tan(theta)), theta = Pi/2);T:= 1> U := limit( (cos(m*alpha) - cos(n*alpha))/alpha^2, alpha=0);U:= 12m2+12n2Exemplo4.2Vamoscalcularolimitelimx0(x + 1)cotg(x). Inicialmente, ocomandoedi-gitadocomerro,masparecefuncionar.> limit((x + 1)^cotg(x), x=0); # errado1Aresposta,assimobtida,estaerrada,porqueafuncaocotg(x)naoeumafuncaopre-denidadoprograma. Oque ele fez foi calcular apotencia1cotg(x), onde cotg(x)econsiderado como sendo um smbolo qualquer. A funcao cotagente para o Maple e cot(x),conformedigitadoaseguir.5152 CAPITULO4. CALCULODIFERENCIALEINTEGRAL> limit((x+1)^cot(x), x=0);eObtemos,assim,arespostacorreta: limx0(x + 1)cotg(x)=e.OMaplepossui outrocomando, chamadoLimit(iniciandocomLmai usculo), comsintaxeidentica`ade limit, cujoobjetivoemostrar olimiteemformatousual, semcalcula-lo.Echamadoformainercialouformainerteouformanaoavaliadadolimite.Exemplo4.3Nesteexemplo, mostramosumlimitenasuaformainercial. Ovalordeumaexpressaodessetipopodeser calculadosefor aplicadoumcomandovalue`aex-pressao.> Limit (( x - a)/(sqrt(x) - sqrt(a)), x = a);limxax ax a> value(%);2aOusodoLimit, combinadocomolimit, melhoraaapresentac aodos resultados,conformemostramosnosseguintesexemplos.Exemplo4.4> Limit(sin(a*x)/(b*x), x = 0) = limit( sin(a*x)/(b*x), x = 0);limx0sin(ax)bx=abExemplo4.5> F := (sin(3*x) - 3*x*exp(x) + 3*x^2)/(arctan(x) - sin(x) - x^3/6):> L := Limit (F, x = 0):> l := limit (F, x = 0):> L = l;limx0sin(3x) 3xex+ 3x2arctan(x) sin(x) 16x3=184.1.2 LimitesnoinnitoOs limites no innito,isto e, com a vari avel tendendo a + ou a ,sao calculadosusando-seumvalor-infinityouinfinityparaavari avel.Exemplo4.6Vamoscalcular limx(3 + x 4x3+x4).> limit ( 3 + x - 4*x^3 + x^4, x = -infinity);Exemplo4.7Calcular limx5x73x4+ 2x2+ 113x7+ x6x3+ 10x2+ 4.4.1. LIMITES 53> F := (5*x^7-3*x^4+2*x^2+11)/(3*x^7+x^6-x^3+10*x^2+4):> lim := limit(F, x=-infinity):> Lim := Limit(F, x=-infinity):> Lim = lim;limx()5x73x4+ 2x2+ 113x7+ x6x3+ 10x2+ 4=53Exemplo4.8Aqui, usamos mais uma vez a forma inercial do limite para obtermos umaigualdadeondeapareceolimiteproposto,seguidodoseuvalorcalculado.> Limit(((x+7)/(x+3))^x,x=infinity): % = value(%);limx_x + 7x + 3_x=e44.1.3 LimiteslateraisLimites laterais sao calculados acrescentando-se uma opcao left ou right aos coman-doslimitouLimit. Seforacrescentadaaopcaoleft, ent ao, seracalculadoolimitelateral`aesquerda. Seforacrescentadoright,ent aoolimiteseralateral`adireita.Exemplo4.9Neste exemplo, calculamos os limites `a esquerda e `a direita do 0 da funcaocos(x)/x. Comoesses limites naosaoiguais, conclumos observandoqueolimiteemx = 0eindenido,oumelhor,naoexiste.> Limit(cos(x)/x , x=0, left) = limit (cos(x)/x, x =0 , left);limx0cos(x)x= > Limit(cos(x)/x, x=0, right) = limit (cos(x)/x, x=0, right);limx0+cos(x)x= > limit( cos(x)/x, x=0);undefinedExemplo4.10Denamos,agora,umafuncaocontnuaporpartescomopiecewise:> y := piecewise(x < 0, sin(x), x >=0 and x < 2, 2*x - 1, x >= 2, 2);y:=___sin(x) x < 02x 1 x limit(y, x = 0, right);54 CAPITULO4. CALCULODIFERENCIALEINTEGRAL1> limit(y, x = 0);undefined> limit(y, x = 2, left);3> limit(y, x = 2, right);2> limit(y, x = 2);undefinedFigura 4.1:101234 2 2 4x4.1.4 LimitesdefuncoesdevariasvariaveisApesardemuitoecientenocalculodelimitesdefunc oesdeumavari avel, oMaplemostra-se ineciente no calculo de limites de func oes de varias variaveis. Ele so conseguecalcularessetipodelimiteempouqussimoscasos.A sintaxe para o calculo desse tipo de limite e identica `a do caso de uma unica vari avel,tendo-seocuidadodefornecerosvaloresdasvari aveisemformadeconjunto:limit(funcao, {variavel1=valor1,variavel2=valor2,. . . })Exemplo4.11Consideremosolimite lim(x,y)(0,0)x2y2x2+ y2.EumdospoucoscasosqueoMapleconsegueresolver. Arespostaeundened,ouseja,olimitenaoexiste.> limit( (x^2 - y^2)/(x^2 + y^2), {x = 0, y = 0});undefined4.2. FUNCOESCONTINUAS 55Exemplo4.12Nesteexemplo, estudamosolimite lim(x,y)(0,0)xyx2+ y2. OMapledevolve,comoresposta,opropriolimiteproposto,ouseja,elenaoconseguedecidirnada. Mas,ousuario pode dar uma ajuda ao programa, fornecendo o limite de forma iteradalimit(limit(... )) eindicandoalgumtipodedependenciaentreasvariaveis. Sezer-mosissomaisdeumavezeobtivermosrespostasdiferentes,entaoolimitenaoexistira.> limit(x*y/(x^2 + y^2), {x = 0, y = 0});limit_xyx2+ y2 , {x = 0, y= 0}_> Limit(Limit ( x*y/(x^2 + y^2), x = y), y = 0);limy0limxyxyx2+ y2> limit(limit ( x*y/(x^2 + y^2), x = y), y = 0);12> limit(limit ( x*y/(x^2 + y^2), x = 2*y), y = 0);25Conclumos, entao, queolimitedadonaoexiste, poisobtivemosasrespostas1/2e2/5quandozemosx = yex = 2y,respectivamente.4.2 Func oescontnuasOMaplepossuitrescomandosrelacionadoscomacontinuidadedeumafunc ao:discont(f(x),x)Calcula os pontos de descontinuidade da func ao denida pela expressaoalgebricaf(x)navari avelx.fdiscont(f(x),domnio,opc oes)Calcula, aproximadamente, usando metodos numericos,as descontinuidades def(x) no domnio indicado. Podem ser feitas diversas opcoes,comoescolheronomedometodonumericoutilizado.iscont(f(x),x=a..b,opcao)Fun cao booleana que testa a continuidade def(x) no in-tervaloindicado. Aopc aopodedecidirseointervaloeaberto(open)oufechado(closed)osapostrofos,aquiutilizados,saoopcionais.Exemplo4.13Vamostestaradescontinuidadedef(x) =1x +1x + 5emcadaintervalodado.> iscont(1/x + 1/(x + 5), x = -10..1); # descontnua em ]-10, 1[false> iscont(1/x + 1/(x + 5), x = 0..1); # contnua em ]0, 1[true> iscont(1/x + 1/(x + 5), x = 0..1, closed); # descontnua em [0, 1]56 CAPITULO4. CALCULODIFERENCIALEINTEGRALfalse> iscont(1/x + 1/(x + 5), x = -10..-6); # contnua em ]-10, -6[true> iscont(1/x + 1/(x + 5), x = -10..-5, open); # contnua em ]-10, -5[true> iscont(1/x + 1/(x + 5), x=-10..-5, closed); # descontnua em [-10,-5]falseExemplo4.14O discont e bastante eciente para achar as descontinuidades de funcoesnaomuitocomplicadas. Ele fornece umconjuntocomtodas as descontinuidades en-contradas. Inicialmente, usamosessecomandoparadeterminarasdescontinuidadesdef(x) = 1/x + 1/(x + 5).> discont( 1/x + 1/(x + 5), x);{5,0}Agora,vamosdeterminarasdescontinuidadesdeg(x) =x5+ x 2x35x2+ 6x.> discont((x^5 + x - 2)/(x^3 - 5*x^2 + 6*x), x);{0,2,3}Exemplo4.15Usamosofdiscontparadeterminar,deformaaproximada,asdescon-tinuidadesdasfuncoesf(x)=1ex+tg x, nointervalo[4,3], eg(x)=x2+ x + 1x73x + 10,nointervalo[20,20]. UtilizamosometododeNewtonparacalcularcadaresposta.> fdiscont( 1/(exp(x) + tan(x)), x = -4..3, newton=true);[3.18302881311210760, .531390856652157129,1.74388634680748878]> fdiscont((x^2 + x + 1)/(x^7 - 3*x + 10), x = -20..20, newton=true);[1.46366450027293738]4.3 Derivadas4.3.1 DerivadasdefuncoesdeumavariavelA derivada de uma func ao, denida por uma expressao algebrica f(x) na variavel x, ecalculadacomumcomandodiff(f(x),x).Exemplo4.16Sejam f, g, h as funcoes denidas por f(x) = 3x4+x2+3,g(t) =t + 1 +3t 1eh(w) = w2+ 2w.Vamoscalcularf

(x),g

(t)eh

(w).> f(x) := 3*x^4 + x^2 + 3;f(x) := 3x4+ x2+ 3> diff(f(x), x); # derivada de f(x) com relac~ ao a x12x3+ 2x4.3. DERIVADAS 57> g(t) := sqrt(t + 1) + root[3](t - 1);g(t) :=t + 1 + (t 1)(13)> diff(g(t), t); # derivada de g(t) com relac~ ao a t121t + 1+13(t 1)(23)> h(w) := w^2 + 2^w;h(w) := w2+ 2w> diff(h(w), w); # derivada de h(w) com relac~ ao a w2w + 2wln(2)Exemplo4.17EobvioqueoMapleconheceasregrasdederivacao, comoaderivadadoprodutoeaderivadadoquociente, eaRegradaCadeia, conformeexemplicamosaseguir.> diff(x^5 * cos(x), x); # derivada de um produto5x4cos(x) x5sin(x)> diff(cos(cos(ln(x))), x); # Regra da Cadeiasin(cos(ln(x))) sin(ln(x))x> diff(exp(4*x + 1)/(x^2 + 1), x); # derivada de um quociente4e(4x+1)1 +x2 2e(4x+1)x(1 + x2)2> simplify(%);2e(4x+1)(2 + 2x2x)(1 + x2)2Exemplo4.18Arespostaobtidacomo diffnemsempree amais simples. Nesteexemplo,osimplifyfazumasimplicacaobastantesignicativanoresultadofornecidopelodiff.> y := x *sqrt(x^2 + 1)/2 + 1/2*ln(x + sqrt(x^2 +1));y:=12xx2+ 1 +12 ln(x +x2+ 1)> diff(y, x);12x2+ 1 +12x2x2+ 1+12_1 +xx2+ 1_x +x2+ 1> simplify(%);x2+ 1Exemplo4.19SeoMaplenaoconheceaderivadadafuncao,entao,eledeixa-aindi-cada,conformeexemplicamosaqui,comasderivadasdasfuncoesQ(x)eR(x)).58 CAPITULO4. CALCULODIFERENCIALEINTEGRAL> P(x) := (x^2 + x + 1)*Q(x) + R(x);P(x) := (x2+ x + 1)Q(x) + R(x)> diff(P(x), x);(2x + 1)Q(x) + (x2+ x + 1)_xQ(x)_+_xR(x)_Nessescasos,oMapleusaanotacaoxf(x)paradenotaraderivadadef(x). Seriamelhorterutilizadoanotacaoddxf(x);assim,cariadeacordocomanotacaousualdoslivrosdeCalculo.Exemplo4.20Ocomandodefinepodeserusadoparadenirnovasderivadas. Aqui,denimosaderivadadeF(x)comosendoafuncaoG(x).> define(F, diff(F(x),x)=G(x));> diff(F(cos(x)), x);G(cos(x)) sin(x)> diff(cos(F(x)), x);sin(F(x))G(x)> diff(exp(F(x^2 + x - F(x))), x);G(x2+x F(x))(2x + 1 G(x))e(F(x2+xF(x)))Odifftemumaformainercial queeoDiff. AssintaxesdodiffedoDiffsaoidenticas. Comotodaformainercial, oobjetivodoDiffe mostrar aderivadaasercalculada. Paraefetuarocalculo,deve-seusarodiffouaplicarumcomandovalueaoDiff.Exemplo4.21Vamoscalcularaderivadade ln(cos(x))aplicandoocomandovalue`aformainercial Diff.> Diff(-ln(cos(x)), x);x(ln(cos(x)))> value(%);sin(x)cos(x)4.3.2 DerivadasdeordemsuperiorDerivadasdeordemnpodemsercalculadasescrevendo-seavari avel nvezesnoco-mando diff. Mas, uma maneira mais pratica e escrever um cifrao e a ordem da derivadaaoladodavari avel. Assim, paracalcularaderivadaenesimadef(x)comrelacaoax,bastausarumcomandodiff(f(x),x$n).Outramaneiranaomuitopraticadecalcularumaderivadadeordemsuperioreen-caixarvarioscomandosdiff. Aquantidadedecomandosencaixadosdeveseramesmaordemdaderivada. Assim, aderivadasegundade f(x) pode ser calculadacomumcomandodiff( diff(f(x),x), x).AformainercialDifftambempodeserusadacomderivadasdeordemsuperior.4.3. DERIVADAS 59Exemplo4.22Vamos mostrar, agora, que y(t) =e4t(a cos(3t)+b sin(3t)) satisfazy

+25y

+8y= 0,usandoumaequacaoonde,doladoesquerdo,apareceaformainercialDiffe, doladodireito, odiff, queequemrealmenteefetuaoscalculos.Enecessariaumachamadaaocomandodesimplicacao, osimplify, parapoderobtermos0nose-gundomembrodaequacao.> y := exp(-4*t)*(a*cos(3*t) + b*sin(3*t));y:= e(4t)(a cos(3t) + b sin(3t))ParaevitarqueoMaplesubstituaovalordeynoprimeiromembro,vamoscolocaroyentreapostrofos:> Diff(y, t$2) + 8*Diff(y, t) + 25*y =simplify(diff(y, t$2) + 8*diff(y, t) + 25*y);_ 2t2y_+ 8_ ty_+ 25y=0Exemplo4.23Paraencerrarestasecao,umexemploquee utilparachamaraatencaoparaopotencial daComputacaoAlgebrica. Calculamos,aqui,aderivadadecimaquintadafuncaotangentetrigonometrica,algomuitoincovenienteparaserfeitosemoauxliodessetipoderecurso. Notequeamaioriadosn umerosinteirosobtidoscomocoecientesultrapassa 1 quatrilhao, um calculo que nao demora mais do que 3 centesimos de segundo,seforusadoumcomputadorquenaoestejamuitoultrapassado.> Diff(tan(x), x$15) = diff(tan(x), x$15);15x15 tan(x) =134094848(1 + tan(x)2)2tan(x)12+ 13754155008(1 + tan(x)2)3tan(x)10+182172651520(1 + tan(x)2)4tan(x)8+ 559148810240(1 + tan(x)2)5tan(x)6+460858269696(1 + tan(x)2)6tan(x)4+ 89702612992(1 + tan(x)2)7tan(x)2+1903757312(1 + tan(x)2)8+ 16384 tan(x)14(1 + tan(x)2)4.3.3 DerivadasdefuncoesdevariasvariaveisOcalculodederivadasdefunc oescommaisdeumavari avel eidenticoaocalculodasfuncoesdeapenasumavariavel.Exemplo4.24Nesteexemplo,calculamosvariasderivadasdafuncaodeduasvariaveisdenidaporF(x, y) =x7y5+ 10x.> F := x^7 * y^5 + 10*x;F:= x7y5+ 10x> Diff(F, x) = diff(F, x);x (x7y5+ 10x) = 7x6y5+ 10> Diff(F, y) = diff(F, y);y (x7y5+ 10x) = 5x7y4> Diff(F, x, y) = diff(F, x, y);60 CAPITULO4. CALCULODIFERENCIALEINTEGRAL2yx (x7y5+ 10x) = 35x6y4> Diff(F, y, x) = diff(F, y, x);2xy (x7y5+ 10x) = 35x6y4> Diff(F, x$2, y$3) = diff(F, x$2, y$3);5y3x2 (x7y5+ 10x) = 2520x5y2> Diff(F, x, x, y, y, y) = diff(F, x, x, y, y, y);5y3x2 (x7y5+ 10x) = 2520x5y2> Diff(F, y$6, x$8) = diff(F, y$10, x$10);14x8y6 (x7y5+ 10x) = 0Notequediff(F, x$2, y$3)eomesmoquediff(F, x, x, y, y, y).4.3.4 OoperadordiferencialAderivadadeumafunc aoecalculadacomooperadordiferencial D. Derivadasdeordemnpodemsercalculadasnaforma D@@n ou,naforma D(D(. . . (D) . . . )).Exemplo4.25Usamos ooperador diferencial Dparacalcular, aqui, as derivadas dealgumasfuncoesconhecidas. Observequeoresultadoretornadoesempreoutrafuncao.> D(cos);sin> D(sec)(x);sec(x) tan(x)> D(ln);a 1a> D(arctan)(z);11 + z2> D(arcsin);a 11 a24.3. DERIVADAS 61UsandoooperadorD, aderivadaparcial comrelacao`ai-esimavari avel xideumafuncaof(x1, . . . , xi, . . . ) edenotadaporD[i](f).Derivadasmistas, como2xixj, f podemserindicadasporD[i, j](f). Emgeral, aderivada de ordem n da func ao f(x1, . . . , xi, . . . ), com relacao `as vari aveis xs1, xs2, . . . , xsn,eD[s1, s2, . . . , sn](f).Arepetic ao de variaveis pode ser abreviada como uso do cifrao. Por exemplo,D[i, i, . . . , i. .nvezes, j, j, . . . , j..mvezes, ] eomesmoqueD[i$n, j$m, ].Exemplo4.26Nesteexemplo, denimosumafuncaof(x, y)ecalculamosvariasderi-vadasdelausandoooperadordiferencial. Usamosaformainercial Diffparamostraroqueestasendocalculadoacadapasso.> f := (x, y) -> x^10 - y^20 + x^3*y^4 + 1;f:= (x, y) x10y20+ x3y4+ 1> Diff(f(x,y),x,y) - Diff(f(x,y),y,x) = (D[1,2] - D[2,1])(f)(x, y);_2yx f(x, y)__2xy f(x, y)_ = 0> Diff(f(x,y), x$3, y$2) = D[1$3, 2$2](f)(x, y);5y2x3f(x, y) = 72y2> Diff(f(x,y), x$7) = D[1$7](f)(x, y);7x7f(x, y) = 604800x3Exemplo4.27Denamos,agora,umafuncaolaplacianoL(f) = D1,1f +D2,2f +D3,3f.A vantagem em usar o operador D (no lugar do diff, por exemplo) e que podemos derivarsemsaberosnomesdasvariaveis, naoimportandoqueelassechamemx, y, a, b, c, ,,etc.> L := f -> (D[1$2] + D[2$2] + D[3$2])(f);L := D[1, 1] + D[2, 2] + D[3, 3]> g := (a, b, c) -> a^3 + b^4 + c^5;g:= (a, b, c) a3+ b4+ c5> L(g);((a, b, c) 6a) + ((a, b, c) 12b2) + ((a, b, c) 20c3)> L(g)(1, -2, 0);54> L(g)(x, y, z);6x + 12y2+ 20z3> L(g)(alpha, beta, omega);6 + 122+ 20362 CAPITULO4. CALCULODIFERENCIALEINTEGRAL4.3.5 DerivadasdefuncoesdenidasimplicitamenteFunc oes de uma ou de varias vari aveis denidas, implicitamente, por equac oes podemtersuasderivadascalculadascomousodeumcomandodotipoimplicitdiff(equacao,variavel1,variavel2,...).Exemplo4.28Suponhamos que y seja denido, implicitamente, como funcao diferenciavelde x atraves da equacao x2+y2= 1. Entao, a derivada de y, com relacao a x, e calculadacomoseguintecomando:> implicitdiff(x^2 + y^2 = 1, y, x);xyExemplo4.29Funcoes de varias variaveis tambem podem ser derivadas implicitamentecomoimplicitdiff, demodosemelhante`asfuncoesdeumavariavel. Supondoqueaequacaoxyz + ez9 = 0dena,implicitamente,zcomoumafuncaodiferenciavel dexey,vamoscalcularsuasderivadas.> eq := x*y*z + exp(z) - 9 = 0;eq:= xyz + ez9 = 0> Diff(z, x) = implicitdiff(eq, z, x);x z= yzxy + ez> Diff(z, y) = implicitdiff(eq, z, y);y z= xzxy + ezSe uma func ao for denida implicitamente por umsistema de equacoes, ent ao, oimplicitdiff tambem calcula sua derivada. Para isso, listam-se as equac oes do sistemaemformadeconjunto {eq1, eq2, . . . }eescreve-seoresultadocomoprimeiroparametrodoimplicitdiff. Depois, escreve-seosegundoparametro, quedeveserumconjunto{d1, d2, . . . },comasvari aveisquesaodependentes,e,nalmente,duasvari aveisv1ev2,paraindicaraderivadadev1comrelacaov2. Assim, ocomandoimplicitdiff, nestecaso,deveteraformaimplicitdiff({eq1,eq2,. . . }, {d1,d2,. . . },v1,v2)Exemplo4.30Suponhamosqueyezsejamfuncoesdiferenciaveisdex, denidasim-plicitamentepelosistemadeequacoes_x3+y3+z3= 1x5+y4= 10Vamoscalcularasderivadasdeyedezcomrelacaoax.> eq1 := x^3 + y^3 + z^3 = 1;eq1 := x3+ y3+ z3= 1> eq2 := x^5 + y^4 = 10;eq2 := x5+ y4= 104.4. INTEGRAIS 63> y(x) = implicitdiff({eq1, eq2}, {y, z}, y, x);y

(x) = 54x4y3> z(x) = implicitdiff({eq1, eq2}, {y, z}, z, x);z

(x) = 14x2(4y 5x2)z2yExemplo4.31Sejamx = x(u, v)ey= y(u, v)denidasimplicitamentepelosistema_u = x2+ y2v = xyVamoscalcularasderivadasxueyv.> s1 := u = x^2 + y^2;s1 := u = x2+ y2> s2 := v = x*y;s2 := v= xy> Diff(x, u) = implicitdiff({s1, s2}, {x, y}, x, u);u x =12xy2+x2> Diff(y, v) = implicitdiff({s1, s2}, {x, y}, y, v);v y=xy2+ x24.4 IntegraisOMaplepossui amplosrecursosparaocalculodeintegraisdenidas, indenidasouimproprias. Eleconheceasregrasdeintegracaousuaiseosvaloresdemuitasintegraisemcasosparticulares.4.4.1 IntegraisdefuncoesdeumavariavelAintegral (primitiva)deumafunc aodenidaporumaexpressaoalgebricaf(x)navariavelx ecalculadacomumcomandoint(f(x),x).Essecomandotambempossuiumaformainercial: Int(f(x),x). Aformainercialnaoefetuacalculos, apenasmostraaintegral noformatousual ee util naapresentac aodeformulas. Seuvalorpodesercalculadoaplicando-lheumcomandovalue.Exemplo4.32Vamoscalcular_(x4+ 5x3+ 9x 1)dxederivararespostaobtidaparaversecoincidecomointegrandodado. Depois, calculamos_sec()dederivamos arespostaobtida. Muitasvezes, enecessariaumasimplicacaonaderivadaparapodermosobservarqueelaestarelacionadacomointegrandodado.> F := int(x^4 + 5*x