Buscar

Manual wxMaxima

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE FEDERAL DOS VALES DO JEQUITINHONHA E MUCURI
INSTITUTO DE CIÊNCIA, ENGENHARIA E TECNOLOGIA
wxMaxima:
Software Livre para o ensino
e aplicações da Matemática
Desenvolvido pelo GESE (Grupo de Estudos de Software no Ensino)
Cleber José dos Santos
1
Douglas Luan de Souza
1
Jéssica Amorim Mamed
1
Lucas Alves Guimarães
1
Lucas Ruas de Aquino
1
Matheus F. P. de Almeida
1
Jaime Batista de Souza
2
Deborah Faragó Jardim
3
1
Aluno do Bacharelado em Ciência e Tecnologia
2
Matemático do ICET
3
Professora do Bacharelado em Ciência e Tecnologia
1
Sumário
1 Introdução e Conceitos básicos 4
1.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Operadores básicos: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Entradas e saídas no wxMaxima: . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Trabalhando com o wxMaxima: . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1 Constantes Matemáticas: . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.2 Operadores Avançados: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.3 Funções Matemáticas: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Manipulação de expressões matemáticas : . . . . . . . . . . . . . . . . . . . . 8
1.6 Sistemas de equações lineares: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.1 Sistema impossível: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6.2 Sistema possível determinado: . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6.3 Sistema possível indeterminado: . . . . . . . . . . . . . . . . . . . . . . 11
1.7 Matrizes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7.1 Operações matriciais básicas com o wxMaxima: . . . . . . . . . . . . 16
1.7.2 Tipos de Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.8 Introdução a Vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.8.1 Norma de Um Vetor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.8.2 Exercícios Resolvidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.8.3 Produtos Escalar e Vetorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.8.4 Exercícios Resolvidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.9 Autovalores e Autovetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.10 Exercícios propostos: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2 wxMaxima e Cálculo 38
2.1 Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.2 Derivadas no wxMaxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2.1 Comandos para diferenciar uma função no wxMaxima: . . . . . . . . . . . . . 40
2.2.2 Derivadas parciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3 Integrais no wxMaxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.3.1 Integrais múltiplas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2
3 Atividades: 45
3.1 Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2 Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3 Integrais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3
Capítulo 1
Introdução e Conceitos básicos
1.1 Introdução
O Maxima é um Sistema de computação algébrica(CAS-do inglês Computer Algebra System) deri-
vado do sistema Macsyma, desenvolvido no Instituto de Tecnologia de Massachussets(MIT) como
parte do projeto MAC. Esse tipo de software nos permite manipular expressões matemáticas, plotar
gráficos em duas ou três dimensões e, no caso do Maxima, além das inúmeras vantagens comuns
aos demais CASs ele ainda é um software livre
1
.
O wxMaxima pode ser executado em vários SOs como Windows, Linux e MacOS X. O instalador do
wxMaxima paraWindows e Linux pode ser encontrado no endereço http://wxmaxima.sourceforge.net.
1.2 Operadores básicos:
Operadores Função
+ É o operador de soma
- É o operador de subtração
* É o operador de multiplicação
/ É o operador de divisão
� É o operador de exponenciação
! É o operador de fatoração
1.3 Entradas e saídas no wxMaxima:
Toda entrada de comando no wxMaxima vem acompanhada do símbolo (%iN), sendo o i do inglês
in (entrada) e o N representa o número de identificação da entrada, por exemplo a 1a linha sempre
vem rotulada com o símbolo (%i1).
1
Software livre, segundo a definição criada pela Free Software Foundation, é qualquer programa computacional
que pode ser usado, copiado, estudado e redistribuído sem restrição.
O conceito de software livre se opõe ao conceito de software restritivo, mas não ao software que é vendido almejando
o lucro(software comercial).
4
As saídas vem acompanhadas do símbolo (%oN) no qual o o é do inglês out (saída) e o N é o número
que identifica a saída.
1.4 Trabalhando com o wxMaxima:
Com o wxMaxima aberto, faça as seguintes operações:
Obs: é imprescindível o uso do ponto e vírgula(; ) após cada linha de comando.
(%i1)
2+96;
(%o1) 98
(%i2)
3-45;
(%o2) − 42
(%i3) 3+(-45);
(%o3) − 42
(%i4)
3*x;
(%o4) 3x
(%i5) 5/4;
(%o5)
5
4
(%i6) 5.0/4.0;
(%o6) 1.25
(%i7)
3^2;
(%o7) 9
(%i8)
x^3;
(%o8) x3
(%i9)
y**0;
(%o9) 1
(%i10)
5!;
(%o10) 120
Caso deseje trabalhar com números decimais, outra opção seria usar o comando
�float(expressão)�;
(%i11) 11/3;
5
(%o11)
11
3
(%i12) float(%);
(%o12) 3.666666666666667
1.4.1 Constantes Matemáticas:
Para utilizar os valores reais de constantes matemáticas, como `pi', devemos escrever
antes da constante o operador `%'.
(%i13)
2*pi;
(%o13) 2pi
(%i14) float(%);
(%o14) 2.0pi
(%i15) 2*%pi;
(%o15) 2pi
(%i16) float(%);
(%o16) 6.283185307179586
1.4.2 Operadores Avançados:
Operadores Função
: É o operador que atribui valor a uma variável
:= É o operador para definir uma função
(%i17)
x:4;
(%o17) 4
(%i18) y:%pi;
(%o18) pi
Às variáveis `x' e `y' foram atribuidos, respectivamente os valores `4' e ‘pi‘.
(%i19) f(x):=x^2+1;
(%o19) f (x) := x2 + 1
(%i20) g(y):=sin(y);
6
(%o20) g (y) := sin (y)
Como já declaramos f(x) e g(y), e atribuimos valores a `x' e a `y', podemos cal-
cular:
(%i21) f(x);
(%o21) 17
(%i22) g(y);
(%o22) 0
(%i1) a(theta):=theta^2+2*theta+1;
(%o1) a (θ) := θ2 + 2 θ + 1
(%i2) a(1);
(%o2) 4
(%i3) a(2);
(%o3) 9
1.4.3 Funções Matemáticas:
Comando Função
sqrt(expressão) Retorna a raiz quadrada da expressão
x�(m/n) Retorna a raiz n-ésima de x elavado a `m'
log(expressão) Retorna o logaritmo neperiano da expressão
Funções Trigonométricas:
Função Trigonométrica Descrição
sin(x), sinh(x) Seno, Seno hiperbólico
cos(x), cosh(x) Cosseno, Cosseno hiberbólico
tan(x), tanh(x) Tangente, Tangente hiperbólica
acos(x) Arco-cosseno
asin(x) Arco-seno
atan(x) Arco-tangente
7
1.5 Manipulação de expressões matemáticas :
Como foi citado na introdução desta apostila, uma grande vantagem do wxMaxima é
nos permitir a manipulação de expressões complicadas. Seguem abaixo alguns exem-
plos simples nos quais ele se mostra muito útil:
(%i1) cos(x)^3;
(%o1) cos (x)3
(%i2) trigreduce(%);
(%o2)
cos (3x) + 3 cos (x)
4
(%i3) cos(x)^2+sin(x)^2+2;
(%o3) sin (x)2 + cos (x)2 + 2
(%i4) trigsimp(%);
(%o4) 3
(%i5) trigreduce(%o3);
(%o5)
cos (2x)+ 1
2
+
1− cos (2x)
2
+ 2
(%i6) ratsimp(%);
(%o6) 3
(%i7) cos(2*theta);
(%o7) cos (2 θ)
(%i8) trigexpand(%);
(%o8) cos (θ)2 − sin (θ)2
(%i9) factor(a(theta));
(%o9) (θ + 1)2
8
1.6 Sistemas de equações lineares:
Quando inserir um sistema de equações é importante nomeá-lo para facilitar sua
identificação e manter a organização. Estes são inseridos com a seguinte estrutura:
[Equação 1, Equação 2],[Variável 1, Variável 2];.
Para obter a solução do sistema usa-se o comando `solve'.
(%i38) sis:[2*x+y=5,3*x-2*y=4],[x,y];
(%o38) [y + 2x = 5, 3x− 2 y = 4]
(%i39) solve(sis);
(%o39) [[y = 1, x = 2]]
Exercício 1:
Em um cinema o valor do ingresso para crianças é R$ 1,50 e para adultos é R$ 4,00.
Num certo dia frequentaram o local 2200 pessoas e o total arrecadado foi R$ 5.050,00.
Quais os números de adultos e crianças que assistiram filmes?
Esse problema pode ser resolvido facilmente através de equações dispostas em um
sistema. Primeiro arranjamos as equações das seguintes formas: x+y = 2200 para o
número de pessoas e x.1, 50 + 4.y = 5050 para o total arrecadado. Com a estrutura
pronta entramos com um sistema no wxMaxima e solucionamos o problema.
(%i32) sis: [x+y=2200,x*(3/2)+y*4=5050],[x,y];
(%o32) [y + x = 2200, 4 y +
3x
2
= 5050]
(%i33) solve(sis);
(%o33) [[y = 700, x = 1500]]
O número de crianças é 1500 e adultos 700.
Uma outra forma de trabalharmos com sistemas lineares é escrevê-los na forma de
uma matriz aumentada ou expandida, que no wxMaxima é feito utilizando o co-
mando `augcoefmatrix', após inserir o sistema como no exemplo anterior, obtendo
assim, a sua solução através do escalonamento da mesma, com o comando `triangu-
larize'.
9
(%i40) M:augcoefmatrix(sis,[x,y]);
(%o40)
(
2 1 −5
3 −2 −4
)
(%i41) triangularize(M);
(%o41)
(
2 1 −5
0 −7 7
)
Utilizando a ferramenta de plotagem gráfica do wxMaxima, podemos fazer uma in-
terpretação geométrica do conjunto solução de um sistema, escrevendo cada equação
deste, em função de uma variável.
(%i5) plot2d([5-2*x,(-4+3*x)/2],[x,-0.5,6],[y,-0.5,6]);
1.6.1 Sistema impossível:
(%i1) sis1:[-2*x-y=-5,-8*x-4*y=-25],[x,y];
(%o1) [−y − 2x = −5,−4 y − 8x = −25]
(%i2) solve(sis1);
(%o2) []
10
1.6.2 Sistema possível determinado:
-->
sis2:[-x-y=-4,-2*x-3*y=-2],[x,y];
(%o1) [−y − x = −4,−3 y − 2x = −2]
-->
solve(sis2);
(%o2) [[y = −6, x = 10]]
1.6.3 Sistema possível indeterminado:
(%i1) sis3:[-2*x+4*y=-2,4*x-8*y=4],[x,y];
(%o1) [4 y − 2x = −2, 4x− 8 y = 4]
11
A partir das matrizes encontre as equações dos sistemas lineares e de seu resultado:
 2 3 2 104 6 4 18
