Secç˜ao de Matemática Aplicada e Análise Numérica Departamento

Propaganda
Secção de Matemática Aplicada e Análise Numérica
Departamento de Matemática/Instituto Superior Técnico
Matemática Experimental (LMAC) – 1o Semestre de 2015/2016
Aula Laboratorial V
1. A equação y = x2 pode ser parametrizada escrevendo x = t, y = t2 , isto é, pela função f : [a, b] → R2 ,
f (t) = (t, t2 ). O conjunto de pontos Ct = {f (t), a ≤ t ≤ b}, designa-se por curva paramétrica.
Experimente (linha a linha)
ParametricPlot[{t, tˆ2}, {t,-2,2}]
ParametricPlot[{Cos[t], Sin[t]}, {t,-Pi,Pi}]
ParametricPlot[{t+Sin[2 t],t+Sin[3 t]},{t,-2 Pi,2 Pi}]
ParametricPlot[{FresnelS[t],FresnelC[t]},{t,-10,10}]
g[t ]:={Sin[t] Cos[9 t/8], Sin[9 t/8] Sin[t]};
ParametricPlot[g[t],{t,0,16 Pi}]
f = Function[t,{Sin[t](Exp[Cos[t]]-2 Cos[4t]-Sin[t/12]ˆ5),
Cos[t](Exp[Cos[t]]-2 Cos[4t]-Sin[t/12]ˆ5)}];
ParametricPlot[f[t],{t,0,20 Pi}, PlotStyle -> {Hue[.9],Thickness[.004]}]
Interrogue o Help acerca de integrais de Fresnel FresnelS e FresnelC.
2. O comando PolarPlot desenha gráficos de funções dadas em coordenadas polares (r, θ) na forma
r = f (θ). Execute as instruções a seguir linha a linha.
PolarPlot[1+2 t,{t,0,10 Pi}]
PolarPlot[2-2 Sin[t]+Sin[t] Sqrt[Abs[Cos[t]]]/(Sin[t]+2),{t,0,2 Pi},
PlotStyle -> {Hue[.9], Thickness[.01]}]
PolarPlot[{Sqrt[1/t],-Sqrt[1/t]},{t,0.1,10 Pi}, PlotRange -> All]
Animate[PolarPlot[2 Sin[10 t],{t,0,2 a Pi}],{a,0.1,1}]
3. Para desenhar curvas paramétricas em R3 , experimente
ParametricPlot3D[{Sin[t],Cos[t],t/5},{t,0,20}, PlotStyle -> Tube[0.05]]
ParametricPlot3D[{(3+Cos[t])Cos[s],(3+Cos[t])Sin[s],Sin[t]},{t,0,2 Pi},{s,0,2 Pi}]
Manipulate[ParametricPlot3D[{Sin[n t],Cos[4 m t],Sin[5 t]},{t,-Pi,Pi},
PlotStyle -> Tube[0.05]],{n,1,10,1},{m,1,10,1}]
ParametricPlot3D[{{4+(3+Cos[v])Sin[u],4+(3+Cos[v])Cos[u],4+Sin[v]},
{8+(3+Cos[v])Cos[u],3+Sin[v],4+(3+Cos[v])Sin[u]}},{u,0,2 Pi},{v,0,2 Pi},
PlotStyle -> {Red,Green}]
Consulte o Help sobre as opções do ParametricPlot3D.
4. Exceute a seguinte construção Mathematica
Manipulate[x=N[Sqrt[13],n];
walk = First[RealDigits[x,4]];
rn = FoldList[Plus,{0,0},
Map[Function[x,{{0,1},{1,0},{0,-1},{-1,0}}[[x+1]]],walk]];
Graphics[{Line[rn],PointSize[Large],Green,
Point[First[rn]],Red,Point[Last[rn]]}],
{n,1,10000,1}]
5. Dado um inteiro não negativo (uma semente) x0 , um gerador de congruência linear cria números
pseudoaleatórios {xn } através da relação de recorrência (congruência)
xn+1 ≡ (a xn + c) (mod m) ,
onde a, c, m são números inteiros dados tais que
0 ≤ x0 < m ,
0 ≤ c < m,
2 ≤ a < m,
m 1.
Determine os primeiros m números pseudoaleatórios gerados desta maneira utilizando os valores
(i) m = 97, a = 34 e c = 7;
(ii) m = 99, a = 34 e c = 7;
(iii) m = 99, a = 34 e c = 3.
Em algum dos casos consegue produzir m números diferentes?
6. O seguinte resultado, conhecido por Teorema de Wilson-Lagrange, oferece uma condição suficiente e
necessária para que um número natural seja primo:
Um inteiro p ≥ 2 é primo se e só se (p − 1)! ≡ −1 (mod p).
Confirme que todos os primos p ≤ 1000 satisfazem esta congruência.
Defina uma função testwilson que, dado n ≥ 2, devolva True se p | ( (p − 1)! + 1) e False no caso
contrário.
Qual é o maior número de Mersenne cuja primalidade consegue testar, em tempo razoável, com a função
testwilson? O teste terá alguma utilidade prática?
7. Um número inteiro En da forma
En = p1 p2 · · · pn + 1 ,
onde p1 , p2 , . . . , pn são os primeiros n primos, diz-se número de Euclides. Utilize os testes de pseudoprimalidade nas bases 2, 3, 5 e 7 para determinar quais dos primeiros 100 números de Euclides são (muito
provavelmente) primos.
8. Sejam p, q ≥ 3 dois primos. Sabemos que se q dividir o número de Mersenne Mp = 2p − 1 então
(C)
q ≡ 1 (mod p)
e
q ≡ ±1 (mod 8) .
Recorra ao comando ChineseRemainder, para confirmar que, com p = 23, as congruências (C) podem
ser escritas na forma (equivalente)
q ≡ 1 (mod 184)
q ≡ 47 (mod 184) .
ou
Escreva as condições (C) nesta forma equivalente para p = 19 e para p = 29. Utilize os resultados para
testar a primalidade de M19 , M23 e M29 .
9. A função π : N → N, n 7→ π(n) (comando PrimePi) dá-nos o número de primos não superiores a n. De
acordo com o Teorema dos Números Primos, π(n) é assimptoticamente aproximado por n/ ln n, isto é
π(n)
= 1.
n→∞ n/ ln n
lim
a) Defina uma função Mathematica para testar este resultado, tomando como valores de n as potências
de 10 entre 2 e 10. Determine, para cada n, o erro relativo δn = (π(n) − n/ ln n)/π(n). Trace os gráficos
de π(n)/(n/ ln n) e δn usando o comando ListPlot.
b) O integral logarı́tmico, definido por
Zn
Li(n) =
dt
,
ln t
2
aproxima assimptoticamente a função π:
π(n)
= 1.
n→∞ Li(n)
lim
Desenhe o gráfico de π(n)/Li(n) considerando n = 10, 102 , . . . , 1010 . Utilize o comando NIntegrate no
cálculo do integral logarı́tmico Li(n).
c) Confirme que Li(n) fornece uma aproximação melhor para o número de primos não superiores a n
do que a expressão n ln n.
Download