Escolar Documentos
Profissional Documentos
Cultura Documentos
wxMaxima:
Software Livre para o ensino
e aplicaes da Matemtica
Sumrio
Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operadores bsicos: . . . . . . . . . . . . . . . . . . . . . . .
Entradas e sadas no wxMaxima: . . . . . . . . . . . . . .
Trabalhando com o wxMaxima: . . . . . . . . . . . . . . .
1.4.1 Constantes Matemticas: . . . . . . . . . . . . . . .
1.4.2 Operadores Avanados: . . . . . . . . . . . . . . . .
1.4.3 Funes Matemticas: . . . . . . . . . . . . . . . . .
1.5 Manipulao de expresses matemticas : . . . . . . . .
1.6 Sistemas de equaes lineares: . . . . . . . . . . . . . . . .
1.6.1 Sistema impossvel: . . . . . . . . . . . . . . . . . . .
1.6.2 Sistema possvel determinado: . . . . . . . . . . . .
1.6.3 Sistema possvel indeterminado: . . . . . . . . . .
1.7 Matrizes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7.1 Operaes matriciais bsicas com o wxMaxima:
1.1
1.2
1.3
1.4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . .
. . . . . . .
wxMaxima:
. . . . . . .
. . . . . . .
. . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
wxMaxima e Clculo
2.1
2.2
2.3
4
4
4
5
6
6
7
8
9
10
11
11
13
16
19
21
22
23
27
28
30
34
38
Limites . . . . . . . . . . . . . . . . . . . . . . .
Derivadas no wxMaxima . . . . . . . . . . . . . .
2.2.1 Comandos para diferenciar uma funo no
2.2.2 Derivadas parciais . . . . . . . . . . . . .
Integrais no wxMaxima . . . . . . . . . . . . . .
2.3.1 Integrais mltiplas . . . . . . . . . . . . .
38
40
40
41
42
43
Atividades:
45
3.1
3.2
3.3
45
45
47
Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Integrais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Captulo 1
Introduo e Conceitos bsicos
1.1
Introduo
O Maxima um Sistema de computao algbrica(CAS-do ingls Computer Algebra System ) derivado do sistema Macsyma, desenvolvido no Instituto de Tecnologia de Massachussets(MIT) como
parte do projeto MAC. Esse tipo de software nos permite manipular expresses matemticas, plotar
grcos em duas ou trs dimenses e, no caso do Maxima, alm das inmeras vantagens comuns
aos demais CASs ele ainda um software livre1 .
O wxMaxima pode ser executado em vrios SOs como Windows, Linux e MacOS X. O instalador do
wxMaxima para Windows e Linux pode ser encontrado no endereo http://wxmaxima.sourceforge.net.
1.2
1.3
Operadores bsicos:
Operadores
Funo
+
*
/
!
o operador de soma
o operador de subtrao
o operador de multiplicao
o operador de diviso
o operador de exponenciao
o operador de fatorao
Toda entrada de comando no wxMaxima vem acompanhada do smbolo (%iN), sendo o i do ingls
in (entrada ) e o N representa o nmero de identicao da entrada, por exemplo a 1a linha sempre
vem rotulada com o smbolo (%i1).
1 Software livre, segundo a denio criada pela Free Software Foundation, qualquer programa computacional
que pode ser usado, copiado, estudado e redistribudo sem restrio.
O conceito de software livre se ope ao conceito de software restritivo, mas no ao software que vendido almejando
o lucro(software comercial).
As sadas vem acompanhadas do smbolo (%oN) no qual o o do ingls out (sada ) e o N o nmero
que identica a sada.
1.4
(%i1) 2+96;
(%o1) 98
(%i2) 3-45;
(%o2)
42
(%i3) 3+(-45);
(%o3)
42
(%i4) 3*x;
(%o4) 3 x
(%i5) 5/4;
5
4
(%i6) 5.0/4.0;
(%o5)
(%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 nmeros decimais, outra opo seria usar o comando
oat(expresso);
(%i11) 11/3;
11
3
(%i12) float(%);
(%o11)
(%o12) 3.666666666666667
1.4.1
Constantes Matemticas:
Para utilizar os valores reais de constantes matemticas, como `pi', devemos escrever
antes da constante o operador `%'.
(%i13) 2*pi;
(%o13) 2
(%i14) float(%);
(%o14) 2.0
(%i15) 2*%pi;
(%o15) 2
(%i16) float(%);
(%o16) 6.283185307179586
1.4.2
Operadores Avanados:
Operadores
Funo
:
:=
(%i17) x:4;
(%o17) 4
(%i18) y:%pi;
(%o18)
(%i20) g(y):=sin(y);
Como j declaramos f(x) e g(y), e atribuimos valores a `x' e a `y', podemos calcular:
(%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
Funes Matemticas:
Comando
Funo
sqrt(expresso)
x(m/n)
log(expresso)
Funes Trigonomtricas:
Funo Trigonomtrica
Descrio
sin(x), sinh(x)
cos(x), cosh(x)
tan(x), tanh(x)
acos(x)
asin(x)
atan(x)
1.5
Como foi citado na introduo desta apostila, uma grande vantagem do wxMaxima
nos permitir a manipulao de expresses complicadas. Seguem abaixo alguns exemplos simples nos quais ele se mostra muito til:
(%i1)
cos(x)^3;
(%i2)
trigreduce(%);
(%o2)
(%i4)
trigsimp(%);
(%o4) 3
(%i5)
trigreduce(%o3);
cos (2 x) + 1 1 cos (2 x)
+
+2
2
2
(%i6) ratsimp(%);
(%o5)
(%o6) 3
(%i7)
cos(2*theta);
(%o7) cos (2 )
(%i8)
trigexpand(%);
(%i9)
factor(a(theta));
(%o9) ( + 1)2
1.6
(%i38) sis:[2*x+y=5,3*x-2*y=4],[x,y];
(%o38) [y + 2 x = 5, 3 x 2 y = 4]
(%i39) solve(sis);
(%o39) [[y = 1, x = 2]]
Exerccio 1:
Em um cinema o valor do ingresso para crianas 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 nmeros de adultos e crianas que assistiram lmes?
Esse problema pode ser resolvido facilmente atravs de equaes dispostas em um
sistema. Primeiro arranjamos as equaes das seguintes formas: x + y = 2200 para o
nmero 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.
3x
= 5050]
2
(%i33) solve(sis);
(%o33) [[y = 700, x = 1500]]
O nmero de crianas 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 comando `augcoefmatrix', aps inserir o sistema como no exemplo anterior, obtendo
assim, a sua soluo atravs do escalonamento da mesma, com o comando `triangularize'.
(%i40) M:augcoefmatrix(sis,[x,y]);
2 1 5
(%o40)
3 2 4
(%i41) triangularize(M);
2 1 5
(%o41)
0 7 7
Utilizando a ferramenta de plotagem grca do wxMaxima, podemos fazer uma interpretao geomtrica do conjunto soluo de um sistema, escrevendo cada equao
deste, em funo de uma varivel.
(%i5)
plot2d([5-2*x,(-4+3*x)/2],[x,-0.5,6],[y,-0.5,6]);
1.6.1
Sistema impossvel:
(%i1)
sis1:[-2*x-y=-5,-8*x-4*y=-25],[x,y];
(%o1) [y 2 x = 5, 4 y 8 x = 25]
(%i2)
solve(sis1);
(%o2) []
10
1.6.2
-->
sis2:[-x-y=-4,-2*x-3*y=-2],[x,y];
(%o1) [y x = 4, 3 y 2 x = 2]
-->
solve(sis2);
1.6.3
(%i1)
sis3:[-2*x+4*y=-2,4*x-8*y=4],[x,y];
(%o1) [4 y 2 x = 2, 4 x 8 y = 4]
11
A partir das matrizes encontre as equaes dos sistemas lineares e de seu resultado:
1
2 3 2 10
4 6 4 18 0
0
1 2 3 5
0
0
1
0
0
0
0
1
0
0 2
0 3
7 4 2 0 1
0 5 9 2 7 3 5
1 9
(%i1)
(%o1) []
Logo um S.I, no possui nenhuma soluo.
(%i2)
(%o2) [x = 2, y = 3, z = 5, k = 9]
Logo um S.P.D, possui uma nica soluo.
(%i3)
(%o3) [x =
12 %r2 + 10 %r1 9
31 %r2 + 35 %r1 26
,y =
, z = %r2, k = %r1]
11
22
1.7
Matrizes:
Temos que matriz a disposio de elementos na forma de tabela na qual uma matriz
A, m x n (m por n), nos leva a distribuio dos termos em m linhas e n colunas,
podendo ser representada da seguinte maneira:
(%i1)
(%o1)
A:matrix([2,4,1],[3,7,2],[9,7,5]);
2 4 1
3 7 2
9 7 5
(%i1)
entermatrix(2,2);
Isthematrix1.Diagonal2.Symmetric3.Antisymmetric4.GeneralAnswer1, 2, 3or4 :
1; Row1Column1
: 4; Row2Column2 : 2; M atrixentered.
4 0
(%o1)
0 2
(%i1) entermatrix(2,3);
Row1Column1 : 2; Row1Column2 : 3; Row1Column3 : 5; Row2Column1 : 1; Row2Column2 :
2; Row2Column3
: 0;M atrixentered.
2 3 5
(%o1)
1 2 0
13
Outra maneira de escrever uma matriz denindo-a em funo das posies dos
elementos da mesma, na qual determinamos a regra que permite denir um elemento e a dimenso da matriz desejada. No exemplo abaixo, i representa o nmero
da linha e j o da coluna:
(%i9)
B[i,j]:=i+3;
(%o9) Bi,j := i + 3
(%i10) genmatrix(B,3,3);
4 4 4
(%o10) 5 5 5
6 6 6
O wxMaxima nos permite carregar pacotes com funes extras, na qual esses so
carregados do diretrio de instalao do programa. O pacote `gaal' nos permite gerar uma matriz de maneira aleatria com elementos de 5 a 5 utilizando a funo
'randi();'. Segue o exemplo:
(%i8)
load("gaal")$
(%o8)
(%i9)
(%o9)
randi(3,2);
3 3
1 0
1 4
(%i2)
A:matrix([2,5,4],[5,2,1],[9,0,6]);
14
(%o2)
(%i3)
(%o3)
2 5 4
5 2 1
9 0 6
echelon(A);
1 0 23
0 1 7
6
0 0 1
(%i5)
(%o5)
triangularize(A);
9 0
6
0 18 21
0 0 153
O pacote `gaal' tambm nos permite escalonar matrizes passo a passo com a funo
`escalona();', nos retornando as operaes entre as linhas como segue no exemplo
abaixo:
(%i1)
load("gaal");
(%i2)
(%o2)
M:matrix([2,5,3],[9,1,6],[8,2,5]);
2 5 3
9 1 6
8 2 5
escalona(M);
3
1
6 1a.eliminao : linha1 > linha1
2
5
(%i3)
2 5
9 1
8 2
5
1 2 2
9 1 6 Continua?(sim = 1; /no = 2; )1; linha2 > linha2+(9)linha1linha3
8 2 5
> linha3 + (8) linha1
15
3
5
1
2
2
0 43 15 Continua?(sim = 1; /no = 2; )1; 2a.eliminao : linha2 >
2
2
0 18 7
2
linha2
43
3
5
1
2
2
5
15
0 1
Continua?(sim = 1; /no = 2; )1; linha1 > linha1 + ( )
43
2
0 18 7
linha2linha3 > linha3 + (18) linha2
1 0 27
43
0 1 15 Continua?(sim = 1; /no = 2; )1; 3a.eliminao : linha3 > 43
43
31
0 0 31
43
linha3
27
1 0 43
0 1 15 Continua?(sim = 1; /no = 2; )1; linha1 > linha1 + ( 27 )
43
43
0 0 1
15
linha3linha2 > linha2 + ( ) linha3
43
1 0 0
0 1 0 Continua?(sim = 1; /no = 2; )2;
0 0 1
1 0 0
(%o3) 0 1 0
0 0 1
1.7.1
(%i1)
(%o1)
A:matrix([2,5],[3,6]);
2 5
3 6
16
(%i2)
(%o2)
(%i3)
(%o3)
(%i4)
(%o4)
B:matrix([3,5],[1,0]);
3 5
1 0
A+B;
5 10
4 6
A-B;
1 0
2 6
(%i1)
(%o1)
(%i2)
(%o2)
A:matrix([2,4,5,1],[5,7,4,1],[9,1,5,7],[3,2,5,0]);
2 4 5 1
5 7 4 1
9 1 5 7
3 2 5 0
B:matrix([2,5,3,4],[9,0,6,4],[5,6,3,1],[0,0,2,5]);
2 5 3 4
9 0 6 4
5 6 3 1
0 0 2 5
(%i3)
(%o3)
A.B;
65
93
52
49
40
49
75
45
47
71
62
36
34
57
80
25
17
(%i15) A*B;
4
45
(%o15)
45
0
20
0
6
0
15
24
15
10
4
4
7
0
2*A;
4 8 10 2
10 14 8 2
(%o4)
18 2 10 14
6 4 10 0
(%i8) X:matrix([2,5],[6,9]);
2 5
(%o8)
6 9
(%i9) sqrt(2)*X;
3
2 2 5 2
(%o9)
3
3 22 9 2
(%i10) 2.33*X;
4.66 11.65
(%o10)
13.98 20.97
(%i4)
Potncia de matrizes:
(%i11) X^3;
8 125
(%o11)
216 729
Como j visto, outro pacote que nos fornece funes extras o 'nchrpl', que nos
retorna a funo 'mattrace();', que calcula o trao da matriz, ou seja, a soma dos
elementos da diagonal principal. Segue o exemplo abaixo:
Primeiro carregamos o pacote:
18
(%i9)
load("nchrpl");
(%i10) f:matrix([2,5,1],[1,7,5],[0,7,2]);
2 5 1
(%o10) 1 7 5
0 7 2
(%i11) mattrace(f);
(%o11) 11
O clculo do determinante da matriz feito atravs do comando 'determinant();'.
Segue o exemplo abaixo:
(%i7)
(%o7)
(%i8)
N:matrix([3,6,4,1],[9,7,4,1],[0,9,3,1],[8,2,3,1]);
3 6 4 1
9 7 4 1
0 9 3 1
8 2 3 1
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 dimenso
da matriz:
(%i3)
(%o3)
ident(3);
1 0 0
0 1 0
0 0 1
19
Para gerar uma matriz nula, em que todos elementos so zero, utilizamos o comando 'zeromatrix(m,n);', na qual m e n representa o numero de linhas e colunas.
(%i4)
(%o4)
zeromatrix(2,3);
0 0 0
0 0 0
(%i5)
(%o5)
diagmatrix(3,x/3);
x
0 0
3
0 x 0
3
0 0 x3
A transposta de uma matriz M , de dimenso m x n, representada por M t , denida como a matriz n x m que surge da permutao das linhas com as colunas de
M . O comando 'transpose();' realiza esta permutao.
(%i6)
(%o6)
(%i7)
(%o7)
M:matrix([2,4,6]);
2 4 6
transpose(M);
2
4
6
(%i11) M:matrix([3,5,7],[8,2,7],[1,0,9]);
3 5 7
(%o11) 8 2 7
1 0 9
20
(%i12) adjoint(M);
18 45 21
35
(%o12) 65 20
2
5 34
Se temos que A uma matriz quadrada de ordem n, dizemos que A1 inversa
de A se, e somente se: A.A1 = A1 .A = I . A matriz inversa dada pelo comando
'invert();'. Segue o exemplo abaixo:
(%i1)
(%o1)
(%i2)
(%o2)
Ainda
M:matrix([2,4,5],[6,8,2],[2,5,3]);
2 4 5
6 8 2
2 5 3
invert(M);
1
13
16
3
42
21
13
1 2
3
21
21
1
1
4
21
21
3
possvel obt-la usando a potncia:
(%i18) M^^(-1);
1
13
3
(%o18) 13
1
3
1.8
42
2
21
1
21
16
21
13
21
4
21
Introduo a Vetores
Para trabalhar com vetores no wxMaxima, ser necessrio uma simples converso,
por exemplo os vetores: v = 2i + 4j 2k e u = 3i j + 5k , sero armazenados de
seguinte forma:
(%i1)
v:[2,4,-2];
(%o1) [2, 4, 2]
(%i2)
u:[3,-1,5];
21
(%o2) [3, 1, 5]
A adio, subtrao e multiplicao de um escalar so feitas de seguinte forma:
(%i3)
v+u;
(%o3) [5, 3, 3]
(%i4)
u-v;
(%o4) [1, 5, 7]
(%i5)
2*u;
(%i6)
3*u-5*v;
(%i7)
u.v;
(%o7)
1.8.1
Norma de Um Vetor
(%i3)
sqrt(3^2+2^2+1^2);
(%o3)
14
(%i2)
float(%);
22
(%o2) 3.741657386773941
Outra forma mais simplicada de efetuar o clculo da norma no wxMaxima dado
pela seguinte equao:
(%i11) mag_u:sqrt(u.u);
(%o11) 35
1.8.2
Exerccios Resolvidos
Encontre a norma de v .
(1.1)
Resolvendo:
(%i1)
load(gaal);
(%i2)
(%o2)
(%i3)
(%o3)
(%i4)
(%o4)
v1:matrix([1,2]);
1 2
v2:matrix([1,-2,1]);
1 2 1
v3:matrix([-7,-2,2]);
7 2 2
(%i5)
no(v1);
(%o5)
5
(%i6)
no(v2);
(%o6)
6
(%i7)
no(v3);
(%o7)
57
23
(%i1)
load(gaal);
(%i2)
(%o2)
(%i3)
(%o3)
(%i4)
(%o4)
u:matrix([2,-1,3]);
2 1 3
v:matrix([4,-2,1]);
4 2 1
w:matrix([1,-2,1]);
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
Tambm visualizar gracamente um vetor, inicialmente ser necessrio carregar o
pacote 'Draw' no wxMaxima, e para isso necessrio digitar 'load(draw)', tal pacote
j est includo no programa. Aps carreg-lo basta utilizar o comando abaixo como
demonstrado:
(%i1)
load(draw);
24
(%i2)
(%t2)
possvel tambm alterar a cor do vetor, mudando a cor RED para a cor desejada, desde que ela esteja na lngua inglesa. A posio do vetor no grco poder ser
modicada atravs do primeiro colchete, e o vetor ser includo no segundo colchete.
Outra ferramente bem til , incluir vrios vetores no mesmo grco, isso possvel
adicionando dentro dos parenteses o comando `vector([0,0,1],[x,y,z])', com os tamanhos desejados.
Para facilitar o clculo da norma, foi utilizado o pacote GAAL, para utiliz-lo ser
necessrio tambm 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);
(%i2)
(%o2)
v:matrix([1,2,3]);
1 2 3
(%i3)
no(v);
(%o3)
14
(%i4)
float(%);
(%o4) 3.741657386773941
25
u
.
|u|
(%i12) e_u:u/mag_u;
3
1
5
(%o12) [ , , ]
35
35 35
u.v
O ngulo entre dois vetores dado por: = cos1 ( |u|.|v|
). No wxMaxima ser
calculado da seguinte forma:
(%i23) load(vect);
(%o23) C : /P ROGRA 1/M AXIM A 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 clculo 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
(%i1)
load(gaal);
(%i2)
(%o2)
(%i3)
(%o3)
v:matrix([1,2,2]);
1 2 2
u:matrix([3,-1,2]);
3 1 2
Logo aps estes procedimentos, iremos calcular o produto escalar: 'pe(v,u);' e vetorial: 'pv(v,u);'
(%i4)
pe(v,u);
(%o4) 5
(%i5)
(%o5)
pv(v,u);
6 4 7
Podemos calcular pelo prprio pacote `gaal' as projees de dois vetores pelo comando `proj(W,V);'
27
(%i1)
(%o1)
(%i2)
w:matrix([1,2,3]);
1 2 3
(%o2)
v:matrix([2,-1,0]);
2 1 0
(%i3)
load(gaal);
(%i4)
(%o4)
(%i5)
proj(w,v);
0 0 0
(%o5)
proj(v,w);
0 0 0
1.8.4
Exerccios Resolvidos
(%i1)
load(gaal);
(%i10) u1:matrix([2,2,0]);
(%o10) 2 2 0
28
(%i3)
(%o3)
(%i4)
(%o4)
u2:matrix([-4,2,0]);
4 2 0
u3:matrix([1,0,-7]);
1 0 7
(%i11) v1:matrix([1,-2,2]);
(%o11) 1 2 2
(%i6)
(%o6)
(%i7)
(%o7)
v2:matrix([1,2,3]);
1 2 3
v3:matrix([2,1,3]);
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
(%i1)
(%o1)
(%i4)
a:matrix([1,2],[0,-2]);
1 2
0 2
eigenvalues(a);
(%i5)
eigenvectors(a);
3
(%o5) [[[2, 1], [1, 1]], [[[1, ]], [[1, 0]]]]
2
Uma outra forma de acessar os comandos de Autovalor e Autovetor seria o uso
da barra de ferramentas do wxMaxima, assim ser encontrado: `lgebra Autovalor' ou `lgebra Autovetor'.
(%t2)
Polinmio Caracterstico
O Polinmio Caracterstico de uma matriz tambm pode ser calculado no wxMaxima,
utilizando o comando `charpoly(a, x), expand;', onde `a' uma matriz quadrada e
`x' a variavel, temos:
30
(%i1)
(%o1)
(%i2)
a:matrix([0,-2],[1,2]);
0 2
1 2
charpoly(%, x), expand;
(%o2) x2 2 x + 2
Outra forma de fazer o clculo acessando as barras de ferramentas atravez de:
`lgebra Polinmio Caracterstico...', desta forma o programa ir calcular o polinmio a partir de uma matriz declarada anteriormente. Veja abaixo:
(%t2)
1. Encontre as equaes caractersticas das matrizes:
2 1
1 0
3 5
0 7
5 0
1 7
(%i1)
(%o1)
a:matrix([2,1],[-1,0]);
2 1
1 0
31
2 1
2 3
(%i2)
(%o2)
(%i3)
(%o3)
(%i4)
(%o4)
(%i5)
b:matrix([3,-5],[0,7]);
3 5
0 7
c:matrix([5,0],[-1,7]);
5 0
1 7
d:matrix([2,1],[-2,3]);
2 1
2 3
charpoly(a, x), expand;
(%o5) x2 2 x + 1
(%i6)
(%o6) x2 10 x + 21
(%i7)
(%o7) x2 12 x + 35
(%i8)
(%o8) x2 5 x + 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);
7i 5 7i + 5
(%o13) [[
,
], [1, 1]]
2
2
32
1 0 1
7 2 1
1 2 0 4 3 0
3 0 4
1 0 1
Resolvendo no wxMaxima:
(%i1)
(%o1)
(%i2)
(%o2)
a:matrix([1,0,1],[-1,2,0],[3,0,4]);
1 0 1
1 2 0
3 0 4
b:matrix([7,2,1],[4,3,0],[-1,0,1]);
7 2 1
4 3 0
1 0 1
(%i3)
(%o3)
x3 + 7 x2 11 x + 2
(%i4)
(%o4)
x3 + 11 x2 24 x + 16
2o passo:
33
3o passo:
(%i1)
(%o1)
1.10
2o passo:
Exerccios propostos:
1)Sendo a matriz
2 3 2
A= 1 4 5
2 1 3
encontre:
34
a)Determinante de A;
b)Transposta de A;
c)Adjunta de A;
d)Inversa de A;
e)Conra o resultado da letra d) multiplicando A pela sua inversa;
2)Encontre a soluo do sistema abaixo:
(1.2)
(1.3)
(1.4)
2x + 3y z =0
4x + y + z =7
2x + y + z =4
3)Calcule real de modo que:
2 5 2
5 4
2 2 1
=0
4
1
4. Se A = 2 e B = 3 , determine a matriz X tal que X + 2B = A.
7
3
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.
1
0 1/2 1
1
3 1/2 1
2 5
2 3
e B = 1 2 2 3
6. Sejam as matrizes A =
1 1 2
1
1 1
1
1
5 1 3/2 0
5 1 1/2 5
1 0
2 1
e AC =
A(BAC).
8. Sabendo que A =
1 0
1 1
eB=
35
2 5
3 1
2 1
0 1
, calcule A(B + C) e
a.verique se A1 =
1 0
1 1
1
0 21 1
1
3 12 1
2 5 2 3
e B = 1 2 2 3
9. (ITA-SP) Sejam as matrizes: A =
1 1 2 1
1 1
1
1
3
1
5 1 2 0
5 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
2 10 1
1 1 0
Considere as matrizes C = 0 1 0 e P = 18 38 17
19 14 0
0 2 1
Com base nas informaes descritas, assinale a alternativa que a presenta a mensagem que foi enviada por meio da matriz M.
a)Boasorte!
c)Boatarde!
e)Socorro!
b)Boaprova!
d)Ajudeme!
11. Realize a translao de uma linha que tem seus pontos limites representados
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 90o no sentindo anti-horrio com relao
37
Captulo 2
wxMaxima e Clculo
2.1
Limites
Exerccio resolvido 1:
Dada a funo f (x) =
x2 +164
,
2x2
assim temos:
2
2
x + 16 4
x + 16 4 x2 + 16 + 4
lim
=
lim
.
x0
x0
2x2
2x2
x2 + 16 + 4
2
2
(x + 16) 16
x
= lim
= lim
x0 2x2 ( x2 + 16 + 4)
x0 2x2 ( x2 + 16 + 4)
1
1
1
=
= lim
=
x0 2 x2 + 16 + 8
2.4 + 8
16
Utilizando o software wxMaxima podemos encontrar o limite de f (x) atravs das
seguintes linhas de comando:
(%i1)
f(x):=(sqrt(x^2+16)-4)/(2*x^2);
x2 + 16 4
(%o1) f (x) :=
2 x2
(%i2) limit(f(x),x,0);
(%o2)
1
16
38
(%i3)
g(x):= ((sqrt(x^2+16)-4)*(sqrt(x^2+16)+4))/
((2*x^2)*(sqrt(x^2+16)+4));
x2 + 16 4
x2 + 16 + 4
(%o3) g (x) :=
2 x2
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) :=
x2
1
+ 16 + 8
(%i5)
subst(0, x, h(x):=1/(2*sqrt(x^2+16)+8));
(%o5) h (0) :=
1
16
(%i6)
limit(h(x), x, 0);
(%o6)
1
16
(%i7)
plot2d(f(x), [x,-5,5],
[plot_format, gnuplot])$
39
Assim, conclumos que o artifcio utilizado para calcular lim f (x), por encontrar
x0
uma funo h(x) que permita calcular o limite atravs da substiuio direta (x = 0),
no elimina a restrio x 6= 0 de f (x). Podemos ver isso claramente comparando os
grcos das funes.
2.2
2.2.1
Derivadas no wxMaxima
Para uma funo de uma varivel usamos di(nome da funo, varivel, ordem da
derivada) ou apenas di(nome da funo, varivel) para o caso em que queremos a
primeira derivada da funo. 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);
1
x
(%i13) diff(log(x)/log(a),x);
(%o12)
1
log (a) x
(%i14) diff(a^x,x);
(%o13)
(%i15) 'diff(cot(x),x);
(%o15)
d
ctg (x)
dx
2.2.2
Derivadas parciais
Para calcular a derivada parcial de uma funo com relao a determinada varivel,
consideramos as demais como constantes. Desse modo, no wxMaxima, usamos o
seguinte comando: di(nome da funo, varivel para a qual deseja-se calcular a
derivada); J para calcular a derivada parcial de uma funo em relao a uma
varivel e depois em relao a outras, usa-se o comando : di(nome da funo,
varivel1,ordem da derivada, ..., varivel n, ordem da derivada).
Seja f (x, y) = x2 + y 2 , ento 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 + y 2
(%i6)
f_x:diff(f(x,y),x,1);
(%o6) 2 x
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 funo h(x, y, ) = x6 cos()4 +y 5 sin(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 + y 5 sin (x tan ())
(%i13) h_xxx:diff(h(x,y,theta),x,3);
(%o13) 120 cos ()4 x3 tan ()3 cos (tan () x) y 5
(%i15) h_yyy:diff(h(x,y,theta),y,3);
(%o15) 60 sin (tan () x) y 2
(%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 (
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) y 4 5 sec ()2 tan () x sin (tan () x) y 4
2.3
Integrais no wxMaxima
42
(%i14) integrate(x^2,x);
x3
3
(%i16) integrate(x^2,x,0,6);
(%o14)
(%o16) 72
2.3.1
Integrais mltiplas
(%i2)
integrate(integrate(2*y,y,0,x^2),x,2*%pi,10);
32 5
5
Calcule o volume do slido formado entre as funes z = x2 +y 2 10 e z = 10xy
no intervalo 0 <= x <= 5, 5 <= y <= 5 O volume pedido est entre os grcos
vermelho e azul abaixo:
(%o2) 20000
(%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);
2750
3R R
Calcule R x2 ydA na regio R mostrada abaixo:
(%o12)
(%i5)
wxdraw2d(fill_color=blue,rectangle([-2,0],[2,2]),fill_color=
white,rectangle([-1,0],[1,1]));
(%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
R2 R2
2
x2 ydydx
Captulo 3
Atividades:
3.1
Limites
y=
0,5(x2 +3x)
x3 +x2 +4x
Supondo que a distribuio de leo no mar seja contnua qual a espessura estimada
no local do vazamento? Plote o grco da funo e verique o ponto onde a curva
no contnua.
2
3.2
Derivadas
a. Calcule H 0 (t). Qual a taxa de variao de H(t) aps 1 segundo? Neste instante,
a altura est aumentando ou diminuindo?
b. Em que instante H 0 (t) = 0? Qual o signicado fsico deste instante?
c. Em que instante a pulga "aterrissa"(volta altura inicial)? Qual a taxa de variao de H(t) neste instante? Neste instante, a altura est aumentando ou diminuindo?
5 - Um empresrio 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 0 (x).
b. Qual o signicado do nvel de produo xm para o qual P 0 (x) = 0? Determine
o valor de xm.
6 - Um gerente observa que o custo para produzir x unidades de um certo produto C milhares de reais, onde C(x) = 0, 04x2 + 5, 1x + 40.
a. Determine o custo mdio quando o nvel de produo varia de x = 10 para x = 11
unidades.
b. Use o wxMaxima para calcular a taxa instantnea de variao do custo com o
nvel de produo para x = 10 e compare o resultado com o do item (a). O custo
est aumentando ou diminuindo quando a produo de 10 unidades?
7 - Segundo as projees, a populao de uma certa cidade daqui a x meses ser
P (x) = 2x + 4x3/2 + 5.000).
a. A que taxa a populao estar variando com o tempo daqui a 9 meses?
b. A que taxa percentual a populao estar variando com o tempo daqui a 9 meses?
8 - Uma empresa usa um caminho para entregar seus produtos. Para estimar os
custos, o gerente modela o consumo de combustvel do caminho usando a funo
G(x) =
1 1.200
( x
250
+ x)
46
3.3
Integrais
9 - Um fabricante constatou que o custo marginal 3q 2 60q +400 reais por unidade,
onde q o nmero 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 populao P (t) de uma colnia de bactrias t horas depois de inicada uma
observao est variando a uma taxa dada por
dP
dq
= 200e0,1t + 150e0,03t
135
9+x2
onde x a demanda do produto (nmero de unidades vendidas) em centenas de unidades. Suponha que a demanda seja 400 unidades (x = 4) para um preo unitrio
de R$30,00.
a. Determine a funo demanda p(x)
b. Para que preo a demanda de 300 unidades? Para que preo a demanda zero?
c. Qual a demanda para um preo unitrio de R$20,00?
12 - A rea de um terreno pode ser denida sob a curva y = x3 + 1 no intervalo
0 x 1, onde x e y esto em centenas de metros. Se o preo da terra R$12,00 o
metro quadrado, qual o valor do terreno?
13 - Determine a rea da regio limitada pela reta y = 4x e pela curva y = x3 + 3x2 .
47