1 −2 3 5


1 0 0 0 2
0 1 0 0 3
0 0 1 0 5
0 0 0 1 −9
( 7 4 2 0 19 2 7 3 5
)
Logo após, diga se os sistemas são S.I(Sistema impossível), S.P.D(Sistema possível e
determinado), ou se é S.P.I(Sistema possível e indeterminado).
Resolvendo :
(%i1) linsolve([2*x+3*y+2*z=10, 4*x+6*y+4*z=18, 1*x-2*y+3*z=5], [x,y,z]);
(%o1) []
Logo é um S.I, não possui nenhuma solução.
(%i2) linsolve([1*x+0*y+0*z+0*k=2, 0*x+1*y+0*z+0*k=3, 0*x+0*y+1*z+0*k=5, 0*x+0*y+0*z+1*k=-9], [x,y,z,k]);
(%o2) [x = 2, y = 3, z = 5, k = −9]
Logo é um S.P.D, possui uma única solução.
(%i3) linsolve([7*x+4*y+2*z+0*k=1, 9*x+2*y+7*z+5*k=5], [x,y,z,k]);
(%o3) [x = −12%r2 + 10%r1− 9
11
, y =
31%r2 + 35%r1− 26
22
, z = %r2, k = %r1]
Logo é um S.P.I, possui infinitas soluções.
12
1.7 Matrizes:
Temos que matriz é a disposição de elementos na forma de tabela na qual uma matriz
A, m x n (m por n), nos leva a distribuição dos termos em m linhas e n colunas,
podendo ser representada da seguinte maneira:
A =
 a11 a12 a13 a14a21 a22 a23 a24
a31 a32 a33 a34

No wxMaxima as matrizes podem ser inseridas de diferentes formas, dentre elas te-
mos as linhas de comandos.
Uma das maneiras de inserir matrizes é através do comando: matrix(); , na qual
os argumentos, linhas e colunas com seus respectivos elementos, são inseridos entre
os parênteses e separados por colchetes e vírgulas. É importante a atribuição de
um nome à matriz para posteriormente facilitar as operações com as mesma. Segue
abaixo um exemplo:
(%i1) A:matrix([2,4,1],[3,7,2],[9,7,5]);
(%o1)
2 4 13 7 2
9 7 5

