Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


6743392 - MAPLE - 5 - Tutorial - Basico, Notas de estudo de Engenharia Mecânica

tutorial do maple

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 02/12/2010

rangel-s-m-11
rangel-s-m-11 🇧🇷

1 documento

1 / 25

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
APOSTILA DE
MAPLE V
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Pré-visualização parcial do texto

Baixe 6743392 - MAPLE - 5 - Tutorial - Basico e outras Notas de estudo em PDF para Engenharia Mecânica, somente na Docsity!

APOSTILA DE

MAPLE V

Gráficos em 2 e 3 Dimensões

Os gráficos de funções de uma ou duas variáveis são produzidos através das funções plot e plot3d. Algumas expressões de três variáveis podem ser plotadas utilizando-se a opção implicit.

restart;

Funções de uma Variável

A sintaxe básica de plot é a seguinte:

plot( função , domínio , contra-domínio , opções ).

O domínio de uma função é indicada por. O uso do contra-domínio não é obrigatório e serve para fazer um controle vertical do gráfico. Entre as opções do comando plot usaremos o title (título) , o color (cor) e o discont=true (funções com descontinuidades).

plot(sin(2x), x=0..4);*

A função possui uma descontinuidade (de segunda espécie) em x= 0.

Vejamos o seu gráfico com a imagem (eixo vertical) variando de a.

plot(1/x^2, x=-3..3, 0..10, discont=true);

Para se plotar dois gráficos simultaneamente escreve-se as duas funções entre chaves {} .

plot( {x,sqrt(x)}, x=0..1, title=2 gráficos);

Gráficos de Funções de Duas Variáveis

Os gráficos de funções reais de duas variáveis são tridimensionais. O comando Maple utilizado neste caso é o plot3d.

plot3d(xsin(y), x=0..4, y=0..10);*

f2 := xexp(-x^2-y^2);*

spacecurve([cos(t),sin(t),t], t=0..20, title=Espiral);

Todos os comandos contidos em plots podem ser usados diretamente sem executar o with(plots). Basta saber o nome do comando desejado e executá-lo da seguinte forma: plots[nome]. Vamos ver um exemplo com gradplot (campo gradiente).

plots[gradplot](x^2+y^2, x=-1..1, y=-1..1, color = x^2+y^2);

Plotando Pontos

Em experimentos científicos é comum querermos plotar gráficos a partir dos dados obtidos. Esses dados em geral vem em forma de um conjunto finito de pontos. No Maple os dados são inseridos com o comando seq (sequências) ou simplesmente colocados em colchetes [].

Dados := [ [0,1], [1,1], [2,2], [3,2], [4,3], [5,3], [6,2] ];

plot(Dados); # sem parâmetros extras.

Cálculo Diferencial e Integral

Neste Capítulo discutiremos alguns dos aspectos práticos do Cálculo Diferencial e Integral de uma variável real.

Aproveitamos para sugerir a utilização de comando restart (reiniciar) que faz com que o sistema "limpe" a memória do Maple. Os símbolos e letras já atribuídos anteriormente ficam também liberados. É como (quase) se o Maple fosse recarregado.

restart;

Calculando Limites

Os limites podem ser calculados com o comando limit , que pode ser aplicado às funções e expressões.

f1 := x-> (x^2+5)/(x^3); # definindo uma função.

limit(f1(x), x=1); # limite para x tendendo a 1.

limit(f1(x), x=infinity); # limite para x tendendo a infinito.

f2 := sin(x)/x; # definindo uma expressão contendo x.

Observe que não é uma função para o Maple, mas tão somente uma expressão contendo a variável x. Portanto no comando limit escrevemos f2 e não f2(x).

limit(f2, x=0);

limit(f2(x),x=0); # não faz sentido.

Para se calcular limites laterais basta acrescentar as opções left (esquerda) ou right (direita). Vejamos um exemplo com a função tangente tan.

limit(tan(x), x=Pi/2, left);

limit(tan(x), x=Pi/2, right);

Se desejamos apenas indicar um limite, então podemos utilizar o comando Limit com a letra L maiúscula. A sintaxe é a mesma.

Limit(x^2sin(1/x), x=0, right);*

