Definindo e Manipulando Funções
No Maxima podemos definir funções de uma ou mais variáveis combinando ou não com as funções pré-definidas. Estas funções poderão ser manipuladas algebricamente usando algumas instruções fornecidas pelo ambiente.
1) Funções de uma variável:
1.1) Considere um circuito em que a voltagem em um capacitor varie no tempo segundo a equação: V(t) = V0 exp(-a t) cos(wt). Dados os valores de V0, a e w
definimos a função usando := como abaixo
Vo: 10 ; a: 0.5 ; w: 2*%pi ; V(t) := Vo * exp(-a*t) * cos(w*t)
Podemos obter o valor numérico da DDP no capacitor em qualquer tempo usando: valor em 2 s V(2.0) ou float( V(2.0) )
1.2)
1.2) Um móvel A desloca-se no tempo segundo a eq. Xa(t) = X0+V0t+at2/2 logo fazemos
Xo: 0 ; Vo: 5 ; a: 2 ; Xa(t) := Xo+ Vo*t+ a*t^2 /2
um outro móvel B desloca-se segundo Xb(t) = 10 - 2t - 2 t2. Da mesma forma Xb(t) := 10 - 2*t - 2*t^2
Para simplificar a última saída (igualdade) usamos ratsimp(%);
OBS.: considere que desejamos obter o tempo de cruzamento fazemos XA=XB
Podemos gerar uma equação (igualdade) fazendo: Xa(t) = Xb(t)
fornecendo a saída (%o11) t2 + 5t = -2 t2 - 2 t + 10
Para simplificar a igualdade executaremos um conjunto de instruções a saber - Somar (2t2) a igualdade na linha anterior % + 2*t^2
- Somar (-10 + 2t) ao resultado anterior % -10 + 2*t teremos ao final a seguinte igualdade 3t2 + 7t – 10 = 0
- Para obtermos os valores de t que satisfazem a equação fazemos: solve(%, t )
ou seja, solucione a última saída na variável t.
Obs.: podemos obter os tempos evitando todas as manipulações algébricas usando:
solve(%o11, t ) resultado
Considerando a solução positiva, em que posição estarão os móveis em t = 1s ?
Xa(1) ; Xb(1) resultado
1.3) Outra forma de trabalhar funções: (feche o Maxima e depois reinicie)
Definiremos duas funções a saber f(x) = 2x2 + cos(x) e g(x) = -3x2 + sen(2x):
f(x) := 2*x^2 + cos(x); g(x) := -3*x^2 + sin(2*x)
Agora definiremos uma variável h que receberá a soma f(x) + g(x) (sem o = )
h: f(x) + g(x) resultado (h) sin(x) + cos(x) – x^2
Defina em seguida m: f(x) * g(x) bem como n: f(x) / sqrt( g(x) )
e observe as saídas (resultados).
Redefina Xo: 0 ; Vo: 5 ; a: 2 ; Xa(t) := Xo+ Vo*t+ a*t^2 /2 em seguida
Xb(t) := 10 - 2*t - 2*t^2
Atribua a f a operação de Xb(t) – Xa(t) e observe o resultadoobserve o resultado já simplificado!
f: Xb(t) – Xa(t) crie tmb a função g(t) := Xb(t) – Xa(t)
Se desejar obter os valores de t que anulam f faça solve( f, t);
Obs.: neste caso ñ é possível obter o valor de f em t=2s fazendo f(2). A letra f não é uma função de t. Usamos então: subst(2, t, f);
Lembre-se f é equivalente (:) mas g(t) é a função (:=)
Operações básicas com equações
Observe as diferenças !
Ou seja, substitua 2 no lugar de tem f
Gráficos de Funções
2) Gráficos de funções (feche o Maxima e depois reinicie)2.1) Funções de 1 Variável: três são os procedimentos para se obter o gráfico de uma função:
1) defina a função f(t) em seguida use: plot2d( f, t, to, tfim)
2) defina a função e em seguida use: wxplot2d( f, [t, to, tfim] ) 3) é possível fazer o gráfico sem definir
explicitamente a função usando
Menu Gráfico Gráfico2d
substitua o % pela expressão desejada x^2 – 2*x – 3
escolha em formato:
embutido equivale a wxplot2d
gnuplot equivale a plot2d
finalmente OK
Obs.: se desejar 2 ou mais curvas separe as expressões por vírgula: x^2 , x^3 -2*x ,...
Gráficos de Funções
Obs.: as instruções gráficas usadas para dados discretos podem ser igualmente usadas com funções. Exemplo
X(t):= 2*t^2 - 3*t - 4
wxplot2d( X, [ t, -2, 6 ] , [nticks, 4] , grid2d, [style, linespoints], [color, red ], [point_type, bullet ], [legend, "Função" ], [xlabel, "tempo (s)" ], [ylabel, "posição (m)" ], [title, "Gráfico de X(t)" ] ) $
Obs.: [nticks, inteiro] aumenta/diminui o no. de pontos no gráfico (altere p/ 2 !) e veja o resultado.
Altere p/ 10 e veja o resultado. Já grid2d insere a grade.
Exercício
Ex 1) Faça um gráfico dos deslocamentos em função do tempo de dois automóveis c/ eqs horárias xa(t) = 2t + 5t2 e xb(t) = 75 - 2*t - 2*t^2 para t∈[ 0, 4]. São duas
curvas no mesmo gráfico. Qual será a estimativa do tempo de cruzamento?
Influencia no. pts
Gráficos de Funções
2.2) Funções de 2 Variáveis: três são os procedimentos para se obter o gráfico de uma função de duas variáveis:
1) defina a função f(x, y) em seguida use: plot3d( f, [x, xINI, xFIM] , [y, yINI, yFIM] ) 2) defina a função e em seguida use: wxplot3d(f, [x, xINI, xFIM] , [y, yINI, yFIM] ) 3) é possível fazer o gráfico sem definir
explicitamente a função usando
Menu Gráfico Gráfico3d
substitua o % pela expressão desejada x^2 - y^2
defina os intervalos x e y
defina a grade: 25 x 25 e o formato pressione OK
O resultado é o gráfico clássico da função que ilustra o ponto de sela
Obs.: a vantagem do plot3d: é possível usar o botão esquerdo do mouse apertado
2.3) Exemplo: (feche o Maxima e depois reinicie)
O potencial de um dipolo elétrico de 2 cargas iguais e de sinais opostos é dado por
Façamos: kq:1 $ d: 0.1 $
Definimos: r1(x,y):= sqrt( x^2 + (y-d)^2 ) r2(x,y):= sqrt( x^2 + (y+d)^2 ) V(x,y):= kq*( 1/r1(x,y) - 1/r2(x,y) )
Ponto de sela
(
)
(
)
(
)
(
)
0 2 2 1 1 1 2 2 1 2 2 2 2 1 4 1 1 ( , ),
k,
r x x y y V x y kq r r r x x y y πε = = − + − = − = − + − P r1 r2 2d +q -q (x, y) considerando x1=x2=0 y1= +d y2= - dComo existe a possibilidade de divisão por zero vamos usar um recurso novo queremos Se r1 >= d/100 e r2 >= d/100 então V(x,y) = kd (1/r1 – 1/r2 )
Redefinindo V(x,y) usamos: V(x,y) := if r1(x,y) >= d/10 and r2(x,y) >= d/10 then
kd*(1/r1(x,y) – 1/r2(x,y) ) $
Usando a instrução gráfica plot3d para x∈[-2d, 2d] e y∈[-2d, 2d] teremos plot3d( V(x,y), [x, -2*d, 2*d], [y, -2*d, 2*d], [grid, 41,41] , color_bar ) $
contour_plot( V(x,y), [x,-2*d,2*d], [y,-2*d,2*d], [grid, 50,50], [gnuplot_preamble, "set contour both;
set cntrparam levels discrete -15,-5,-1,0,1,5,15"] )$
Gráficos de Funções
plot3d
contour_plot
Exercícios
Ex 2) Considere o lançamento oblíquo de uma bola de basquete, ou a cobrança de falta do Messi. A velocidade inicial da bola é de 100km/h com ângulo inicial de lançamento igual a 35°. Supondo que a bola parta da origem construa um gráfico da trajetória da bola, ou seja da função y(x). (g = 9,81 m/s2). Lembrete: as eqs são
2.1) Procedimento_1 a) defina Vo , tetao e g
b) defina uma lista para t tal que t∈[0, 3.5] com passo 0.1 c) definas as funções x(t) e y(t)
d) faça o gráfico com plot2d de x(t) contra y(t). e) Qual o valor aprox de yMax e de xMax ?
2.2) Procedimento_2 a) reinicie o Maxima e defina as constantes Vo, tetao e g b) defina x(t) e simplifique com ratsimp(%)
c) defina y(t) e simplifique com ratsimp(%) d) use plot2d( [parametric, x, y] , [t, 0, 3.5] )
Obs.: Física reveja as unidades de velocidade, aceleração e tmb do ângulo !
2 0 0 0 0 ( ) cos( ) e ( ) sen( ) 2 g x t =V