O comando entermatrix(m,n), retorna uma matriz m por n de forma interativa,
sendo que se m é igual a n o wxMaxima pergunta pelo tipo de matriz (diagonal,
simétrica, antissimétrica ou genérica) e por cada elemento. Mas se m for diferente
de n o wxMaxima pergunta por cada elemento. Seguem os exemplos abaixo:
(%i1) entermatrix(2,2);
Isthematrix1.Diagonal2.Symmetric3.Antisymmetric4.GeneralAnswer1, 2, 3or4 :
1;Row1Column1 : 4;Row2Column2 : 2;Matrixentered.
(%o1)
(
4 0
0 2
)
(%i1) entermatrix(2,3);
Row1Column1 : 2;Row1Column2 : 3;Row1Column3 : 5;Row2Column1 : 1;Row2Column2 :
2;Row2Column3 : 0;Matrixentered.
(%o1)
(
2 3 5
1 2 0
)
13
Outra maneira de escrever uma matriz é definindo-a em função das posições dos
elementos da mesma, na qual determinamos a regra que permite definir um ele-
mento e a dimensão da matriz desejada. No exemplo abaixo, i representa o número
da linha e j o da coluna:
(%i9) B[i,j]:=i+3;
(%o9) Bi,j := i+ 3
(%i10) genmatrix(B,3,3);
(%o10)
4 4 45 5 5
6 6 6

O wxMaxima nos permite carregar pacotes com funções extras, na qual esses são
carregados do diretório de instalação do programa. O pacote `gaal' nos permite ge-
rar uma matriz de maneira aleatória com elementos de −5 a 5 utilizando a função
'randi();'. Segue o exemplo:
(%i8) load("gaal")$
(%o8)
(%i9) randi(3,2);
(%o9)
−3 −3−1 0
−1 −4

Métodos de escalonamento com o wxMaxima:
Dentre as possíveis formas de solucionar sistemas de equações lineares e consequente-
mente matrizes, temos o método de escalonamento desenvolvido por Gauss e Jordan
que no wxMaxima é dado pelo comando `echelon();'. Segue o exemplo abaixo:
(%i2) A:matrix([2,5,4],[5,2,1],[9,0,6]);
14
(%o2)
2 5 45 2 1
9 0 6

(%i3) echelon(A);
(%o3)
1 0 230 1 −7
6
0 0 1

