





















































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
A apostila da ênfase a alguns princípios relacionados às matérias do básico dos cursos de exatas.
Tipologia: Notas de estudo
Oferta por tempo limitado
Compartilhado em 27/09/2009
4.4
(10)5 documentos
1 / 61
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Em oferta
Nessa apostila daremos ênfase a alguns princípios relacionados às matérias do básico dos
cursos de exatas. Será bastante proveitoso, se ao final de cada aula, o aluno resolver os
exercícios propostos para que possa se familiarizar com os comandos do Maple. Qualquer
dúvida o estudante pode verificar a ajuda do Maple. HELP>Topic Search ou HELP>Full
Números irracionais não são avaliados sem que o usuário peça, embora simplificações
elementares sejam feitas automaticamente:
Digits:=10;
Digits := 10
10sin(nPi)/(103);*
sin( n π)
Na expressão acima, n é normalmente subentendido como um número inteiro. Isto pode
ser declarado através do seguinte comando:
assume(n,integer);
sin(nPi);*
cos(nPi);*
n~
Consideremos agora números complexos. Suponhamos que queremos encontrar as
raízes cúbicas de -8:
z:=(-8)^(1/3);
z :=( -8 )
( 1 3/)
Para encontrar explicitamente as raízes devemos converter este número para a forma
RootOf e usar em seguida o comando allvalues :
convert(z,RootOf);
1 +RootOf( _Z + ,
2 3 index = 1 )
allvalues(%);
Expressões envolvendo números complexos em forma explícita são sempre simplificados.
Por exemplo:
(2+5I)(3-I)^2/(5+I);**
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina
Simplificações não ocorrem quando uma variável simbólica estiver envolvida:
z:=(2-aI)^2/(a+2I);**
z :=
( 2 − I a )
2
a + 2 I
Para forçar a saída na forma convencional devemos usar o comando evalc (evaluate in
complex context):
evalc(z);
( 4 − a )
2 a
a +
2 4
8 a
a +
2 4
a
2
a +
2 4
2 ( 4 − a )
2
a +
2 4
O comando evalc considera a variável a como sendo real, a menos que o usuário a
declare complexa através do comando assume. As partes real e imaginária de um
número complexo, e o seu valor absoluto, podem ser obtidos, respectivamente, da
seguinte forma:
evalc(Re(z));
( 4 − a )
2 a
a +
2 4
8 a
a +
2 4
evalc(Im(z));
a
2
a +
2 4
2 ( 4 − a )
2
a +
2 4
evalc(abs(z));
( 4 − a )
2 a
a +
2 4
8 a
a +
2 4
2
⎛
a
2
a +
2 4
2 ( 4 − a )
2
a +
2 4
2
simplify(%);
a +
2 4
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina
Poderíamos ter escrito desde o início,
evalf(solve(eq2,x));
ou
fsolve(eq2,x);
Estas duas formas não sempre equivalentes, no entanto. Consideremos, por exemplo,
eq3:=x^3-x^2+1;
eq3 := x − +
3 x
2 1
evalf(solve(eq3));
fsolve(eq3);
Para que o comando fsolve possa encontrar também raízes complexas o argumento
complex deve ser dado:
fsolve(eq3=0,x,complex);
Vejamos outro exemplo com uma equação não polinomial:
eq4:=sin(x)+x^(1/2)-3/2;
eq4 :=sin ( x )+ x −
evalf(solve(eq4,x));
fsolve(eq4);
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina
Para esclarecer este dilema façamos um gráfico:
plot(eq4,x=0..14);
Portanto, ambos comandos dão resultados corretos mas incompletos. O conhecimento do
gráfico nos dá uma indicação da localização das raízes e fsolve pode ser utilizado para
determinar os seus valores exatos:
r1:=fsolve(eq4,x,0..2);
r1 :=.
r2:=fsolve(eq4,x,2..4);
r2 :=3.
r3:=fsolve(eq4,x,4..6);
r3 :=5.
Inequações:
Quando uma inequação é passada como argumento do solve , o Maple encontra o
intervalo que satisfaz a inequação para a variável contida entre chaves.
solve(x^2+x<2,{x});
{ -2 < x , x < 1 }
Note que quando há mais de uma resposta, o resultado é fornecido em conjuntos
separados e não deve ser confundido com o caso em que as duas condições de um
mesmo conjunto devem ser satisfeitas simultaneamente.
solve(x^2+x>2,{x});
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina
O problema de simplificação de expressões é um problema clássico de
computação algébrica, e também é um dos mais difíceis. Embora heuristicamente seja
fácil ter uma noção sobre o que é a forma mais simples de uma expressão, quando se
trata de traduzir este procedimento em termos de algoritmos, formidáveis dificuldades de
programação aparecem. Em Maple há certos comandos destinados a simplificação de
expressões. Como veremos nas Seções seguintes, cabe ao usuário decidir qual comando
de simplificação utilizar em cada momento.
simplify
tentar simplificar a expressão matemática.
expand , factor e combine
são comandos mutuamente complementares. expand abre os parênteses executando as
propriedades distributivas. factor e combine tentam combinar os termos de modo a
agrupar as expressões.
normal
transforma funções racionais para suas formas normais.
O comando simplify tenta simplificar uma expressão matemática dada aplicando várias
regras de transformação. Por ser um comando geral de simplificação, a sua utilização é
sempre a primeira tentativa em tornar a expressão mais simples. Pode ser que não faça
exatamente a mudança desejada pelo usuário e neste caso outros comandos deverão ser
tentados.
diff(x/(1-x^2),x$3);
x
2
( 1 − x )
2
3
( 1 − x )
2
2
48 x
4
( 1 − x )
2
4
simplify(%);
6 x + +
2 x
4 1
( − 1 + x )
2
4
Expressões contendo trigonometria, potência e logaritmos também podem ser
simplificadas com suas respectivas propiedades de manipulação.
sin(theta)^2+cos(theta)^2=simplify(sin(theta)^2+cos(theta)^2);
sin( θ ) + =
2 cos( θ )
2 1
O comando factor executa o processo inverso do expand tentando converter as várias
parcelas de uma soma em um conjunto de produtos
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina
6. Transforme
x + + +
2 2 x 1
x + +
2 2 x 1
em
( x + 1 ) +
4 1
( x + 1 )
2
e vice-versa.
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina
Os comandos de Álgebra Linear formam um pacote chamado linalg , que deve ser
carregado com o comando with :
restart:
with(linalg):
Normalmente, terminarmos o comando de carregar pacotes com dois pontos para que as
funções do pacote não sejam mostradas. Somente as mensagens de aviso de redefinição
de comandos serão mostradas. Isto é o que acontece com os comandos norm e trace,
que servem primeiramente para calcular norma de polinômios e para correção de
procedimentos, respectivamente. Após o pacote linalg ser carregado, eles passam a
calcular norma de vetores e traço de matrizes.
Definindo matrizes
Os comandos do pacote linalg para definir matrizes são: matrix, entermatrix, genmatrix,
randmatrix, band e diag. A título de exemplo, vamos definir duas matrizes e gravá-las
nas variáveis A e B :
A := matrix( [ [1,2,3], [4,5,6] ] );
B := matrix(3, 2, [a,1,1,d,e,1] );
a 1
1 d
e 1
Na primeira matriz, entramos os elementos fornecendo cada linha na forma de uma lista.
Neste caso, não é necessário especificar as dimensões da matriz. Na segunda, primeiro
estipulamos as dimensões da matriz como sendo 3x2, depois fornecemos todos os
elementos numa única lista. O próprio Maple separa as linhas de acordo com as
dimensões da matriz.
Podemos também fornecer os elementos da matriz interativamente. Primeiro, gravamos
uma matriz com dimensão especificada em uma determinada variável, e depois usamos
o comando entermatrix :
C:=matrix(2,2);
C :=array( 1 .. 2 , 1 ..2 [ ], )
entermatrix(C);
enter element 1,1 > 1/2;
enter element 1,2 > 1/3;
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina
diag(1,2,3,4);
diag(a$3);
a 0 0
0 a 0
0 0 a
O comando gera uma seqüência de três elementos , de forma que o último
comando dado acima é equivalente a diag (a,a,a). Podemos também criar matrizes
diagonais em bloco. Vamos usar a matriz C, definida acima com o comando entermatrix ,
para criar a seguinte matriz:
a $ 3 a
diag(C,C);
Para criar matrizes com valores randômicos o comando randmatrix é usado. Como
parâmetro adicional pode ser usado: sparse , symmetric, unimodular e entries. No
exemplo abaixo limitamos o intervalo de escolha aleatória dos números de 0 a 10,
quando esta opção é omitida os valores podem estar entre -99 e 99.
randmatrix(2,2,entries=rand(0..10));
Manipulação de matrizes:
Os principais comandos para manipulação estrutural com matrizes são: addcol , addrow ,
augment, col, row, coldim, rowdim, concat, copyinto, delcols, delrows, extend, mulrow,
mulcol, stack, submatrix, swapcol e swaprow. A maioria dos nomes dos comandos falam
por si só. As terminações ou prefixos row e col se referem a linha e coluna,
respectivamente. O comando coldim , por exemplo, fornece o número de colunas da
matriz. O comando swaprow troca duas linha de uma matriz. Vejamos alguns exemplos.
Primeiro vamos criar duas matrizes genéricas A e B :
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina
A manipulação aritmética de matrizes, além dos comandos de soma e ponteciação vistos,
abrange os comandos transpose, det, trace, rank e map entre outros.
A:=matrix([[1,2,3],[4,-5,6],[9,8,7]]);
O comando transpose calcula a transposta.
transpose(A);
O determinante é calculado pelo det.
det(A);
A matriz inversa de A pode ser obtida da seguinte forma:
B:=evalm(A^(-1));
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina
Gráficos em duas dimensões:
Comecemos com alguns exemplos.
g1:=ln(x);
g1 :=ln( x )
plot(g1,x=0..3);
Note que no exemplo acima, o comando plot foi capaz de lidar com a singularidade de
ln ( x ) em x = (^0). Vejamos outros exemplos:
g2:=(1-x)/(1+x);
g2 :=
1 − x
1 + x
plot(g2,x=-2..0);
Neste caso, para fazer com que o gráfico seja legível, devemos limitar os valores da
ordenada próximo à singularidade:
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina
plot(g2,x=-2..0,y=-20..20);
plot(tan(x),x=-Pi..Pi,-10..10);
Podemos esboçar gráficos de várias funções simultaneamente. Por exemplo:
g3:=exp(-x^2)cos(8x);**
g3 :=e
( − x )
2
cos 8( x )
plot(g3,x=-Pi..Pi);
Grupo PET Engenharia Elétrica – Universidade do Estado de Santa Catarina