value(");

Cálculo de Integrais

As integrais indefinidas ou definidas são obtidas através do comando int (com letras minúsculas). Também podemos usar o comando Int (com letra i maiúscula) no caso de querermos a integral apenas indicada.

f3 := x -> ax^2; # definindo uma função.*

Int(f3(x), x);

int(f3(x), x);

int(ln(x),x);

Existem duas maneiras de se derivar funções no Maple. Uma delas se faz com o uso do operador diferencial D. Aqui daremos exemplos através da função diff (diferenciar).

f5 := x^2+sin(x);

diff(f5, x);

diff(f5, x,x); # derivando f5 duas vezes.

f6 := x^3+y^2;

diff(f6, x);

diff(f6, y);

diff(u(x)v(x),x);*

Séries de Taylor

A função series produz a série de Taylor para funções analíticas. Em geral a resposta é dada em termos de uma expansão de ordem 5.

T1 := series(exp(x), x=0); #expansão em torno de x=0.

Em seguida vamos converter a parte principal da série T1 num polinômio.

Poli := convert(T1, polynom);

Podemos observar que o resultado Poli acima é uma expressão contendo x. Porém não se trata de uma função cujo argumento é x. Para transformar uma expressão contendo x para uma função de x devemos executar unapply.

f7 := unapply(Poli, x); #transforma o polinômio Poli numa função f7.

f7(1.0);

Equações Diferenciais

Resolver equações diferenciais é uma das principais tarefas da computação científica. O assunto é complexo e extenso. Aqui faremos alguns exemplos do comando dsolve.

ed1 := diff(y(t),t,t) + y(t) = sin(t);

dsolve(ed1, y(t));

ed2 := diff(y(t),t) = y(t)^2;

dsolve(ed2, y(t));

A maioria dos problemas de equações diferenciais não podem ser resolvidas analiticamente (de forma exata). O comando dsolve possui uma opção de solução numérica. Como exemplo, resolveremos um problema de valor inicial não linear.

Programação Básica em MAPLE

Atualmente todos os sistemas de computação algébrica possuem recursos para programação. A estrutura básica de programação no Maple é derivado do Algol e do Pascal.

O nosso objetivo é apresentar os elementos essenciais em programação Maple de forma que o leitor possa prosseguir por si mesmo para programas mais avançados. A nossa abordagem não fará uso de nenhum conhecimento prévio em linguagens de programação. Entretanto algum conhecimento em algoritmos matemáticos facilitará a compreenção dos exemplos apresentados.

restart;

Comandos de Entradas e Saídas

Um programa deve começar por ler os dados e terminar por escrever os resultados. Durante as sessões interativas do Maple, a leitura de dados é feita através do comando de atribuição ( := ). Tabelas de dados armazenados em arquivos também podem ser lidas, com o uso do comando read. Execute ?read para se saber como funciona.

Os comandos específicos para escrever na tela são o print (imprimir) e o lprint. Esses comandos possuem a seguinte estrutura: print( expressão1 , expressão2 , etc... ). As expressões podem ser valores numéricos ou comentários. Em caso de comentários, esses devem estar entre aspa simples ( ` ).

print(O valor do pi é quase, evalf(Pi,17));

m := 2x;*

print(O cubo m é, m^3);

lprint(O cubo m é, m^3); # usando lprint.

O cubo m é 8*x^

O comando lprint possui a mesma sintaxe que o print mas escreve os resultados alinhados à esquerda e só usa caracteres ASCII.

Comandos de Repetição e Iteração

Durante a concepção de um algoritmo deparamo-nos muitas vezes com situações onde uma certa instrução é repetida várias vezes. Para isso temos o comando for. A sua utilização segue um equema for-do-od da seguinte forma:

for j from início to fim do

expressões a serem repetidas

od

O esquema é bastante legível se adotarmos as seguintes traduções: for (para), from (a partir de), to (preposição a) e do (faça). Como exemplo vamos calcular os quadrados de 1, 2, 3 ,4 e 5.

for j from 1 to 5 do

j^

od;

A representação de sequências indexadas no Maple se faz com colchetes []. Vamos

escrever os 5 primeiros termos da sequência.

for k from 1 to 5 do

y[k] := 1/(1+k)

od;

sequência onde , , .... Vamos obter o valor

aproximado de com , fazendo-se somente 5 iterações.

rr:=1;

for k from 1 to 5 do

rr:= 0.5 * (rr + 11.3/rr)

od;

sqrt(11.3);

Comandos de Seleção

Os comandos de seleção (ou de desvio) são utilizados para se decidir se um certo valor satisfaz ou não uma certa condição. Essas condições são determinadas pelas relações = (igualdade), < (menor que), > (maior que), <= (menor ou igual), >= (maior ou igual) e <> (diferente). Os operadores lógicos são: if (se), elif (ou se), else (ou então) e then (então). Trabalha-se com o seguinte esquema: if-then-elif-then-else-fi.

if 1 = 2 then AZUL

else VERMELHO

fi;

if 1 > 10 then print(GRANDE)

elif 1 < -10 then print(PEQUENO)

else print(MEDIO)

fi;

Procedimentos Maple

Veremos agora uma forma muito prática de se construir pequenos programas "executáveis". No Maple são chamados procedure (procedimento). A sintaxe para se contruir procedimentos é a seguinte:

Nome := proc( argumentos )

instruções contendo os argumentos

end.

É claro que existem muitas outras opções a serem consideradas. O leitor poderá consultar o tutorial em ?proc. O primeiro procedimento que escreveremos mostra a soma de 2 números dados.

Soma := proc(x,y)

print(A soma procurada é, x+y)

end;

Soma(2,2);

Soma(alpha, beta);