Outro comando que realiza escalonamento é o `triangularize();'. Entretanto esse
comando que também realiza a eliminação de Gaussian, não normaliza o elemento
líder não nulo em cada linha.
(%i5) triangularize(A);
(%o5)
9 0 60 18 −21
0 0 153

O pacote `gaal' também nos permite escalonar matrizes passo a passo com a função
`escalona();', nos retornando as operações entre as linhas como segue no exemplo
abaixo:
(%i1) load("gaal");
(%o1) C : /PROGRA 2/MAXIMA 1.0/share/maxima/5.26.0/share/gaal.mac
(%i2) M:matrix([2,5,3],[9,1,6],[8,2,5]);
(%o2)
2 5 39 1 6
8 2 5

(%i3) escalona(M);2 5 39 1 6
8 2 5
 1a.eliminao : linha1−− > 1
2
∗ linha11 52 329 1 6
8 2 5
Continua?(sim = 1; /no = 2; )1; linha2−− > linha2+(−9)∗linha1linha3−
− > linha3 + (−8) ∗ linha1
15
1 52 320 −43
2
−15
2
0 −18 −7
Continua?(sim = 1; /no = 2; )1; 2a.eliminao : linha2 − − >
− 2
43
∗ linha21 52 320 1 15
43
0 −18 −7
Continua?(sim = 1; /no = 2; )1; linha1 − − > linha1 + (−5
2
) ∗
linha2linha3−− > linha3 + (18) ∗ linha21 0 27430 1 15
43
0 0 −31
43
Continua?(sim = 1; /no = 2; )1; 3a.eliminao : linha3 − − > −43
31
∗
linha31 0 27430 1 15
43
0 0 1
Continua?(sim = 1; /no = 2; )1; linha1 − − > linha1 + (−27
43
) ∗
linha3linha2−− > linha2 + (−15
43
) ∗ linha31 0 00 1 0
0 0 1
Continua?(sim = 1; /no = 2; )2;
(%o3)
1 0 00 1 0
0 0 1

1.7.1 Operações matriciais básicas com o wxMaxima:
Somente estão definidas as operações de adição e subtração quando as matrizes são
da mesma ordem. Essas operações são dadas pelos operadores + e − como seguem
nos exemplos abaixo:
(%i1) A:matrix([2,5],[3,6]);(%o1)
(
2 5
3 6
)
16
(%i2) B:matrix([3,5],[1,0]);
(%o2)
(
3 5
1 0
)
(%i3)
A+B;
(%o3)
(
5 10
4 6
)
(%i4)
A-B;
(%o4)
(−1 0
2 6
)
O operador que realiza a multiplicação entre matrizes, ou produto não comutativo,
é o ponto, '.'. É importante lembrar que ao se trabalhar com matrizes o operador
de multiplicação '*' é usado ao se multiplicar um escalar pela matriz, pois quando
usado entre matrizes retorna o produto comutativo, multiplicação de elemento por
elemento. Seguem exemplos:
(%i1) A:matrix([2,4,5,1],[5,7,4,1],[9,1,5,7],[3,2,5,0]);
(%o1)

2 4 5 1
5 7 4 1
9 1 5 7
3 2 5 0

(%i2) B:matrix([2,5,3,4],[9,0,6,4],[5,6,3,1],[0,0,2,5]);
(%o2)

2 5 3 4
9 0 6 4
5 6 3 1
0 0 2 5

Observe os resultados com o uso dos diferentes operadores:
(%i3)
A.B;
(%o3)

65 40 47 34
93 49 71 57
52 75 62 80
49 45 36 25

17
(%i15)
A*B;
(%o15)

4 20 15 4
45 0 24 4
45 6 15 7
0 0 10 0

Multiplicação por escalar:
(%i4)
2*A;
(%o4)

4 8 10 2
10 14 8 2
18 2 10 14
6 4 10 0

(%i8) X:matrix([2,5],[6,9]);
(%o8)
(
2 5
6 9
)
(%i9) sqrt(2)*X;
(%o9)
(
2
3
2 5
√
2
3 2
3
2 9
√
2
)
(%i10)
2.33*X;
(%o10)
(
4.66 11.65
13.98 20.97
)
Potência de matrizes:
(%i11)
X^3;
(%o11)
(
8 125
216 729
)
Como já visto, outro pacote que nos fornece funções extras é o 'nchrpl', que nos
retorna a função 'mattrace();', que calcula o traço da matriz, ou seja, a soma dos
elementos da diagonal principal. Segue o exemplo abaixo:
Primeiro carregamos o pacote:
18
(%i9) load("nchrpl");
(%o9) C : /PROGRA 2/MAXIMA 1.0/share/maxima/5.26.0/share/matrix/nchrpl.mac
Em seguida damos entrada na matriz desejada e chamamos a função:
(%i10) f:matrix([2,5,1],[1,7,5],[0,7,2]);
(%o10)
2 5 11 7 5
0 7 2

(%i11) mattrace(f);
(%o11) 11
O cálculo do determinante da matriz é feito através do comando 'determinant();'.
Segue o exemplo abaixo:
(%i7) N:matrix([3,6,4,1],[9,7,4,1],[0,9,3,1],[8,2,3,1]);
(%o7)

3 6 4 1
9 7 4 1
0 9 3 1
8 2 3 1

(%i8) determinant(N);
(%o8) 50
1.7.2 Tipos de Matrizes
Uma matriz identidade é aquela que tem todos elementos da diagonal principal 1,
podendo ser facilmente construida com o comando 'ident(n);', na qual n é a dimensão
da matriz:
(%i3) ident(3);
(%o3)
1 0 00 1 0
0 0 1

19
Para gerar uma matriz nula, em que todos elementos são zero, utilizamos o co-
mando 'zeromatrix(m,n);', na qual m e n representa o numero de linhas e colunas.
(%i4) zeromatrix(2,3);
(%o4)
(
0 0 0
0 0 0
)
Uma matriz diagonal é uma matriz quadrada (m = n),onde para todo i 6= j os
elementos são nulos, ou seja, os elementos que não pertencem a diagonal principal.
Esta é construida através do comando 'diagmatrix();'.
(%i5) diagmatrix(3,x/3);
(%o5)
x3 0 00 x
3
0
0 0 x
3

A transposta de uma matriz M , de dimensão m x n, representada por M t, é de-
finida como a matriz n x m que surge da permutação das linhas com as colunas de
M . O comando 'transpose();' realiza esta permutação.
(%i6) M:matrix([2,4,6]);
(%o6)
(
2 4 6
)
(%i7) transpose(M);
(%o7)
24
6

Adjunta é a matriz transposta da matriz de cofatores de M . O comando 'adjoint();'
nos retorna a mesma.
(%i11) M:matrix([3,5,7],[8,2,7],[1,0,9]);
(%o11)
3 5 78 2 7
1 0 9

20
(%i12) adjoint(M);
(%o12)
 18 −45 21−65 20 35
−2 5 −34

Se temos que A é uma matriz quadrada de ordem n, dizemos que A−1 é inversa
de A se, e somente se: A.A−1 = A−1.A = I. A matriz inversa é dada pelo comando
'invert();'. Segue o exemplo abaixo:
(%i1) M:matrix([2,4,5],[6,8,2],[2,5,3]);
(%o1)
2 4 56 8 2
2 5 3

(%i2) invert(M);
(%o2)
 13 1342 −1621−1
3
− 2
21
13
21
1
3
− 1
21
− 4
21

Ainda é possível obtê-la usando a potência:
(%i18) M^^(-1);
(%o18)
 13 1342 −1621−1
3
− 2
21
13
21
1
3
− 1
21
− 4
21

1.8 Introdução a Vetores
Para trabalhar com vetores no wxMaxima, será necessário uma simples conversão,
por exemplo os vetores: v = 2i + 4j − 2k e u = 3i − j + 5k, serão armazenados de
seguinte forma:
(%i1) v:[2,4,-2];
(%o1) [2, 4,−2]
(%i2) u:[3,-1,5];
21
(%o2) [3,−1, 5]
A adição, subtração e multiplicação de um escalar são feitas de seguinte forma:
(%i3)
v+u;
(%o3) [5, 3, 3]
(%i4)
u-v;
(%o4) [1,−5, 7]
(%i5)
2*u;
(%o5) [6,−2, 10]
(%i6)
3*u-5*v;
(%o6) [−1,−23, 25]
Uma pequena observação que deve ser feita, é que os operadores `∗' e `/' referen-
tes a multiplicação e divisão de vetores, irá retornar apenas a multiplicação e divisão
feita elemento por elemento, logo para o cálculo do produto escalar devemos usar o
ponto `.'.
(%i7)
u.v;
(%o7) − 8
1.8.1 Norma de Um Vetor
O comprimento de um vetor u é denotado por: sqrt(u2 + v2),logo para calcular a
norma de um vetor no wxMaxima pode-se fazer usando o comando `sqrt();', veja o
exemplo:
(%i3) sqrt(3^2+2^2+1^2);
(%o3)
√
14
(%i2) float(%);
22
(%o2) 3.741657386773941
Outra forma mais simplificada de efetuar o cálculo da norma no wxMaxima é dado
pela seguinte equação:
(%i11) mag_u:sqrt(u.u);
(%o11)
√
35
1.8.2 Exercícios Resolvidos
Encontre a norma de v.
v1 = (1, 2), v2 = (1,−2, 1), v3 = (−7,−2, 2) (1.1)
Resolvendo:
(%i1) load(gaal);
(%o1) C : /PROGRA 1/MAXIMA 2.0/share/maxima/5.25.0/share/gaal.mac
(%i2) v1:matrix([1,2]);
(%o2)
(
1 2
)
(%i3) v2:matrix([1,-2,1]);
(%o3)
(
1 −2 1)
(%i4) v3:matrix([-7,-2,2]);
(%o4)
(−7 −2 2)
(%i5) no(v1);
(%o5)
√
5
(%i6) no(v2);
(%o6)
√
6
(%i7) no(v3);
(%o7)
√
57
23
Sejam u = (2,−1, 3), v = (4,−2, 1) e w = (1,−2, 1). Calcule o que se pede:
a) |u+ v|
b) 3 ∗ |v| − |u|
c) 4 ∗ |w|+ 2 ∗ |v| − |u|
Resolvendo:
(%i1) load(gaal);
(%o1) C : /PROGRA 1/MAXIMA 2.0/share/maxima/5.25.0/share/gaal.mac
(%i2) u:matrix([2,-1,3]);
(%o2)
(
2 −1 3)
(%i3) v:matrix([4,-2,1]);
(%o3)
(
4 −2 1)
(%i4) w:matrix([1,-2,1]);
(%o4)
(
1 −2 1)
(%i5) no(u+v);
(%o5)
√
61
(%i6) (3*no(v))-(no(u));
(%o6) 3
√
21−
√
14
(%i10) 4*no(w)+2*no(v)-no(u);
(%o10) 2
√
21−
√
14 + 4
√
6
Também visualizar graficamente um vetor, inicialmente será necessário carregar o
pacote 'Draw' no wxMaxima, e para isso é necessário digitar 'load(draw)', tal pacote
já está incluído no programa. Após carregá-lo basta utilizar o comando abaixo como
demonstrado:
(%i1) load(draw);
24
(%o1) C : /PROGRA 1/MAXIMA 2.0/share/maxima/5.25.0/share/draw/draw.lisp
(%i2) wxdraw3d(color = red,vector([0,0,1],[1,1,-2]) )\$
(%t2)
É possível também alterar a cor do vetor, mudando a cor RED para a cor dese-
jada, desde que ela esteja na língua inglesa. A posição do vetor no gráfico poderá ser
modificada através do primeiro colchete, e o vetor será incluído no segundo colchete.
Outra ferramente bem útil , é incluir vários vetores no mesmo gráfico, isso é possível
adicionando dentro dos parenteses o comando `vector([0,0,1],[x,y,z])', com os tama-
nhos desejados.
Para facilitar o cálculo da norma, foi utilizado o pacote GAAL, para utilizá-lo será
necessário também carregá-lo usando o comando`load(gaal)'. Para calcular a norma
do vetor, é bem simples, basta digitar `no(x)' onde x é o vetor. Veja abaixo:
(%i1) load(gaal);
(%o1) C : /PROGRA 1/MAXIMA 2.0/share/maxima/5.25.0/share/gaal.mac
(%i2) v:matrix([1,2,3]);
(%o2)
(
1 2 3
)
(%i3) no(v);
(%o3)
√
14
(%i4) float(%);
(%o4) 3.741657386773941
25
Um vetor unitário é dado por: eu =
u
|u| . No wxMaxima podemos definir como:
(%i12) e_u:u/mag_u;
(%o12) [
3√
35
,− 1√
35
,
5√
35
]
O ânguloentre dois vetores é dado por: θ = cos−1( u.v|u|.|v|). No wxMaxima será
calculado da seguinte forma:
(%i14) theta: acos(u.v/(mag_u*mag_v));
(%o14) pi − acos
(
4√
6
√
35
)
(%i15) float(%);
(%o15) 1.850453569668698
No cálculo do produto vetorial devemos inicialmente carregar o pacote `vector', o
operador que deve ser usado é o `
�
', você irá notar que apenas após o comando `ex-
press(% )' ser usado, o wxMaxima irá mostrar o produto vetorial em sua forma
correta.
(%i23) load(vect);
(%o23) C : /PROGRA 1/MAXIMA 2.0/share/maxima/5.25.0/share/vector/vect.mac
(%i24)
u~v;
(%o24) − [2, 4,−2] [3,−1, 5]
(%i25) express(%);
(%o25) [−18, 16, 14]
O cálculo do volume é dado por: V = |u.(vxu)|. Representando no wxMaxima:
(%i21) w:[2,3,1];
(%o21) [2, 3, 1]
26
(%i26) abs(u.express(v~w));
(%o26) 26
1.8.3 Produtos Escalar e Vetorial
No cálculo do produto vetorial e escalar será usado também o pacote GAAL.
Para trabalharmos com esses produtos, devemos inicialmente carregar o pacote pelo
comando 'load(gaal);', seguem os exemplos abaixo:
(%i1) load(gaal);
(%o1) C : /PROGRA 1/MAXIMA 2.0/share/maxima/5.25.0/share/gaal.mac
É necessário declararmos dois vetores pelo comando `matrix([i,j,k]);', como os ve-
tores `u' e `v' mostrados a baixo:
(%i2) v:matrix([1,2,2]);
(%o2)
(
1 2 2
)
(%i3) u:matrix([3,-1,2]);
(%o3)
(
3 −1 2)
Logo após estes procedimentos, iremos calcular o produto escalar: 'pe(v,u);' e veto-
rial: 'pv(v,u);'
(%i4) pe(v,u);
(%o4) 5
(%i5) pv(v,u);
(%o5)
(
6 4 −7)
Podemos calcular pelo próprio pacote `gaal' as projeções de dois vetores pelo co-
mando `proj(W,V);'
27
(%i1) w:matrix([1,2,3]);
(%o1)
(
1 2 3
)
(%i2) v:matrix([2,-1,0]);
(%o2)
(
2 −1 0)
(%i3) load(gaal);
(%o3) C : /PROGRA 1/MAXIMA 2.0/share/maxima/5.25.0/share/gaal.mac
(%i4) proj(w,v);
(%o4)
(
0 0 0
)
(%i5) proj(v,w);
(%o5)
(
0 0 0
)
1.8.4 Exercícios Resolvidos
Produto escalar e vetorial
Encontre `u . v' e `u * v':
1. u = (2,2), v = (1,−2)
2. u = (−4,2,0), v = (1,2,3)
3. u = (1,0,−7), v = (2,1,3)
Resolvendo :
(%i1) load(gaal);
(%o1) C : /PROGRA 1/MAXIMA 2.0/share/maxima/5.25.0/share/gaal.mac
(%i10) u1:matrix([2,2,0]);
(%o10)
(
2 2 0
)
28
(%i3) u2:matrix([-4,2,0]);
(%o3)
(−4 2 0)
(%i4) u3:matrix([1,0,-7]);
(%o4)
(
1 0 −7)
(%i11) v1:matrix([1,-2,2]);
(%o11)
(
1 −2 2)
(%i6) v2:matrix([1,2,3]);
(%o6)
(
1 2 3
)
(%i7) v3:matrix([2,1,3]);
(%o7)
(
2 1 3
)
(%i12) pe(u1,v1);
(%o12) − 2
(%i13) pv(u1,v1);
(%o13)
(
4 −4 −6)
(%i14) pe(u2,v2);
(%o14) 0
(%i15) pv(u2,v2);
(%o15)
(
6 12 −10)
(%i16) pe(u3,v3);
(%o16) − 19
(%i17) pv(u3,v3);
(%o17)
(
7 −17 1)
29
1.9 Autovalores e Autovetores
Um recurso muito requisitado na álgebra linear são os Autovalores e Autovetores, o
wxMaxima consegue calcular tais valores pelos comando `eigenvectors();' que calcula
o autovetor e `eigenvalues();' para calcular os autovalores. Será necessário também
que os dados sejam colocados em forma de matriz, para que o cálculo seja efetuado.
(%i1) a:matrix([1,2],[0,-2]);
(%o1)
(
1 2
0 −2
)
(%i4) eigenvalues(a);
(%o4) [[−2, 1], [1, 1]]
(%i5) eigenvectors(a);
(%o5) [[[−2, 1], [1, 1]], [[[1,−3
2
]], [[1, 0]]]]
Uma outra forma de acessar os comandos de Autovalor e Autovetor seria o uso
da barra de ferramentas do wxMaxima, assim será encontrado: `Álgebra � Autova-
lor' ou `Álgebra � Autovetor'.
(%t2)
Polinômio Característico
O Polinômio Característico de uma matriz também pode ser calculado no wxMaxima,
utilizando o comando `charpoly(a, x), expand;', onde `a' é uma matriz quadrada e
`x' a variavel, temos:
30
(%i1) a:matrix([0,-2],[1,2]);
(%o1)
(
0 −2
1 2
)
(%i2) charpoly(%, x), expand;
(%o2) x2 − 2x+ 2
Outra forma de fazer o cálculo é acessando as barras de ferramentas atravez de:
`Álgebra � Polinômio Característico...', desta forma o programa irá calcular o po-
linômio a partir de uma matriz declarada anteriormente. Veja abaixo:
(%t2)
1. Encontre as equações características das matrizes:(
2 1
−1 0
) (
3 −5
0 7
) (
5 0
−1 7
) (
2 1
−2 3
)
2. Calcule o Autovalor do item 1:
3. Calcule os Autovetores possíveis do item 1:
Resolvendo:
(%i1) a:matrix([2,1],[-1,0]);
(%o1)
(
2 1
−1 0
)
31
(%i2) b:matrix([3,-5],[0,7]);
(%o2)
(
3 −5
0 7
)
(%i3) c:matrix([5,0],[-1,7]);
(%o3)
(
5 0
−1 7
)
(%i4) d:matrix([2,1],[-2,3]);
(%o4)
(
2 1
−2 3
)
(%i5) charpoly(a, x), expand;
(%o5) x2 − 2x+ 1
(%i6) charpoly(b, x), expand;
(%o6) x2 − 10x+ 21
(%i7) charpoly(c, x), expand;
(%o7) x2 − 12x+ 35
(%i8) charpoly(d, x), expand;
(%o8) x2 − 5x+ 8
(%i10) eigenvalues(a);
(%o10) [[1], [2]]
(%i11) eigenvalues(b);
(%o11) [[3, 7], [1, 1]]
(%i12) eigenvalues(c);
(%o12) [[5, 7], [1, 1]]
(%i13) eigenvalues(d);
(%o13) [[−
√
7 i− 5
2
,
√
7 i+ 5
2
], [1, 1]]
32
4. Encontre as equações características das matrizes seguintes: 1 0 1−1 2 0
3 0 4
  7 2 14 3 0
−1 0 1

Resolvendo no wxMaxima:
(%i1) a:matrix([1,0,1],[-1,2,0],[3,0,4]);
(%o1)
 1 0 1−1 2 0
3 0 4

(%i2) b:matrix([7,2,1],[4,3,0],[-1,0,1]);
(%o2)
 7 2 14 3 0
−1 0 1

(%i3) charpoly(a, x), expand;
(%o3) − x3 + 7x2 − 11x+ 2
(%i4) charpoly(b, x), expand;
(%o4) − x3 + 11x2 − 24x+ 16
Utilizando as funções da barra de ferramentas:
Introduzindo matrizes:
1
o
passo: 2
o
passo:
33
3
o
passo:
Obtendo matriz a partir da expressão:
1
o
passo: 2
o
passo:
(%i1) C: genmatrix(lambda([i,j], i-2*j), 2, 2);
(%o1)
(−1 −3
0 −2
)
1.10 Exercícios propostos:
1)Sendo a matriz
A =
 2 3 21 4 5
2 1 3

encontre:
34
a)Determinante de A;
b)Transposta de A;
c)Adjunta de A;
d)Inversa de A;
e)Confira o resultado da letra d) multiplicando A pela sua inversa;
2)Encontre a solução do sistema abaixo:
2x+ 3y − z =0 (1.2)
4x+ y + z =7 (1.3)
−2x+ y + z =4 (1.4)
3)Calcule φ real de modo que: ∣∣∣∣∣∣
2 5 2
5 φ 4
2 2 1
∣∣∣∣∣∣ = 0
4. Se A =
 −12
3

e B =
 4−3
7

, determine a matriz X tal que X + 2B = A.
5. Seja (aij) uma matriz quadrada de ordem 2 tal que aij = 2i− 3j e seja
B =
(
1 0
−1 1
)
. Calcule X tal que X + 2A = 2B.
6. Sejam as matrizes A =

1 0 1/2 −1
−2 5 2 −3
1 −1 2 1
−5 1 3/2 0
 e B =

1 3 −1/2 1
1 −2 −2 3
−1 1 1 1
5 −1 1/2 5

Determine o elemento C34 da matriz C = (A+B)
−1
7. Dadas as matrizes AB =
( −1 0
2 1
)
e AC =
(
2 1
0 −1
)
, calcule A(B + C) e
A(BAC).
8. Sabendo que A =
(
1 0
−1 1
)
e B =
(
2 5
3 −1
)
:
35
a.verifique se A−1 =
(
1 0
1 1
)
;
b.determine X tal que AX = B.
9. (ITA-SP) Sejam as matrizes: A =

1 0 1
2
−1
−2 5 2 −3
1 −1 2 1
−5 1 3
2
0
 eB =

1 3 −1
2
−1
1 −2 −2 3
−1 1 1 1
5 −1 1
2
5

Determine o elemento C34 da matriz C = (A+B)
−1.
10. (UEL-PR) Uma das formas de se enviar uma mensagem secreta é por meio
de códigos matemáticos, seguindo os passos:
1) Tanto o destinatário quanto o remetente possuem uma matriz chave C.
2) O destinatário recebe do remetente uma matriz P, tal que MC = P , ondeM é a
matriz mensagem a ser decodificada.
3) Cada número da matriz M corresponde a uma letra do alfabeto: 1 = a, 2 = b,
3 = c, . . . 3, 23 = z.
4) Consideremos o alfabeto com 23 letras, excluindo as letras K, W e Y.
5) O número zero corresponde ao ponto de exclamação.
6) A mensagem é lida, encontrando a matriz M, fazendo a correspondência nú-
mero/letra e ordenando as letras por linhas da matriz conforme segue:
m11,m12,m13,m21,m22,m23,m31,m32,m33.Considere as matrizes C =
1 1 00 −1 0
0 2 1

e P =
 2 −10 118 38 17
19 14 0

Com base nas informações descritas, assinale a alternativa que a presenta a men-
sagem que foi enviada por meio da matriz M.
a)Boasorte! c)Boatarde! e)Socorro!
b)Boaprova! d)Ajudeme!
11. Realize a translação de uma linha que tem seus pontos limites representados
pelo pontos A(1,1), B(7,1) e C(4,7) pertencentes ao R2 de 5 unidades na coordenada
horizontal e 3 unidades na coordenada vertical.
12. Duplique a escala de um objeto que tem seus pontos limites nos Pontos A(1,1),
B(3,1) e C(2,3).
36
13. Rotacione um objeto por um ângulo de 90
o
no sentindo anti-horário com relação
à origem sendo que seus pontos limites é A(1,1), B(7,1) e C(4,7).
37
Capítulo 2
wxMaxima e Cálculo
2.1 Limites
Exercício resolvido 1:
Dada a função f(x) =
√
x2+16−4
2x2
, calcule lim
x→0
f(x).
SOLUÇÃO: Resolveremos este exercícios de duas maneiras distintas, a primeira
manualmente e a segunda como o auxílio do software.
Visto que o limite do denominador é 0, não podemos aplicar a Lei do Quociente
de imediato. Podemos racionalizar f(x) mutiplicando tanto o numerador quanto o
denominador pelo conjugado do numerador, assim temos:
lim
x→0
√
x2 + 16− 4
2x2
= lim
x→0
√
x2 + 16− 4
2x2
.
√
x2 + 16 + 4√
x2 + 16 + 4
= lim
x→0
(x2 + 16)− 16
2x2(
√
x2 + 16 + 4)
= lim
x→0
x2
2x2(
√
x2 + 16 + 4)
= lim
x→0
1
2
√
x2 + 16 + 8
=
1
2.4 + 8
=
1
16
Utilizando o software wxMaxima podemos encontrar o limite de f(x) através das
seguintes linhas de comando:
(%i1) f(x):=(sqrt(x^2+16)-4)/(2*x^2);
(%o1) f (x) :=
√
x2 + 16− 4
2x2
(%i2) limit(f(x),x,0);
(%o2)
1
16
38
Com o auxílio do software podemos entender melhor o algebrismo utilizado para
encontrar o limite de f(x). Segue os seguintes passos:
1) Racionalizando a função por multiplicar f(x) pelo conjugado do seu numera-
dor.
(%i3) g(x):= ((sqrt(x^2+16)-4)*(sqrt(x^2+16)+4))/
((2*x^2)*(sqrt(x^2+16)+4));
(%o3) g (x) :=
(√
x2 + 16− 4) (√x2 + 16 + 4)
2x2
(√
x2 + 16 + 4
)
(%i4) ratsimp(h(x):=((sqrt(x^2+16)-4)*(sqrt(x^2+16)+4))
/(2*x^2*(sqrt(x^2+16)+4)));
(%o4) h (x) :=
1
2
√
x2 + 16 + 8
2) Substituimos a variável x por 0, e comparamos com o limite de h(x) quando
x tende a 0.
(%i5) subst(0, x, h(x):=1/(2*sqrt(x^2+16)+8));
(%o5) h (0) :=
1
16
Percebe-se que em h(x) não há restrição quando x = 0 como em f(x).
(%i6) limit(h(x), x, 0);
(%o6)
1
16
3) Agora vamos comparar os gráficos gerados por f(x) e h(x).
A princípio notamos que as duas funções geram a mesma curva. Porém se aumen-
tarmos o zoom no ponto onde x = 0 veremos a diferença entre as curvas. Em f(x)
a curva não é contínua quando x = 0, ao contrário de h(x).
(%i7) plot2d(f(x), [x,-5,5],
[plot_format, gnuplot])$
39
(%i8) plot2d(h(x), [x,-5,5],
[plot_format, gnuplot])$
Assim, concluímos que o artifício utilizado para calcular lim
x→0
f(x), por encontrar
uma função h(x) que permita calcular o limite através da substiuição direta (x = 0),
não elimina a restrição x 6= 0 de f(x). Podemos ver isso claramente comparando os
gráficos das funções.
2.2 Derivadas no wxMaxima
2.2.1 Comandos para diferenciar uma função no wxMaxima:
Para uma função de uma variável usamos diff(nome da função, variável, ordem da
derivada) ou apenas diff(nome da função, variável) para o caso em que queremos a
primeira derivada da função. Exemplo:
(%i1) diff(cos(x),x,1);
(%o1) − sin (x)
40
Ou simplesmente:
(%i2) diff(cos(x),x);
(%o2) − sin (x)
(%i11) diff(%e^x,x,20);
(%o11) ex
(%i12) diff(log(x),x);
(%o12)
1
x
(%i13) diff(log(x)/log(a),x);
(%o13)
1
log (a) x
(%i14) diff(a^x,x);
(%o14) ax log (a)
(%i15) 'diff(cot(x),x);
(%o15)
d
d x
ctg (x)
2.2.2 Derivadas parciais
Para calcular a derivada parcial de uma função com relação a determinada variável,
consideramos as demais como constantes. Desse modo, no wxMaxima, usamos o
seguinte comando: diff(nome da função, variável para a qual deseja-se calcular a
derivada); Já para calcular a derivada parcial de uma função em relação a uma
variável e depois em relação a outras, usa-se o comando : diff(nome da função,
variável1,ordem da derivada, ..., variável n, ordem da derivada).
Seja f(x, y) = x2 + y2, então fx = 2x, fy = 2y, fxx = fyy = 2 e fxy = fyx = 0 no
wxMaxima fazemos:
(%i3) f(x,y):=x^2+y^2;
(%o3) f (x, y) := x2 + y2
(%i6) f_x:diff(f(x,y),x,1);
(%o6) 2x
41
(%i8) f_y:diff(f(x,y),y,1);
(%o8) 2 y
(%i9) f_XX:diff(f(x,y),x,2);
(%o9) 2
(%i10) f_yy:diff(f(x,y),y,2);
(%o10) 2
Determine hxxx, hyyy , hθθθ e hxyθ para a função h(x, y, θ) = x
6cos(θ)4+y5sin(xtan(θ)),
utilizando o wxMaxima.
(%i12) h(x,y,theta):=x^6*cos(theta)^4+y^5*sin(x*tan(theta));
(%o12) h (x, y, θ) := x6 cos (θ)4 + y5 sin (x tan (θ))
(%i13) h_xxx:diff(h(x,y,theta),x,3);
(%o13) 120 cos (θ)4 x3 − tan (θ)3 cos (tan (θ) x) y5
(%i15) h_yyy:diff(h(x,y,theta),y,3);
(%o15) 60 sin (tan (θ) x) y2
(%i19) h_ttt:ratsimp(diff(h(x,y,theta),theta,3));
(%o19)
(((
4 sec (θ)2 tan (θ)2 + 2 sec (θ)4
)
x− sec (θ)6 x3) cos (tan (θ) x)− 6 sec (θ)4 tan (θ) x2 sin (tan (θ) x)) y5+(
40 cos (θ)3 sin (θ)− 24 cos (θ) sin (θ)3) x6
(%i6) h_xyt:diff(h(x,y,theta),x,1,y,1,theta,1);
(%o6) 5 sec (θ)2 cos (tan (θ) x) y4 − 5 sec (θ)2 tan (θ) x sin (tan (θ) x) y4
2.3 Integrais no wxMaxima
O wxMaxima pode calcular tanto integrais definidas quanto indefinidas, utilizando
a mesma função, a sintaxe dessa função é integrate(função , variável de integração)
ou integrate(função , variável de integração, limite inferior, limite superior), respec-
tivamente. Exemplo:
42
(%i14) integrate(x^2,x);
(%o14)
x3
3
(%i16) integrate(x^2,x,0,6);
(%o16) 72
2.3.1 Integrais múltiplas
Para o cálculo de integrais múltiplas de funções no wxMaxima usamos do fato de que
a integral de uma função também uma função será. Seja f(x, y) uma função multiva-
riável genérica, para integrá-la no wxMaxima faremos integrate(integrate(f(x, y), x),y);
ou integrate(integrate(f(x, y), x, a, b),y, c, d); Vale ressaltar que para, por exemplo,
calcular uma integral tripla usamos o comando integrate três vezes e precisamos
indicar em qual variável ele irá integrar primeiro. Segue o exemplo da integral∫ 10
2pi
∫ x2
0
2ydydx.
(%i2) integrate(integrate(2*y,y,0,x^2),x,2*%pi,10);
(%o2) 20000− 32 pi
5
5
Calcule o volume do sólido formado entre as funções z = x2+y2−10 e z = 10x−y
no intervalo 0 <= x <= 5,−5 <= y <= 5 O volume pedido está entre os gráficos
vermelho e azul abaixo:
ª
O gráfico pode ser gerado com os comandos:
43
(%i37) load(draw)$
(%i40) draw3d(explicit(x^2+y^2-10,x,-10,10,y,-10,10),color = red
,explicit(10*x-y,x,-10,10,y,-10,10))$
para calcular a integral, faz-se:
(%i12) integrate(integrate(10*x-y-(x^2+y^2-10),x,0,5),y,-5,5);
(%o12)
2750
3
Calcule
∫
R
∫
x2ydA na região R mostrada abaixo:
(%i5) wxdraw2d(fill_color=blue,rectangle([-2,0],[2,2]),fill_color=
white,rectangle([-1,0],[1,1]));
Uma das maneiras de calcular esse volume é dado pela integral
∫ 2
−2
∫ 2
0
x2ydydx −∫ 1
−1
∫ 1
0
x2ydydx. E o wxMaxima nos dá:
(%i6) integrate(integrate(x^2*y,x,-2,2),y,0,2)-
integrate(integrate(x^2*y,x,-1,1),y,0,1);
(%o6)
31
3
44
Capítulo 3
Atividades:
3.1 Limites
1 - Um cano rompido em uma plataforma petrolífera do mar do Norte produz uma
mancha de óleo circular que tem y metros de espessura a uma distância de x metros
do local do vazamento. A turbulência torna difícil medir diretamente a espessura da
mancha no local do vazamento (x = 0), mas, para x > 0, observa-se que
y = 0,5(x
2+3x)
x3+x2+4x
Supondo que a distribuição de óleono mar seja contínua qual é a espessura estimada
no local do vazamento? Plote o gráfico da função e verifique o ponto onde a curva
não é contínua.
2 - Investigue o comportamento de f(x) = 2x
2−5x+2
x2−4 quando x está próximo (a)
de 2 (b) de -2. Existe o limites para estes valores de x? A função é contínua para
estes valores de x?
3 - Dada a função g(x) = |x|sen( 1
x
) plote o gráfico de g(x). Veja que a função
oscila com frequência cada vez maior à medida que x se aproxima de 0, tanto do lado
esquerdo como do lado direito, mas com amplitude cada vez menor. Existe o limite
limx→0 g(x)? Se existir, quanto vale?
3.2 Derivadas
4 - Os experimentos mostram que, quando uma pulga dá um pulo, a altura do animal
(em metros) após t segundos é dada pela função H(t) = 4, 4t− 4, 9t2.
45
a. Calcule H ′(t). Qual é a taxa de variação de H(t) após 1 segundo? Neste instante,
a altura está aumentando ou diminuindo?
b. Em que instante H ′(t) = 0? Qual é o significado físico deste instante?
c. Em que instante a pulga "aterrissa"(volta à altura inicial)? Qual é a taxa de varia-
ção deH(t) neste instante? Neste instante, a altura está aumentando ou diminuindo?
5 - Um empresário estima que, se fabricar x centenas de unidades de um certo
produto, terá um lucro P (x) = 4.000(15− x)(x− 2) Reais.
a. Determine P ′(x).
b. Qual é o significado do nível de produção xm para o qual P ′(x) = 0? Determine
o valor de xm.
6 - Um gerente observa que o custo para produzir x unidades de um certo pro-
duto é C milhares de reais, onde C(x) = 0, 04x2 + 5, 1x+ 40.
a. Determine o custo médio quando o nível de produção varia de x = 10 para x = 11
unidades.
b. Use o wxMaxima para calcular a taxa instantânea de variação do custo com o
nível de produção para x = 10 e compare o resultado com o do item (a). O custo
está aumentando ou diminuindo quando a produção é de 10 unidades?
7 - Segundo as projeções, a população de uma certa cidade daqui a x meses será
P (x) = 2x+ 4x3/2 + 5.000).
a. A que taxa a população estará variando com o tempo daqui a 9 meses?
b. A que taxa percentual a população estará variando com o tempo daqui a 9 meses?
8 - Uma empresa usa um caminhão para entregar seus produtos. Para estimar os
custos, o gerente modela o consumo de combustível do caminhão usando a função
G(x) = 1
250
(1.200
x
+ x)
litros/quilômetro, supondo que o caminhão trafega a uma velocidade constante de x
quilômetros por hora, para x ≥ 5. O motorista recebe R$20,00 por hora para dirigir
o caminhão por 250 quilômetros e o preço do litro de combustível é de R$1,90.
a. Escreva uma expressão para o custo total C(x) de uma viagem de 250 quilômetros.
b. Qual é a taxa de variação do custo C(x) com x quando o caminhão está a 40
quilômetros por hora? A esta velocidade, o custo aumenta ou diminui quando a
velocidade aumenta?
46
3.3 Integrais
9 - Um fabricante constatou que o custo marginal é 3q2−60q+400 reais por unidade,
onde q é o número de unidades produzidas. O custo total para produzir as primeiras
duas unidades é de R$900,00. Qual é o custo total para produzir as primeiras cinco
unidades?
10 - A população P (t) de uma colônia de bactérias t horas depois de inicada uma
observação está variando a uma taxa dada por
dP
dq
= 200e0,1t + 150e−0,03t
Se a população era de 200.000 bactérias quando a observação começou, qual será a
papulação 12 horas mais tarde?
11 - A taxa de variação do preço unitário p (em reais) de um certo produto é dada
por
dp
dx
= −135√
9+x2
onde x é a demanda do produto (número de unidades vendidas) em centenas de uni-
dades. Suponha que a demanda seja 400 unidades (x = 4) para um preço unitário
de R$30,00.
a. Determine a função demanda p(x)
b. Para que preço a demanda é de 300 unidades? Para que preço a demanda é zero?
c. Qual é a demanda para um preço unitário de R$20,00?
12 - A área de um terreno pode ser definida sob a curva y = x3 + 1 no intervalo
0 ≤ x ≤ 1, onde x e y estão em centenas de metros. Se o preço da terra é R$12,00 o
metro quadrado, qual é o valor do terreno?
13 - Determine a área da região limitada pela reta y = 4x e pela curva y = x3+3x2.
47

Outros materiais