Apostila Excel Ok
Apostila Excel Ok
Apostila Excel Ok
Os pr-requisitos bsicos para que o leitor possa ler esse texto sem maiores
dificuldades so um curso introdutrio de clculo diferencial e integral, lgebra
linear e noes de computao. Conhecimentos rudimentares de fsica tambm
sero desejveis e alguns exemplos sero de natureza avanada. Mas a maioria
dos exemplos no exige nenhum conhecimento especial, pois trata-se neles de
temas do dia-a-dia de cada um de ns. O leitor dever ter conhecimentos
bsicos do Excel, se bem que as explicaes so suficientemente detalhadas
como para que o leitor, que no tenha tais experincias, tambm possa seguir
o texto.
Nos primeiros captulos, usamos o Excel 2007 junto com o Excel 2003, para
suavizar a transio do segundo ao primeiro.
Nos anos 1992 at 1994 publiquei os seguintes livros em alemo sobre o tema
de "Spreadsheets" (planilhas eletrnicas).
Parte I Os fundamentos
A
ABS, 84
Acesso Rpido, 62
ActiveCell, 38
ActiveX, 309
Adjacentes, no adjacentes, 63
Ala de preenchimento, 6
ALEATRIO, 25, 297
Amostras de tamanho pequeno, 229
Anlise de dados, 215, 218, 238
Anlise, ferramentas, 14
Analysis ToolPak, 85
Ano bissexto, 78
Application, 38, 96, 170
Arquimedes, 126
Arquivos seqenciais (lendo e gravando), 224
ARRED, 12
Assistente de Grfico, 62
ATAN, ATAN2, 96
Atingir meta (Goal Seek), 101, 215
Atn, 96, 158
tomo hidrognico, 276
B
Bala no cano, 293
Bactrias, 295
Bernoulli, Johann e Jakob, 181
Bhashara, 88
Bin, 219, 236
Bio-Ritmos, 58
Bobina de Helmholtz, 65
Borwein, 131
Boto, 22, 35,18_,
Boto, Yes/No, 90
By Val, 166
C
Caixas de dilogo, 307
Caixa de nome, 58
Calculadora para nmeros complexos, 311
Calendrio, 73
Campo eletromagntico, 186
Casas decimais, 74
Cardano, frmula de, 99
Case, 41
Cl, 75
Cells, 35, 92, 145, 149
Cells no adjacentes, 63
Clulas longnquas, 63
Central de Confiabilidade, 62
Centro de massa, 143
Chart, 192
ChartObjects, 198
Ciclide, 181
Circuito RLC, 300
Classe, 236
clsMathParser, 189
Coeficiente de confiana, 229
Coeficiente de correlao, 206
Colunas, 3
Compton, efeito de, 298
Computador, 128
Constante, 103
Constante de matriz, 137
CONT.NM, 164
Controles ActiveX, 309
CONVERT, 16
Coordenadas de um ponto, 9
Copiar, 6, 66
Copiar, 17, 67
Cores, do sistema 62
Cor de Fonte, 74
CORRESP, 170
Ctrl d (copiar), 66
Ctrl+Shift+Enter, 11, 89, 139
Curvas de Lissajous, 177, 185
Curvas paramtricas, 177
D
Dados, selecionar, 17_21
DATA, 59
Debug.Print, 30, 197, 12-21
Depurar, 30
Desenvolvedor, 32, 36
Desintegrao radioativa, 256
DESVAP, 219
Desvio padro, 208
Diagrama polar, 5-7
DIAS360, 46
Difrao por uma fenda, 68
Difrao por uma rede de N fendas, 70
DIM, 43, 149
DIM (chart), 149
DIM as Long, 129
Discriminante, 88
Disperso (XY), 4, 57
DIST.NORM, 221, 226, 236
Distribuio de Poisson, 303
Distribuio Normal, 221, 223, 227
Distribuio t, 230
Distribuies, 220
Divisibilidade, 83
Domingo de Pscoa, 28
Do While, 85
E
e (nmero de Euler), 49, 123, 224
Engenharia, Categoria, 97
Equao de Van der Pol, 263
Equao, segundo grau, 88
Equao, terceiro grau, 98
Equaes de Lotka e Volterra, 260
Equaes diferenciais, 245
Equaes diferenciais acopladas, 257, 268
Equaes diferenciais de segunda ordem, 263
Equaes no lineares, 101
Equaes normais, 210
Equaes paramtricas de um crculo, 179
Equaes paramtricas do ciclide, 181
Equaes, Sistemas de, 112
Error, 193
Erro padro, 206
Escalas logartmicas, 71
Esfera, queda de uma, 283
Espiral, 179ff
Euclides, algoritmo de, 83
Euler, 123, 246ff
Exit Sub, 39
F
Fatorial, 37, 119
Ferramentas de anlise, 15, 17, 215
Ferramentas, do grfico, 60
Fibonacci, 224
For, 36
Format, 121
Formatar grfico, 8
Formatar Tabela, 15
Frmula de Euler, 224
Frmula de Heun, 252
Frmula de recorrncia, 248
Frmula matricial, 14, 90, 137, 239
Formulrio, 307
Frmulas predefinidas, 7
FREQNCIA, 13, 219
Funo, 32, 87, 121
Funo de densidade, 220
Funo, inserir, 91
Funo, definida pelo usurio, 91
Funo logstica, 250
Funes complexas de Excel, 94
Funes de planilha de trabalho, 97, 100
fx, 4, 27
F8+F5, 63, 74
F11, 64
G
Goal Seek, 101
Gosset, W.S., 229
GoTo, 39
Grfico, 3, 57ff, 69
Grfico, separado da planilha, 61
Gregory Machin, 130
H
Heron, 101
Histograma, 15, 219
Horner, 123, 164, 212
Hipteses, testes de, 233
I
IF, 36, 38
IMSOMA, 97
Indexados, valores, 125
InputBox, 39, 94, 126
INT, 76
INT.CONFIANA, 229
Integrao, 153
Interferncia, 64
Interpolao, 153, 170
Interpolao de Lagrange, 167
Interpolao de Newton, 161ff
Intervalo de confiana, 228, 231
Inverso de , 226
INV(p;f), 230
INV.NORM, 227ff
INV.QUI, 236, 303
INVT, 241
Iterao, 102
J
Juros, simples, 33
K
L
LBound, 166
Lagrange, 167
Laplace, equao de, 116
Layout, 55
Leibniz, 130
Leitura, somente, 5
Linha de Tendncia, 209, 214
Linhas, 3
Lissajous, 177
Lista, 137
Logaritmos, 214
Loop (lao), 24, 36, 103
Lotka e Volterra, 260
M
Macro, 20, 32, 106
Manual, 26
Marcadores, 165, 168, 184
Match, 11, 169
Matriz, 73, 137ff
Matriz dinmica, 137, 13-11
MATRIZ.MULT, 11, 13, 147, 211
MATRIZ.INVERSO, 147, 211
MXIMO, 84
MDC, 83ff
MDIA, 12, 219, 235
Mdia amostral, 218
Mensagem de erro 13, 94, 146
Mercrio, 268
Mesclar Clulas, 4
Mtodo da falsa posio (regula falsi), 110
Mtodo de Bolzano, 107ff
Mtodo de Euler, 246, 251
Mtodo de Gauss, 150
Mtodo de Gauss-Seidel, 112ff
Mtodo de Heun, 251
Mtodo de Newton, 161
Mtodo de Newton-Raphson, 104
Mtodo de Runge-Kutta, 254ff
MNIMO, 84
MMC, 83ff
Mod, 78, 83ff
MOD, 28, 59, 75, 78
Modelo de crescimento logstico, 249
Mdulo, 33
Montante, 33
Movimento num campo r-1, 273
MsgBox, 38, 86, 93
MsgBox (Yes/No), 39, 90
MUPAD, 158, 271
N
Newton, 161
Nvel de confiana, 14_15
Nvel de significncia, 14_15
Nome, caixa de, 76, 89
Nome, definir, 11, 57, 89
NumberFormat, 195
Nmeros complexos, 94, 311
O
Object, 149, 11_13
Ocultar, 74
OptionBase, 139
Oscilador harmnico forado e amortecido, 267
Osciladores acoplados, 290
OU, 29
P
Parser, 189
Partcula Alfa, 272
Partcula num campo eletromagntico, 186
Passeio aleatrio, 297
Pasta de trabalho, 3, 96
Pndulo com amplitude arbitrria, 284
, 126ff, 158
Planck, frmula de, 196
Point/vrgula, 94
Polinmio, 119
Private, 166
Problema restrito, 286
PROJ.LIN, 205, 239ff
Procedimento, 33
PROCV, 13, 234
Produto escalar, 142
Produto vetorial, 148
Programao linear, 216
PROJ.LIN, 205, 239
Programas auxiliares, 189
Prompt, 90
Public, 166
Q
Quantil, 227, 230
Quociente diferencial, 224
R
Raiz (quadrada, p-sima), 102
RAIZ, 234
Range, 144, 171
Range.Value, 22, 90, 95
Recursividade, 36
ReDIM, 139
Referncia, 6, 68
Referncia circular, 116
Regio de transferncia, 74
Regra de Simpson, 155, 160
Regra dos trapzios, 153
Regresso com logaritmos, 214
Regresso linear, 203
Regresso linear mltipla, 26
Regresso parablica, 208
Regresso polinomial, 211
Representao de nmeros, 128
Representaes 2D, 177
Representaes 3D, 182
Rotao, 5, 10
Rtulos, 165, 219
Run, mtodo, 11_2
Runge-Kutta, 254, 264
S
Salvar, 5
SE, 24, 26, 73
Segurana, 30, 32
Selection.NumberFormat, 195
SENH, 117
Srie, 8, 15, 59, 64
Srie de seno, 119, 134
Srie de cos, 133
Srie de Fourier, 156
Srie de potncias, 121
Simpson, 155, 173
Sistemas de equaes lineares, 146
Soluo numrica de equaes diferenciais, 245ff
Solver, 101, 215ff
SOMASEQNCIA, 131
Str, 94, 145
String, 93, 94
Student (distribuio), 229
Sub-rotina, 32, 87
Superfcies 3D em Excel, 194
T
Tabela de Dados, 223, 236
T-Quantil, 230
Trs corpos, problema dos, 286
Trocar, 87
Tschebyschew, desigualdade de, 222
U
Until, 85
Userforms, 307
V
Val, 91
Van der Pol, 263
VAR, 219
Varincia, 218, 219
Variant, 42, 139
Variveis indexados, 137
Variveis reduzidas, 268
VBA, 21, 85ff, 121
Verhulst, 250
Vetor, 137, 141
W
What-if, 223
While, 37
Worksheetfunction em VBA,
X
Y
Yes/No-Boto, 39, 90
Z
3
Captulo I
Um passeio pelo Excel
Ns comecemos com algo muito simples: Criar uma seta, ou seja, um grfico.
(Quando voc faz um clique com o boto direito do mouse numa clula, ver
uma lista suspensa com opes prontas para ser usadas.)
Para introduzir algum valor numa clula, basta colocar o cursor na clula
desejada e digitar. Tudo o que voc digitar numa clula, aparecer tambm na
Barra de frmulas ao lado direito do cone fx (para editar o contedo de uma
clula, melhor faz-lo no campo ao lado do cone fx ). O endereo da clula
ativa indicado no canto esquerdo da barra de frmulas, no caso H3.
O ttulo "Uma seta" ocupa duas clulas. Para dar-lhe o espao de duas clulas,
v para Formatar>Clulas>Alinhamento>Mesclar Clulas. Porm, no mescle
nenhuma clula na regio prpria do grfico, pois o assistente grfico no
consegue lidar com clulas mescladas.
D outro duplo clique com o boto direito do mouse na aba "Plan1" da planilha,
para mudar o nome em "Seta1". Para aumentar ou diminuir o tamanho da
seta, necessrio alterar as escalas dos eixos X ou Y. D um duplo clique sobre
a regio do eixo X. Para reproduzir exatamente o grfico acima, clique na guia
Escala e altere os parmetros:
Mnimo: 0
Mximo: 3
Unidade principal: 0,5
Unidade secundria: 0,1
Eixo dos valores (Y) Cruza em 0 OK
5
Agora necessrio salvar a sua obra. Se quer permitir somente leitura, v para
o menu Arquivo>Salvar como e, em Ferramentas, clique em Opes Gerais. Na
janela que aparecer, escolha Recomendvel somente leitura. No prximo passo,
vamos tratar de girar a seta. Para isso trocamos o nome na aba da segunda
planilha "Plan1" pelo nome "Seta2".
A rotao da seta
A seguinte planilha mostra a seta do exemplo anterior girada de um ngulo =
45o no sentido anti-horrio- com referncia ao ponto D = (1,1) e expandido
por um factor b = 4.
http://www.geocities.com/Athens/Agora/6594/Mechsub/mech3_6.pdf
6
Em nosso caso, temos uma rotao em torno do ponto D(1;1) junto com uma
expanso por um fator b.
=4*((A10-1)*COS(PI()/4)-(B10-1)*SEN(PI()/4))+1
=4*((A10-1)*SEN(PI()/4)+(B10-1)*COS(PI()/4))+1
Quando se copia uma frmula de uma clula para outra, se mudam auto-
maticamente as referncias. Por exemplo, a frmula em D10 tem outro aspecto
em D15, a saber
=4*((A15-1)*SEN(PI()/4)+(B15-1)*COS(PI()/4))+1
Muitas vezes aparecem nos cantos das clulas tringulos coloridos que indicam
erros. Por exemplo, um tringulo verde no canto superior esquerdo indica um
erro na frmula da clula. Lea sobre "indicadores de tringulos em clulas" na
"Ajuda" do Excel.
2007: Inserir>Desenvolvedores>Formas.
Para desenhar sen e cos no mesmo grfico, vamos adicionar a coluna C para os
valores de y = cos(x). Veja o resultado no Plan2 = sen_cos. Esta vez,
selecionamos o rango de A1 at C101. O Assistente grfico vai dizer-lhe os
passos a serem seguidos. (Trate de escrever x, sen(x), cos(x) nos cabealhos,
pois Excel sabe coloc-los no grfico.)
Para editar cada parte do seu grfico, preciso seguir o mesmo procedimento,
ou seja, clicar primeiramente sobre qualquer lugar da planilha e depois sobre a
9
rea na qual gostaria editar. Por exemplo, se quisermos alterar a cor do fundo,
devemos clicar sobre ele para selecion-lo e depois duas vezes para abrir a
janela de formatao.
A seguinte figura foi feita com "Print Screen" e com o programa "Paint". Com o
Paint pode-se editar o grfico do Excel e fazer, tambm, um recorte.
Explicaes:
y' = f(x-x0) + y0
cos sen
R=
sen cos
Se uma curva for dilatada (|a|>1) o contrada (|a|<1) por fatores a e b, ento
as novas coordenadas sero
x ' = a( x x1 ) + x1
y ' = b( y y1 ) + y1
Podemos efetuar estas transformaes num nico grfico (uma srie s).
Explicaes:
3 1
A transformao dada pela matriz A = uma rotao de
1 3
30o composta com uma dilatao por um fator 2. Isto podemos mostrar fcil-
mente, pois A pode ser escrito como um produto:
3 1
3 1 2 0 2
2 2 0 cos30
o
sen30o
A=
1
=
= o
3 0 2 1 3 0 2 sen30o cos30
2 2
x ' 3x y
Isto significa: y ' =
x + 3 y
Com base nas nossas planilhas acima, poderamos, tambm, fazer o grfico de
uma parbola, uma elipse, ... em varias posies. O estudo das cnicas feito
com ajuda do Excel muito bonito e tem muitas aplicaes. Vale a pena ver!
Mas no podemos fazer tudo num s captulo o Excel oferece tantas coisas
boas para aprender. No seu dia-a-dia, certamente voc no s vai ocupar se
com girar setas e deformar curvas, e o Excel oferece inmeras ferramentas
capazes de facilitar e melhorar o seu trabalho. Com elas, perfeitamente
possvel realizar tambm tarefas simples, mas de grande utilidade em nossas
ocupaes dirias. Um bom exemplo o trabalho de um professor. Qual seria a
sua vida se no existisse o Excel? ... (Com o Excel 2007 pode gerenciar at
1.048.576 alunos, uma linha para 16.380 notas para cada aluno!)
A e B so os pesos das notas; A para provas, B para testes (de vrios tipos).
= mdia.
Por exemplo: =ARRED(2,15;1) arredonda 2,15 para uma casa decimal (2,2). A
nota final na clula M5 calculada usando =ARRED(D$3*K5+H$3*L5;0).
(Aps digitar esta frmula na M5, ela deve ser copiada para as outras clulas.)
14
(Tudo isso bem complicado, mas com pacincia pode-se tambm aprender
isso, sobretudo sabendo que serve para muitos casos parecidos.)
19:00 - 19:50
19:50 - 20:40
20:50 - 21:40
21:40 - 22:30
A B
Frmula Descrio (resultado)
Converte 1 massa em libras em quilogramas
1 =CONVERT(1,0; "lbm"; "kg")
(0,453592)
2 =CONVERT(68; "F"; "C") Converte 68 graus Fahrenheit em Celsius (20)
3 Os tipos de dados no so iguais, ento retornado
4 =CONVERT(2,5; "ft"; "sec")
um erro (#N/D)
5 Converte 100 ps quadrados em metros quadrados
=CONVERT(CONVERT(100,"ft","m"),"ft","m")
(9,290304).
Para ver uma lista completa de todas as medidas que podem ser convertidas,
consulte o tpico da Ajuda da funo CONVERTER. Nesta lista no existem
ngulos, mas existem funes especiais:
A B
Frmula Descrio (resultado)
1
=RADIANOS(270) 270 graus como radianos (4,712389 ou 3/2 radianos)
2
A B
Frmula Descrio (resultado)
1
=GRAUS(PI()) Graus de radianos de pi (180)
2
Pronto vai aprender a criar, por meio da linguagem VBA do Excel, milhares de
novas funes que Microsoft esqueceu de embutir no seu Excel.
19
Captulo 2
Trabalhar com macros, funes lgicas
(Exemplos: Tringulo de Pascal, Domingo ds Pscoa)
0
0 =1
1 1
0 = 1; 1 = 1
2 2 2
0 = 1; 1 = 2; 2 =1
3 3 3 3
0 = 1; 1 = 3; 2 = 3; 3 = 1
.......................................................
As propriedades desse tringulo, embora j fossem conhecidas desde o sculo
XII ou XIII, foram sistematizadas somente no sculo XVII, por Blaise Pascal.
A soma dos nmeros em clulas diagonais, como nas clulas coloridas, so
nmeros de Fibonacci: 1 + 4 + 3 = 8; 1 + 5 + 6 + 1 = 13 ...
Macros
Uma vez que voc j tenha criado a macro, voc deseja rod-la. Voc pode
usar Ctrl+Shift-p ou as teclas Alt-F8 e pressionar Executar.
A sua planilha vai ter o seguinte aspecto (que depende de como voc terminou
o quarto passo):
Para evitar erros, aconselhvel de bem pensar nos passos a fazer durante a
gravao. Se errar, poder ser mais fcil comear tudo de novo do que tentar
consertar o erro. Se deseja ver o cdigo gerado durante a gravao, pressione
as teclas Alt-F11 e clique em Ferramentas>Macros>Editar. muito provvel
que voc ver um cdigo parecido ao seguinte:
22
O seu cdigo na janela de cdigo pode ser diferente, isso depende dos detalhes
da gravao. (No se preocupe agora da janela da esquerda, mais tarde vamos
trabalhar muito com ela.) O objeto Range seleciona a clula K3. Em seguida, o
mtodo de cpia do objeto Selection usado e Selection representa a clula
selecionada atualmente. Depois E3 selecionada etc.
Quando voc gravar uma macro, um mdulo ser criado e o cdigo ser
gravado nele. O gravador de macros cria uma sub-rotina, por isso vemos o Sub
no inicio do programa. Toda sub-rotina deve terminar com End Sub.
O que vemos, um programa com o nome "Pascal" na linguagem VBA (Visual
Basic for Applications). O VBA uma linguagem de programao incorporada
ao pacote Office e ser uma ferramenta muito importante em nossos trabalhos
com o Excel. Voc vai gostar! (O editor de VBA do Excel 2007 praticamente
idntico ao editor das verses anteriores de Excel. Tambm pode-se abrir com
ALT-F11.)
Aqui seguem alguns exemplos em VBA. Para escrever o cdigo utilizamos Alt-
F11 e depois clique duplo sobre EstaPasta_de_trabalho.
Funes lgicas
Agora vamos ver alguns exemplos, nos quais a funo lgica SE vai ter um
papel decisivo.
Para simplificar tudo, vamos registrar os passos do teste lgico numa macro.
28
Pscoa
O algoritmo para nossa planilha foi desenvolvido por Aloysius Lilius e Christoph
Clavius. (Pscoa o primeiro domingo depois da primeira lua cheia, o que
sucede no 21 de Maro ou depois no ms de Abril.)
29
1. O ano em questo J
2. O nmero de ouro G: (J MOD 19)+1
3. O nmero do sculo C: INT(J/100)+1
4. Correes X: INT(3C/4)-12
" Z: INT(8C+5)/25)-5
5. Nmero de domingo D: INT(5J/4)-X-10
6. Nmero do "Epact" E: (11G+20+Z-X) MOD 30
Se E = 25 e G >11, ou se E = 24, ento aumente E em 1
(esta condio composta fica em B11)
7. Nmero da lua cheia N: 44 E
Se N < 21, ento aumente N em 30
8. Critrio N1: N + 7 ((D + N) MOD 7)
9. Se N > 31, ento Pscoa fica em N-31 de Abril, seno em N de Maro
Sem entrar numa discusso deste algoritmo, levaremos todas essas informa-
es numa planilha, compare tambm a figura acima.
H2: J
A7: =MOD(H$2;19)+1
B7: =INT(H$2/100)+1
C7: =INT(3*B7/4)-12
D7: =INT((8*B7+5)/25)-5
E7: =INT(5*H$2/4)-C7-10
F7: =11*A7+20+D7-C7
G7: =MOD(F7;30)
A11: =SE(G7<0;G7+30;G7)
B11: =SE(OU((E(G7=25;A7>11));G7=24);G7+1;G7)
C11: =44-G7
D11: =SE(C11<21;C11+30;C11)
E11: =D11+7-MOD(E7+D11;7)
G11: =SE(E11>31;(E11-31);"")
H11: =SE(E11<=31;E11;"")
30
If n > 31 Then
MsgBox "Pscoa fica no " & n - 31 & " de
Abril"
Else
MsgBox "Pscoa fica no " & n & " de Maro"
End If
Captulo 3
Procedimentos (macros)
Primeiramente lemos a seguinte citao, copiada de Excel-Ajuda:
O objetivo de uma macro automatizar as tarefas usadas com mais freqncia. Embora algumas
macros VBA (Visual Basic for Applications (VBA):uma verso de linguagem macro do Microsoft Visual
Basic usada para programar aplicativos do Microsoft Windows e includa em vrios programas da
Microsoft.) mais potentes so criadas por desenvolvedores que utilizam um cdigo capaz de executar
vrios comandos no computador. Por esse motivo, as macros VBA so consideradas um possvel risco
documento que, se for aberto, permitir que ela seja executada e possivelmente espalhe vrus (vrus: um
programa de computador ou macro que "infecta" arquivos de computador inserindo cpias de si mesmo
nesses arquivos. Quando o arquivo infectado carregado na memria, o vrus pode infectar outros
Exemplo:
Para criar uma funo, necessrio que exista um mdulo onde se possa
escrever o cdigo. Seguimos os passos descritos a seguir:
2. Inserir>Mdulo
Nesse momento, aparece uma rea em branco onde pode-se digitar o texto da
funo (ou das funes). No canto superior direito ver uma caixa com seta
para baixo Declarao, e no outro canto tem a caixa Geral. (Uma mesma
macro pode ser usada por vrias planilhas, desde que no seja criada
diretamente em uma planilha especfica, mas sim em um mdulo.)
Digite agora o texto das duas funes, uma aps a outra o editor insira
automaticamente a linha de separao.
(No prximo captulo, vamos dar mais informaes sobre conceitos financeiras
bsicos.)
36
Agora vamos ver, outra vez, como se pode associar um boto a uma macro.
No captulo anterior, tiramos o boto da Caixa de ferramentas de Controle para
obter um "CommandButton". Esta vez usamos o boto do menu Formulrios.
Exemplo:
Suponha que nas clulas A1 a A10 (Cells(1,i) com i variando de 1 a 10) fiquem
os valores x, por exemplo as notas de 10 alunos. Queremos uma macro que
selecione as notas x tais que 6 < x < 8 e que as coloque na coluna B ao lado
das clulas em que se encontravam.
Recurso (Recursividade)
Isso no pode acontecer num algoritmo no recursivo, como podemos ver nas
duas seguintes verses do programa.
38
End Function
Para executar a ltima macro, clicamos sobre fx. Na tela "Inserir funo"
selecionamos Definida pelo usurio e escolhemos "Fatorial_for". Em seguida
vemos uma tela que pede um argumento. Com o valor N = 6 obteremos o calor
720.
39
Aparece aqui a instruo Exit Sub, com a qual voc poder sair de uma sub-
rotina ou de um "loop" (lao) usando a instruo Exit.
Existe tambm um InputBox para dizer ao usurio o que deve fazer, por
exemplo: InputBox("Introduza um nmero inteiro"). Veja o prximo exemplo.
42
Note que a varivel fac definida como nmero de tipo Double (15 dgitos
significativos e Emax=308), pois o nmero fatorial pode facilmente superar o
tamanho de um nmero do tipo Integer (-32,768 at 32,767). (Na linguagem
Delphi, um nmero do tipo Integer vai de -2147483648 at 2147483647.)
Quando um nmero muito longo, ele automaticamente visualizado na sua
forma exponential.
43
Observe que o texto no MsgBox foi escrito em duas linhas. Depois do smbolo &
deve-se deixar um espao e escrever _ .
VBA permite usar DIM sem mencionar um tipo de dado: DIM altura. Neste
caso, VBA tratar a varivel como tendo o tipo Variant. Exemplo: Se "altura" for
declarada como integer, DIM altura As Integer, ela ocuparia 2 bytes. Agora,
uma varivel Variant requer 16 bytes, ou seja, o no declarar a varivel como
integer significa um desperdcio de memria de 14 bytes. Num programa
grande e complexo, o desperdcio de memria pode ser significativo, pois ele
reduzir tambm a velocidade com a qual o programa corre, resultando num
desempenho pobre. Por esse motivo, uma boa idia declarar todas as
variveis.
O que faz a declarao pouco amvel o fato de que se deve declarar cada
varivel por separado. Na declarao DIM a,b,c,d As Integer somente d
declarado como integer, a,b,c so do tipo Variant. Por outro lado, possvel
colocar mais de uma declarao em uma linha, escrevendo s uma vez DIM,
por exemplo
Claro que, desta forma, no economizamos muito espao, mas tambm pouco
algo. Normalmente anotamos sempre as declaraes das variveis (por
princpio), mas, s vezes, e especialmente nos ltimos captulos, deixamos as
declaraes para o leitor, como exerccio.
Uma boa noticia o fato de que VBA permite o uso de certos sufixos como
indicadores de tipo de dados. Por exemplo, o # anexado na varivel a significa
que a# do tipo Double (% indica integer, & longo, $ string etc.)
45
Captulo 4
Juros, Taxas e tudo isso
Neste livro no quero enfatizar as aplicaes do Excel aos negcios, mas uma
breve introduo ao uso das funes financeiras indispensvel, assim como,
num captulo posterior, vamos demonstrar a aplicao do Excel em questes da
maximizao de lucros e de outras questes fundamentais da vida do homem
avanado.
Um pouco de teoria
1. Juros simples
Em uma conta que pague juros simples, a taxa anual aplicada sobre a soma
original, sendo, portanto, a mesma a cada ano. Se tivssemos investido c = R$
100 a juros simples, de i = 5% ao ano, o saldo (montante) aumentaria a cada
ano em R$ 5 dando-nos uma progresso aritmtica: 100, 105, 110, 115,...
Ento, no final do primeiro ano temos 100 + 100 0,05 = 100 + 5 = 105 reais.
No final do segundo ano teriamos a soma de 100 + 100 2 0,05 = 110 reais,
e assim por diante. Depois de n anos, o nosso montante Mn ser de c + c n
i = c(1 + n i) reais, sendo i a taxa de juros anual. A frmula para os juros
dada por jn = cni. (Nos clculos, sempre exprimimos i como um decimal, por
exemplo 0,05 em vez de 5%.)
Juros no final do segundo ano: j2 =2 j1 = 1000 (os juros por ano so sempre
igual a 500).
Montante no final do segundo ano: M2 = 10000 + 1000 = 11000
Exemplo 1:
Calcule o capital que, aplicado a 35% ao ano, durante dois anos, produziu os
juros de R$ 21000.
Resoluo:
Exemplo 2:
Resoluo:
5 meses = 5/12 anos; 18 dias = 18/360 anos = 1/20 anos. Temos ao todo n =
148/60 anos. Logo: j = cni = 400000,38148/60 = 37.493,33 reais.
O banco ento considerar esta nova soma como um novo principal que
ser reinvestido mesma taxa. No final do segundo ano o saldo ser
105+1050,05=105(1+0,05)= 1051,05 = R$ 110,25.
Alguns bancos calculam o juro acumulado no uma vez, mas vrias vezes
por ano. Se, por exemplo, uma taxa de juros anual de 5 por cento
composta semestralmente, o banco usar metade da taxa de juros anual
como taxa por perodo. Da, que num ano, um principal de R$ 100 ser
composto duas vezes, cada vez a uma taxa de 2,5%. Assim, teremos no
final do primeiro perodo (= 6 meses) 100 (1+0,025) = R$ 102,5 e no final
do segundo perodo (= 1 ano) 100(1+0,025)(1+0,025) = 100 (1+0,025)2.
Assim, o saldo ser esta vez de R$ 105,0625, isto , cerca de seis centavos
a mais do que o mesmo dinheiro renderia se fosse composto anualmente a
cinco por cento.
O caso geral.
M = c (1 + r )t (1)
r
M = c(1 + ) nt (2)
n
R$ 1.050.000,00
R$ 1.050.625,00
R$ 1.050.945,34
R$ 1.051.161,90
R$ 1.051.245,84
R$ 1.051.267,50
49
3. Juros contnuos
Exemplo:
Resoluo:
D6: =SE(C6="?";SE(C7="?";C10/(C8*C9);C7/(1+(C8*C9)));"")
D7: =SE(C7="?";SE(C6="?";C10+D6;C6*(1+(C8*C9)));"")
D8: =SE(C8="?";(C7/C6-1)/C9;"")
D9: =SE(C9="?";(C7/C6-1)/C8;"")
D10: =SE(C10="?";SE(C7="?";D7-C6;C7-C6);"")
Assim, nosso modelo no vai cobrir todos os casos possveis, s vezes ser
necessrio de calcular manualmente um ou outro valor, p.ex. o montante.
Exemplos:
Soluo: R$ 10.525,41
=VP(taxa;nper;;vf)
VP = Valor presente ou capital inicial utilizado para o clculo do valor
presente de uma operao financeira.
=VF(taxa;nper;;vp)
VF = Valor futuro ou montante usado para o clculo do montante.
=TAXA(nper;;vp;vf)
TAXA = taxa de juros compostos por perodo.
=NPER(taxa;;-vp;vf)
NPER o prazo da operao (o nmero de perodos)
A soma total que devemos pagar C10*C5 em C11. O total de juros calculamos
na clula C12 usando a frmula = C11 (- C6). O sinal negativo diante de C6
toma conta do fato de que o valor em C11 marcado em vermelho, indicando,
desta forma, que se trata de um valor negativo que ns pagamos de nosso
patrimnio. Se voc quer evitar este problema com os nmeros negativos, s
colocar C6 na frmula =PGTO(C4/12;C5;-C6). Todos os valores nas clulas
C10:C12 sero ento pretos.
54
Neste exemplo, a taxa de juros dada ao ms. Neste caso escrevemos em C4:
=8,5%*12 = 102% ao ano (!!)
A prestao mensal ser de R$ 2.196,07 e o valor total pago ser R$
13.176,43. Desfrute outro exemplo desse tipo:
Outra maneira de fazer este clculo com o uso da funo PGTO num
formulrio que o Excel oferece junto com cada funo.
Definimos agora
C10: Pago_Mensal
C11: Pago_Total
C12: Total_Juros
C10: =PGTO(Taxa_Juros/12;Num_Pagamentos;-Valor_Financiado)
C11: =Pago_Mensal*Num_Pagamentos
C12: =Pago_Total-Valor_Financiado
Por exemplo, se comprar uma tev e a primeira prestao for paga aps o
primeiro ms, o tipo ser 0; se ela for paga no ato da compra, o tipo ser 1.
Se voc paga durante 36 meses no final de cada ms, TIPO = 0, uma quantia
de R$ 350 a uma taxa de 3,3 % ao ms, quanto ser o retorno?
Captulo 5
Grficos com 2007, Parte I
y = sen( x)
O Excel tambm usa cabealhos de coluna ou linha dos dados do grfico para
nomes de sries. Os nomes das sries aparecem na legenda do grfico. Ns
escolhemos y=sen(wx) como cabealho em A1.
58
Voc pode elaborar um grfico em sua prpria planilha com nome prprio, ou
incorpor-lo numa planilha j existente, assim como na figura acima. No
prximo exemplo, vamos ver, como se cria um grfico numa prpria planilha
dentro da nossa Pasta de Trabalho.
Os Bio-Ritmos
2
(1) y = sen( t)
T
para T = 23, 28 e 33 dias. t = tempo entre nascimento e uma certa data. :=
2/T. Normalmente, t um nmero grande, e ser razovel de restar dele o
nmero dos perodos passados. Por isso decompomos t em nT e um resto t'.
N o nmero dos perodos passados: n = INT(t/T). Temos, assim,
2 A
(3) y = sen(t ) = sen(t ') = sen( B ) , onde B :=
T
com A:= MOD(t;T).
11. Grfico
Selecione o intervalo A10:D41
Inserir>Disperso>Com Linhas Suaves
Existe uma maneira muito rpida para criar um grfico separado da planilha
original. Faa o seguinte:
1
f ( x) = x 2 + 2 x
9
1 1
g ( x) = x3 x 2 + 4 x + 2
54 2
62
Na faixa Inicio preparamos a tabela com os valores das trs funes f(x), g(x),
f(x) + g(x). Na clula F2 temos o incremento 0,4.
5. Grfico
Escolher A1:D52
Inserir>Disperso XY>Com Linhas Suaves
Formatao personalizada usando Layout do Assistente de Grfico (aparece
sempre quando clicar no grfico).
O Excel 2007 permite trs diferentes cores para o interface de usurio. Para
mudar o esquema de cores dum interface, clique no boto do Office e escolhe
Opes do Excel>Esquema de Cores. Pode-se eleger entre Azul, Prateado e
Preto. Neste exemplo foi elegido Preto. Pode-se ativar os Opes do Excel
tambm com um clique sobre a primeira linha da tela do Excel.
Se tudo andar bem, vai ver uma tela parecida com a figura a seguir. (Se por
algum motivo no der, s perguntar a Microsoft...)
65
Bobina de Helmholtz
A bobina nr. 1 (N espiras) produz num certo ponto do seu eixo o campo
66
3
R
B1 = K ( R + ( x + )2 ) 2
2
(2)
2
A bobina nr. 2 (N espiras) produz, por sua vez, no mesmo ponto o campo
3
R
B1 = K ( R + ( x )2 ) 2
2
(3)
2
NIR 2
onde a constante K vem dada por K := 0 .
2
O campo magntico resultante das duas bobinas B = B1 + B2 .
O nico problema, a resolver agora, , como evitar uma diviso por zero? Olhe
na primeira linha da figura, para ver, como foi resolvido este assunto.
2
sen( ) b
I ( ) = I (0) , com = sen( ) (1)
o comprimento de onda.
Para criar o grfico desta funo, resultar prtico, escolher para o ngulo
valores no intervalo -1,2 at 1,2 Radianos. Com 300 pontos, o grfico dever
ser bom, o que exige um incremento de 2,4/300. O valor 4 de b/ colocamos
na clula F1. O incremento em F2 est em referncia absoluta: $F$2.
69
Grfico:
Interessante ser ver a difrao por N fendas. Uma rede de difrao uma
lmina contendo um nmero elevado de fendas paralelas entre si. A distncia
entre duas fendas consecutivas denominada espaamento da rede,
representada por d. (A luz incidente na rede monocromtica, por exemplo a
luz de uma lmpada de sdio ou um raio de Laser.) A distribuio da
intensidade da luz que atravessa a rede vem dada pela seguinte expresso
2
I (0) sen sen( N )
2
I ( ) = 2 (2)
N sen
b d
com as abreviaturas := sen e := sen .
Para traar o grfico, elegemos b = 2 , d = 10 e N = 8. No grfico usamos
s as duas expresses em parnteses da eq. (2). O mximo no eixo y ser N2 e
calculamos 300 pontos com incremento 0,2/300 = 0,0006666.
As constantes ficam em K1: 2 (=b/); K2: 10(=d/) e K3: 8(=N)
B1: =PI()*$K$1*SEN($A1) (= )
C1: =PI()*$K$2*SEN($A1) (= )
D1: =(SEN(B1)/(B1+0,00001))^2 (0,00001 para evitar diviso por 0)
E1: =(SEN(K$3*C1)/(SEN(C1)+0,00001))^2 (N fendas)
F1: =D1*K$3^2
G1: =D1*E1
Agora, devemos copiar as frmulas at a linha 301. Primeiro, cursor sobre A2,
depois F5 (A301)Ctrl+d, B1ShiftG1, F5 (G301)Ctrl+d
Para poder fazer uma comparao com a difrao por uma fenda s, temos em
F1:F301 os valores correspondentes para uma fenda. O grfico conter o
produto das colunas D e E que fica nas clulas G1:B301.
Escalas logartmicas
lg(n)
log 2 (n) =
lg(2)
72
Grfico: Disperso-XY
1. Os valores de n:
Na clula A5 colocamos 1; na A6: 2, A7: 4; A8: 8.
As clulas A9 at A14 obtm 10, 20, 40, 60, 80 e 100
A15: =A14+10
Cursor sobre A15 e preencher todas as clulas at A104
2. As funes
B5: =2^A5; C5: =A5^3; D5: =A5^2
E5: (nada, pois um valor zero no pode ser usado numa escala
logartmica); G5 tambm nada
E6: =A6*LN(A6)/LN(2)
F5: =A5; G6: =E6/A6
Copiar todas as frmulas at linha 104
Captulo 6
Calendrio (exemplo de uma tabela ou matriz)
J que construmos uma planilha que nos calcula a data correta do Domingo de
Pscoa (o que foi para a igreja uma tarefa de mais de 1500 anos!), falta,
obviamente, a criao de um calendrio. Trata-se dum tpico exemplo de uma
tabela (matriz), ou seja, de um problema, para o qual o Excel foi criado.
A nossa planilha s precisa saber, com que dia o ms comea e quantos dias
tem. (Existem algoritmos que determinam estes dados, como veremos mais
adiante na planilha "Juliano")
Para ocultar o sistema de coordenadas "j-k", podemos utilizar branco como Cor
de Fonte. Outra maneira de "ocultar" o sistema j-k consta em mov-lo at AA1,
onde no ser visible. Selecione todo o calendrio e copie-o com Ctrl+C para a
regio de transferncia. V com F5 at AA1, Ctrl+V. Em AB2 escreva a frmula
=$AA2+1-$E$1+(AB$1-1)*7. Copie-a desde AB2 at AG8, veja a figura:
Scaliger notou, que os trs ciclos coincidiram por ltima vez no ano 4713 a.C.,
ou seja, neste ano de -4712 a Indico, o Nmero de Ouro e o Nmero Solar
tinham o mesmo valor 1. Este fato notvel se repetir a prxima vez em 3268
d.C., j que 3268+4712=7980 (no havia um ano 0). Os Astrnomos contam
os dias a partir do 1 de Janeiro de 4713 e utilizam a denominao "dias
Julianos" (JD), como Scaliger havia desejado. (Scaliger elegeu essa designao
em honor a seu pai que chamava-se Julius Caesar.)
Para obter o Dia Juliano (JD) de uma data qualquer, por exemplo 1 de Janeiro
de 2007, temos que calcular o nmero de anos decorridos desde 4713 a.C. at
a data desejada e restar 1, como no existia um ano 0. Ficam, ento,
4713+2007-1= 6719 anos o que corresponde a 6719 * 365,25 = 2.454.114,7
dias. A parte fracionria indica que o dia seguinte j foi iniciado, ou seja, o
nmero de dias decorridos 2.454.115. Mas, j que o Calendrio Gregoriano
est 13 dias frente do Calendrio Juliano, temos finalmente JD=2.454.102
para a data 1.1.2007. Mais correto: Ao meio-dia UTC de 1 de Janeiro de 2007
comeou o dia Juliano 2.454.102.
O Calendrio Juliano, tem nada que ver com o Perodo Juliano, foi introduzido
em 45 a.C. por Julius Ceasar, e ainda em uso pela igreja ortodoxa russa em
vez do Calendrio Gregoriano. No Calendrio Juliano, o ano tropical
aproximado por 365.25 dias. Logra-se isso usando um ano bissexto cada 4
anos.
=$F$3+INT((153*m+2)/5)+y*365+INT(y/4)-INT(y/100)+INT(y/400)-$G$1
(As variveis e, m, b tem agora os nomes ee, mm, bb ... para diferenci-los dos
nomes a, y, m que foram utilizados acima.) Faltam as expresses para a, bb,
etc.
Seguramente, voc se alegra com o brinde "O dia da semana", que calcula para
cada data Gregoriana o dia de semana correspondente. Em H19 temos a
frmula para realizar esta tarefa:
H19: =MOD($F$3+z+INT(z/4)-INT(z/100)+INT(z/400)+INT(31*(m+1)/12);7)
http://webexhibits.org/calendars/calendar-christian.html
e http://www.tondering.dk/claus/cal/node3.html
Seria bom, escrever uma macro para determinar, se um ano dado um ano
bissexto. Isso fcil e de grande valor educativo (no ?).
Para fazer isso, precisamos saber, que o calendrio Gregoriano tem 97 anos
bissextos em cada intervalo de 400 anos. E porque no existem 100 anos
bissextos neste intervalo? A resposta dada pela seguinte definio (vlida
aps 1582, pois os erros anteriores a essa data so includos nos 10 dias
eliminados em 1582):
Isto significa que os anos 1700, 1800, 1900 no eram bissextos, no entanto o
ano 1600 era bissexto assim como tambm o ano 2000. Ou seja, no intervalo
de 1600 at 2000 havia s 97 anos bissextos. (Os nmeros naturais de 1 at
100 contem 25 nmeros divisveis por 4, ou seja, em um intervalo de 400 anos
temos 100 anos divisveis por 4.)
Contento? O que passa se voc analisa o ano 1893? A caixa de mensagem s diz
1893, nada de ano bissexto. Porque? Como podemos obter a resposta: "1893 no
ano bissexto"?
79
Soluo:
Captulo 7
Matemtica I (MDC e MMC, nm. complexos, equaes)
Divisibilidade (MDC e MMC)
Exemplo: Determine o MDC dos inteiros 240 e 408 pelo mtodo das
divises sucessivas (o algoritmo de Euclides)
n0 = max( a , b )
n1 = min( a , b )
nk = nk 2 mod nk 1
k = 2,3,...
A7: =MXIMO(ABS($E$1);ABS($E$2))
B7: =MNIMO(ABS($E$1);ABS($E$2))
C7: =SE(E(B7>0;B7<>"");MOD(A7;B7);"")
D7: =SE(C7=0;B7;"")
B5: =MXIMO(D7:D50)
A8: =SE(B7>0;B7;"")
B8: =SE(C7>0;C7;"")
C8: = SE(E(B8>0;B8<>"");MOD(A8;B8);"")
D8: =SE(C8=0;B8;"")
E7: 1
E8: =SE(F7<>"";E7+1;"")
F7: =$E$1*E7
F8: =SE(E(G7<>0;G7<>"");$E$1*E8;"")
G7: =MOD(F7;$E$2)
G8: =SE(F8<>"";MOD(F8;$E$2);"")
Copiar E8:G8 at linha 200 (ou maior!)
85
H2: =E1*E2; H3: =B5*F5 -os dois nmeros devem ser idnticos.
(Pode ser preciso copiar E8:G8 at uma linha bem maior do que 140, para
obter ai mod b = 0, por isso, usamos F400, para poder extender a buscada de
zero at a linha 400. Tente os nmeros a=339 e b=1128; apenas na linha 382
aparece zero!)
Programa 1:
No seguinte programa seja a > b. O programa calcula para cada nmero n < b
se um divisor comum de a e b, ou seja, determinamos, se valem simultnea-
mente as duas relaes a Mod n = 0 e b Mod n = 0. Se for assim, sabemos
que este nmero o MDC(a,b).
Programa 2:
Programa 3:
87
Sub-rotinas e Funes
Dada ax + bx + c = 0, com [( a, b, c ) R; a 0] .
2
b b 2 4ac
x1, x2 =
2a
A expresso D := b 4 ac chama-se discriminante. Usando a discriminante,
2
b + D b D
S = ,
2a 2a
Introduza os valores de a, b, c nas clulas A1, A2, A3. Selecione A5:B6 e clique
uma vez sobre o cone fx para Inserir Funo "segundograu" que fica na
categoria Definida pelo usurio. Na janela "Coef" escrevemos (A1:A3) y em
seguida pressionamos Ctrl+Shift+Enter e vemos os valores originais e os
resultados.
92
Esta sub-rotina espera os coeficientes a, b, c nas clulas A1, B1, C1, pois na
propriedade Cells(i,j), i significa linha e j coluna. Cells(3,2) seria clula B3.
93
Para no perder o contato com VBA, lhe ofereo uma ltima verso de uma
sub-rotina para a frmula de Bhashara. O programa trabalha, entre outras
coisas, com a variable String e com InputBox e MsgBox .
94
Nmeros Complexos
Aprendemos
A funo Val converte uma String para um nmero. (A funo Str faz o
contrario, ela converte um nmero, p. ex. 346, para a String "346".) Observe
que Val no reconhece sinais de cifro ou vrgulas. Assim, devemos escrever os
nmeros decimais com ponto decimal e no com vrgula. Experimente!
Na seguinte planilha, vemos os resultados que o prximo programa vai
produzir com os nmeros complexos z1 = -0.5 - 0.866i e z2 = -1 + 1i, (na
regio azul encontram-se os clculos feitos com as funes complexas do
Excel).
95
Programa "Nmeros_complexos":
ac + bd bc ad
x= e y =
c2 + d 2 c2 + d 2
96
Mas, afortunadamente, existe uma sada deste problema com Atn. Pois no VBA
permitido usar tambm as funes prprias do Excel (Worksheet Functions,
funes de planilha de trabalho).
s necessrio substituir a linha angulo = Atn(v/u)por a linha angulo =
Application.Atan2(u,v), isso tudo. (Veja o comentrio no final desta seo.)
Application tem o significado de "worksheet". Com este pequeno truco obtemos
ngulos aceitveis, por exemplo: z = -4 + 6i tem o ngulo = 123,69o (=
2,1588 Radianos).
2 3
q p a2 2
D = + com p = b e q = c + a 3 ab / 3
2 3 3 27
x1 = u + v a / 3
x2 = (u + v) / 2 a / 3 i 3(u v ) / 2
1 1
q q
u = ( + D ) 3 ; v = ( D ) 3
2 2
p a
x1 = 2 cos( )
3 3
p a
x2 = 2 cos( + 120o )
3 3
p a
x3 = 2 cos( + 240o )
3 3
1 q
O ngulo est dado por = arccos
3 p
2 ( )3
3
100
Captulo 8
Mtodos iterativos para equaes no lineares
Usando o Goal Seek (Atingir meta)
x
e x + 1 = 0
5
O grfico desta funo tem um ponto zero perto de x=5. Para obter este valor
com maior exatido, ativamos Atingir meta.
Temos que falar um pouco sobre "Mtodos iterativos" que servem, entre outras
coisas, para encontrar solues de equaes no lineares como x4 - 4 x3 - x + 5
= 0 ou 2ex - x sen(x+3) = 0. No primeiro caso, existe uma frmula resolvente
geral, como no caso da equao cbica, mas, ela complicada, e no segundo
caso, no existe nenhuma frmula resolvente.
pretendemos obter uma sucesso que convirja para z, soluo da equao f(x)
= 0, tambm designada por raiz da equao, ou zero da funo f.
Um processo clssico para ilustrar uma iterao o algoritmo der Heron para
determinar a raiz quadrada de um nmero N>=0.
Segundo Heron, comea-se com x1 = 1 como primeira estimativa para N1/2.
Depois calcula-se com a frmula
1 N
x2 = x1 +
2 x1
um novo, oxal melhor, valor para N1/2. (Esta frmula de Heron segue do
mtodo iterativo de Newton, veja mais adiante.) O novo valor utiliza-se como
x1, e, de novo, calcula-se um valor melhorado x2 etc. Veja o seguinte esquema
1 a
xn +1 = xn + , onde n = 0,1, 2,...
2 xn
1 a
xn +1 = ( p 1) x +
xnp 1
n
p
Segue aqui tambm uma verso Funo "Heron(a)" com sua janela "Heron"
Aps digitar esta funo, pode-se voltar para a planilha Excel e escrever
=Heron(1000), para extrair a raiz quadrada do nmero 1000 com a exatido .
104
Mtodo de Newton-Raphson
f ( xn )
xn +1 = xn
f '( xn )
Primeiro, vamos escrever uma funo VBA usando as idias aplicadas na funo
"Heron". Tomemos o caso especial da funo
f ( x ) = ax 3 + bx 2 + cx + d
f ( x + h) f ( x )
f '( x)
h
Na seguinte figura vemos uma implementao do processo de Newton-Raphson
numa planilha do Excel utilizando esta expresso para a derivada na coluna E.
Pretendemos determinar as trs solues reais da equao x x 0, 2 = 0 .
5
Sabemos (grfico!) que elas devem ficar perto de -0,5; 1; -1. Na planilha
buscamos a terceira raiz utilizando como valor initial x0 = -0,9. (Os valores,
exatos com quatro casas decimais, so -0,2003; 1,0448; -0,9421.)
106
Uma vez criada a planilha, nos ser somente preciso introduzir a funo em
questo na clula B7, o resto faz uma macro, que ser ativada com Ctrl-i.
A planilha feita da seguinte maneira:
A7: =G$2
B7: aqui introduz-se o termo da funo, em nosso caso =A7^5-A7-0,2
C7: =A7+G$3, copiar at C15 (8 iteraes)
E7: =(D7-B7)/G$3, copiar at E15
G7: =A15 (resultado depois de 8 iteraes)
A8: =A7-B7/E7, copiar at A15
2,094552..)
Seja f(x) = e-x + x/5 -1 a funo cujo zero, z, espera-se que fique entre a = 4
e b = 6. x = (a+b)/2 o centro do intervalo. Tomemos f(a) como valor de
comparao.
O processo repetido at que seja obtida uma aproximao para a raiz exata z
com uma tolerncia desejada.
N (ln(b a ) ln( )) / ln 2 1
Para obter, em nosso caso, um resultado correto com trs casas decimais ( =
0,001), temos de fazer N > 10 divises (iteraes). A seguinte planilha confirma
este clculo, pois o valor x = 4,965... aparece apenas na clula C15.
B5: =E$1; C5: =(B5+D5)/2; D5: =E$2 (copiar C5 at C20 ou mais embaixo)
Para concluir esta seo, d-se, a seguir, uma prova do critrio da convergncia
do mtodo da bisseo.
ba
xn xn 1 =
2n +1
introduzindo uma tolerncia para o valor da raiz desconhecida z. n = 0,1,2,...
Esta uma relao para o error absoluto do clculo e, ao mesmo tempo, nos
da uma frmula para o nmero mximo de iteraes necessrias para obter o
valor da raiz desconhecida z. Pois, da ltima desigualdade resulta
ba
(n + 1)ln 2 ln
ba
ln
n 1
ln 2 .
110
xn +1 xn
xn + 2 = xn f ( xn )
f ( xn +1 ) f ( xn )
af (b) bf (a)
x=
f (b) f (a )
Primeiro, traamos o grfico da funo para ver onde, mais ou menos, esto
localizados os zeros.
Entradas:
Mtodo de Gauss-Seidel
25 x + 2 y + z = 69
2 x + 10 y + z = 63
x + y + 4 z = 43
113
x = (69 2 y z ) / 25
y = (63 2 x z ) /10
z = (43 x y ) / 4
Somando os valores absolutos dos coeficientes das variveis no lado direito, d para a
primeira equao (2+1)/25 = 0,12, para a segunda 0,3 e para a terceira 0,5. Pode-se
demonstrar, que o mtodo convirja para a soluo exata, se estas somas de coeficien-
tes so menores que 1. (Trata se de um critrio suficiente.)
Comea-se dando aos coeficientes das variveis valores iniciais arbitrrios, por
exemplo zero.
Primeira iterao:
B11: =(69-2*C10-D10)/25;
C11: =(63-2*B11-D10)/10;
D11: =(43-B11-C11)/4
O nmero das iteraes pode ser bem alto. Por exemplo precisamos para o
seguinte sistema 77 Iteraes para obter as solues {2;1;-3}
2x y z =6
x +3 y +2 z = 1
3 x +4 y +3 z =1
T1 = (0+100+31,25+6,25)/4 = 34,375
T2 = (34,375+100+0+9,375)/4 = 35,9375
T3 = (0+34,375+9,375+0)/4 = 10,9375
T4 = (10,9375+35,9375+0+0)/4 = 11,71875
anunciar que esta frmula contm uma referncia circular. (Quando uma
frmula volta a fazer referncia sua prpria clula, tanto direta como
indiretamente, este processo chama-se referncia circular. Em nosso caso,
queremos calcular B3 = (A3+B2+C3+B4)/4, mas C3 =(B3+C2+D3+C4)/4 e
B4 =(A4+B3+C4+B5)/4 precisam o valor de B3, ou seja, eles referem-se de
volta B3.)
A referncia circular indicada por setas. Mas, voc pode mover-se entre as
clulas em uma referncia circular clicando duas vezes nas setas. Em nosso
caso, trata se de uma referncia circular desejada. Para poder trabalhar com
este "erro", temos que clicar em Office>Excel Options e eleger "Manual" e
"Iterao". Cada Iterao efetua-se com F9. (Em 2003 v a Ferramentas>
Opes>Clculo e escolha "Manual" e "Iterao".) A frmula em B3 deve ser
copiada at F7.
Depois de 24 iteraes, aparece em D5 o valor de 25 graus exatos. Depois de
mais 5 iteraes, no haver mais mudanas nos valores da planilha.
400 n n x
T ( x, y ) = senh( (10 y )) sen (2)
n n senh(n ) 10 10
n= 1,3,5,...
senh( x ) = (e x e x ) / 2 (3)
Mas o Excel tem embutido a formula =SENH(), que houvssemos podido usar
em vez da formula (3), ou seja, =SENH(B5) em vez de =(EXP(B5)-EXP(-B5))/2
em C5.
Observe que em H5 fica =G5, mas em H6: =SOMA(G$5:G6) copiar at H14.
A5: 1
A6: =A5+2
B5: =A5*PI()
D5: =B5*(10-E$5)/10
E5: =(EXP(D5)-EXP(-D5))/2, ou =SENH(D5)
F5: =SEN(B5*E$1/10)
G5: =400*E5*F5/(B5*C5), =primeira parte da soma
H5: =G5
H6: =SOMA(G$5:G6), = soma dos dois primeiros termos
118
119
Captulo 9
Sries infinitas; nmero e de Euler e o nmero Pi
A srie de Seno
x3 x5 x 7
sen( x) = x + + ... (3)
3! 5! 7!
A srie (3) no til para valores de x > 20 radianos. Por exemplo, para
calcular sen(20), preciso somar 40 termos da srie (3) para obter um
resultado correto com oito casas decimais (= 0,91294525...).
Por outro lado, no precisamos calcular com valores de x > 20, pois sempre
podemos restar mltiplos de 2 at obter um valor aceitvel.
(20 - 32 = 1,150444078 e sen(1,150444078) = 0,9129452507. Para obter
sen(1,150444078) com 8 casas decimais, devemos somar 20 termos da srie
(3)).
A1: 1
A2: =A1+2, copiar para baixo
B1: 1
B2: =B1*(-1), copiar
C1: =B1*H$1, copiar; D1: =H$1
D2: =C2^A2/FATORIAL(A2), copiar
x2
y1 = x, yk +1 = , k = 1,2,..., n 1 (4)
2k (2k + 1)
121
As entradas so
A frmula de recurso (4) pode ser escrita como Sub-rotina ou como Funo:
x 2 x3
ln(1 + x) = x + ..., vlido para 1 < x 1 (5)
2 3
x3 x 5 z 1
ln( z ) = 2( x + + + ...), com x = , z >0 (6)
3 5 z +1
x x 2 x3
e =1+ +
x
+ + ..., vlido para todos os x (7)
1! 2! 3!
Dicas:
Para (6): t=x, s=x, k=1
Resoluo
E2: =(E$1-1)/(E$1+1)
A5: 1 (=k); B5: =E$2 (=varivel auxiliar t)
C5: =E$2 (= termo da soma)
A6: =A5+2
B6: =E$2*E$2*B5 (= potncias de x)
C6: =C5+B6/A6 (=soma parcial)
A seguinte funo "logz" calcula ln(z) somando 100 termos da srie (6). Com o
termo auxiliar t evitamos o clculo direto das potncias de x.
x
e x = lim (1 + )n
n n
1
(8)
ln x = lim n( x n 1)
n
124
Euler j tinha usado a letra e para representar o nmero 2,71828 ... num de
seus primeiros trabalhos, um manuscrito intitulado "Meditao sobre
Experimentos feitos recentemente sobre o disparo do Canho ", escrito em
1727.
e = 1+(1+1/2(1+1/3(1+1/4(1+1/5(1+1/6(1+...)))))) (9)
n soma
5 1+1/5=1,2
4 1+(1,2)/4 = 1,3
3 1+(1,3)/3 = 1,43333
2 1+(1,43333)/2 = 1,71666
1 1+1,71666 = 2,71666
P(x) =((4x-2)x+3)x-6
P(3) = ((43-2)3+3)3 6 = 93
O nmero PI
s2 n = 2 4 sn sn (1)
127
Para desenvolver uma planilha para a equao (1), precisamos de trs colunas, B para
o nmeros dos lados, C para os comprimentos e D para o valor aproximativo de .
Tudo anda bem at n = 32768. Este polgono produz um valor para correto com oito
casas decimais.
Deve-se saber que uma computador trabalha com nmeros reais e que cada
computador utiliza um nmero limitado de dgitos para representar um nmero
128
.3141E-1
+ .0690E-1
___________
= .3831E-1
S4 = .141E1
S8 = RAIZ(.200E1-.142E1)=.762E+0
S16= RAIZ(.200E1-.185E1)=.387E+0
S32= RAIZ(.200E1-.196E1)=.200E+0
S64= RAIZ(.200E1-.199E1)=.100E+0
S128= RAIZ(.200E1-.200E1)= 0E+0
Compare S16:
O zero marcado foi adicionado pela normalizao. Estes zeros extras fazem com
que a partir de S128 resultem s zeros.
A macro "ArchiPi" utiliza DIM n As Long , para poder ter uma exatido de
1E-14.
130
1 1 1 ( 1) n 1
= 4(1 + + ...) = 4 (3)
3 5 7 n =1 2n 1
= 4 An Bn (4)
4 n =1 n =1
(1) n 1 (1) n 1
Os coeficientes so An = , Bn =
(2n 1)52n 1 (2n 1)2392 n 1
D11: =D10+B11/(A11*C11)
131
E18: =16*D18; C19: 239 (comea o clculo dos Bn); D19: =1/C19
A20: 3; B20: -1; C20: =57121*C19
D20: =D19+B20/(A20*C20)
A21: =A20+2; B21: =-B20; C21: =57121*C20
D21: =D20+B21/(A21*C21); copiar A21:D21 at A22:D22
E22: =4*D22
E6: =E18-E22 ( aproximao para Pi)
y0 = 2 1
a0 = 6 4 2
1 4 1 yk4
yk +1 =
1 + 4 1 yk4
ak +1 = ak (1 + yk +1 ) 4 22k + 3 yk +1 (1 + yk +1 + yk2+1 )
SOMASEQNCIA
Sintaxe
SOMASEQNCIA(x;n;m;coeficientes)
x o valor de entrada.
n a potncia inicial qual voc deseja elevar x.
m o passo pelo qual se acrescenta n a cada termo na seqncia.
coeficientes so os fatores ai dos termos do polinmio.
Exemplo:
x2 x4
A srie da funo cos dada por cos( x ) = 1 + ...
2! 4!
x3 x5 x 7
sen( x) = x + + ...
3! 5! 7!
Captulo 10
lgebra de Matrizes (Arranjos)
J varias vezes tivemos contatos com variveis indexados em matrizes ou
vetores (= matriz especial). Compare o primeiro capitulo, pagina 11, ou no
Captulo 7. Diz-se que o arranjo um vetor quando seus itens possuem um
nico ndice e que o arranjo uma matriz, quando seus itens (elementos)
possuem dois (ou mais) ndices.
No Excel, uma matriz pode ser dada como um intervalo de clulas, como
A1:C3. Mas, tambm pode ser armazenada na "memria" do Excel e , em tal
caso, chamado de constante de matriz (array constant ). Para criar uma
constante de matriz, utiliza-se a seguinte notao: {1.2.3.4.5}. Podemos usar
esta constante como argumento de uma funo, por exemplo de SOMA.
Escrevemos =SOMA({1.2.3.4.5}), Enter. Resultado: 15. (A frmula contm uma
matriz, mas, a frmula mesma no nenhuma frmula matricial (array
formula) e no precisa ser entrada utilizando Ctrl+Shift+Enter, como devemos
fazer no caso de uma frmula matricial. (Se bem que, em nosso caso, podemos
faz-lo.) Excel sempre coloca duas chaves { } em torno duma frmula matricial.
Mas, voc no deve escrev-las, isso faz Excel.)
Mas, cometi um equvoco, selecionei D5:D10. Excel escreveu por isso na ltima
clula #N/D (deve ser alemo: nicht da no est-, ou trata-se, porventura, de
latim: non datur?).
138
Exemplos:
Uma declarao como "DIM R() As Double" define uma matriz dinmica R de
nmeros reais que mais frente deve ser fixada, p.ex. por ReDIM R(n,m).
p
cij = ai1b1 j + ai 2b2 j + ... + aipbpj = aik bkj (1)
k =1
Isso significa, que o produto de A por B est apenas definido quando o nmero
de linhas de B exatamente igual ao nmero de colunas de A. No exemplo
seguinte, temos duas matrizes quadradas, ambas de 3 linhas e 3 colunas. A
matriz produto C aparecer no intervalo (A7:C9) por que aqui, onde
queremos que fique o resultado. Por isso selecionamos as clulas (A7:C9),
antes de pressionar as teclas Ctrl+Shift+Enter.
O cdigo foi ampliado pelo Loop For k =1 To p que executa a soma em (1)
Note a introduo do contador, n, das colunas da matriz B. A matriz produto
AB de m linhas e n colunas, m x n.
142
n
mi xi
xc = i =1n (1)
mi
i =1
144
n
No ponto C pode-se considerar concentrada toda a massa M = mi .
i =1
Podemos reescrever a primeira frmula introduzindo os pesos pi = mi/M:
n n n
xc = pi xi e yc = pi yi com pi = 1 (2)
i =1 i =1 i =1
Claro que no se precisa nenhuma macro para calcular C, ser fcil faz-lo na
planilha mesma, somando os produtos x(i)*p(i) e y(i)*p(i). Mas, a macro
"Pontos()" com o boto "Centro de Massa" pode ser usada para aplicaes mais
complicadas, por exemplo no caso das frmulas de interpolao do seguinte
captulo. A macro baseia-se num programa do site www.cidse.itcr.ac.cr/cursos-
linha/NUMERICO cujos autores se dedicam produo de cursos grtis na
internet para estudiosos das cincias matemticas e outras.
3x y +z =2
3 1 1
9x y =7
Seja um sistema linear com A = 9 1 0
6 x +2 y 2 z =8
6 2 2
5 OPTION BASE 1
10 DIM A[3,3], I[3,3],X[3,1],B[3,1]
20 MAT READ A,B
30 MAT I=INV(A)
40 MAT X=I*B
50 MAT PRINT X
100 DATA 3,-1,1
110 DATA 9,-1,0
120 DATA 6,2,-2
130 DATA 2,7,8
200 END
147
A soluo o vetor 1.
2.
1.
No caso de uma matriz 2x2 existem frmulas simples para o clculo dos
coeficientes da matriz inversa. O seguinte procedimento contm essas
frmulas. Trata-se de uma variao da funo "Segundograu" do Captulo 7.
Escrevemos em 4 clulas os elementos da matriz A, por exemplo em (A1:B2).
Depois selecionamos 4 clulas para a matriz inversa e, em seguida, clicamos
sobre fx para chamar nossa funo "inversa2". Na janela dos argumentos da
funo escrevemos ao lado de "MatrizA" o intervalo (A1:B2). No clicamos
sobre OK, mas sim pressionamos as teclas Ctrl+Shift+Enter.
Exemplo:
Produto vetorial em R3
O mtodo de Gauss
2 3 1 5
B0 = 4 4 3 3
2 3 1 1
2 3 1 5
B1 = 0 2 1 7
0 6 2 6
2 3 1 5
B2 = 0 2 1 7
0 0 5 15
Temos aqui o nosso exemplo produzido com a funo "gauss" que se orienta
estritamente no processo descrito.
152
Captulo 11
Integrao e Interpolao
bem conhecido que a maioria dos integrais definidas s podem ser calculadas
numericamente. Neste capitulo, vamos estudar alguns mtodos numricos do
tipo Newton-Ctes, que empregam os valores de f(x) para valores de x
uniformemente espaados. Dois mtodos simples desse grupo so a regra dos
trapzios e a regra de Simpson
Para obter a regra geral, dividimos a rea debaixo da curva y = f(x) entre x = a
= x0 e x = b = xn em n faixas da mesma largura h = (b-a)/n. A integral ser
aproximada pela seguinte soma de reas de trapzios:
b
h h
f ( x)dx = ( f ( x0 ) + f ( x1 )) + ( f ( x1 ) + f ( x2 )) + ...
a 2 2
h
( f ( xn 1 ) + f ( xn )) = (1)
2
h
( f ( x0 ) + f ( xn )) + h( f ( x1 ) + f ( x2 ) + ... + f ( xn 1 ))
2
O programa anterior parece ser prefervel para a maioria dos usurios. Para
2
ln( x )
calcular 1 + x2 , usando 6 faixas, a macro deve ser chamada como
1
=Trapezio_Run( 1;2;6;"Funcao"):
155
Regra de Simpson
Como foi feito com a regra dos trapzios, deve-se subdividir o intervalo de
integrao [a,b] em n subintervalos iguais de largura h. Com a regra de
Simpson, o nmero n de subintervalos deve ser, porm, sempre par. A frmula
composta de Simpson dada por
b
h
f ( x)dx 3 ( y0 + 4 y1 + 2 y2 + 4 y3 + 2 y4 + ... (2)
a
+ 2 yn 2 + 4 yn 1 + yn )
Mas, a seguinte macro mais curta devido a um simples truco. Utiliza-se uma
varivel w = 6 - w que, no programa, somente pode tomar os valores 2, 4, 2,
4 ... se comea-se com w = 4.
Observe que o programa trabalha com uma soma s e que utilizamos somente
um For To Loop.
156
a0
Uma srie de senos e co-senos do tipo + (an cos nx + bn sen nx)
2 n =1
chamada de srie trigonomtrica. Se esta srie converge, ela representa ento
uma certa funo f(x) que se pode escrever como
a0
f ( x) = + (an cos nx + bn sen nx) (3)
2 n =1
1 +
a0 = f ( x)dx (4)
1 +
an = f ( x)cos nx dx (n 0)
(5),(6)
+
1
bn = f ( x)sen nx dx (n > 0)
numrico analtico
A0 = 3,2899 3,2899
A1 = -3,9999 -4,0000
A2 = 0,9995 1,0000
A3 = -0,4432 -0,4444
A4 = 0,2477 0,2500
A5 = -0,1560 -0,1600
A6 = 0,1046 0,1111
A7 = -0,0715 -0,0816
+ 0,2477cos(4x) 0,16cos(5x)
Planilha de Excel
Tambm vale a pena criar uma planilha para trs formulas (Trapzios,
Tangentes, Simpson). Repetimos as bases tericas utilizando as somas de
Riemann. (A seguinte figura foi produzida em MuPAD cuja descrio pode-se
encontrar no site do autor em http://www.geocities.com/Athens/Agora/6594/ .)
Sem dvida, nestes casos prefervel utilizar as macros que foram desen-
volvidas mais acima.
48
I= 1 + cos 2 x dx
0
Existem mtodos melhores dos que utilizamos acima, por exemplo o mtodo de
Romberg, que d o valor I 58,47047 com 4 casas decimais corretas.
Vamos supor que, por meio de um experimento, temos uma tabela de dados:
x -2 -1 0 1 2
y 3 0 -2 6 1
Consideremos uma tabela com n+1 pontos (x0,y0), (x1,y1), ... ,(xn,yn) e
desejamos determinar um polinmio da forma
X um valor no tabelado.
a0 = y0
a1 = (y1 y0)/(x1 x0) := [x0,x1,y]
a2 = ((y2 y1)/(x2 x1) (y1 y0)/(x1 x0))/(x2 x0) := [x0,x1,x2,y]
.....................
an = [x0,x1,...,xn,y]
163
p(x) = 3 -3(x+2)+0.5(x+2)(x+1)+1.5(x+2)(x+1)(x)-4/3(x+2)(x+1)(x)(x-1)
Na coluna E temos:
Obviamente, muito desejvel ter uma macro VBA que capaz de fazer tudo
isso mais rpido e praticamente com um s clique da mouse.
O programa VBA que segue baseia-se num artigo de R. Pfeifer no site
http://www.arstechnica.de/computer/msoffice/vba/vba0094.html (em alemo).
Ele se mantm ao esquema pouco apresentado e trabalha com dois listas
(Arrays) embutidas na macro. Desafortunadamente, o programa no pode
determinar, explicitamente, o polinmio interpolador, como o vimos acima no
caso do programa MuPAD. Porm, ele nos permite determinar o valor de p(x)
para qualquer x fornecido por meio de uma InputBox. A sub-rotina "valor"
contm os Arrays x, y dos dados observados e a funo "InterNewton" calcula
para cada valor x a ser interpolado primeiro o polinmio que depois avaliado
usando o mtodo de Horner, que estudamos no ltimo captulo.
165
Para produzir uma tabela inteira de valores interpolados, que nos permitiria
mostrar tambm a curva interpolador, precisamos de desenhar outra macro,
assim como a nossa "Interpol", veja o prximo programa.
Se pode demonstrar que sempre existe o polinmio p(x) que interpola a funo
f(x), desconhecida, em x0, x1, ..., xn e que nico. No entanto, existem vrias
formas para se obter tal polinmio. Ao lado do mtodo de Newton bem
conhecida a forma de interpolao segundo Lagrange que consta de uma soma
de polinmios especiais (os polinmios de Lagrange).
p ( x) = y0 L0 ( x ) + y1L1 ( x) + ... + yn Ln ( x)
( x x0 )( x x1 )...( x xi 1 )( x xi +1 )...( x xn )
Li ( x) =
( xi x0 )( xi x1 )...( xi xi 1 )( xi xi +1 )...( xi xn )
n ( x xk )
Tambm podemos escrever Li ( x) = (x x )
; k i para i = 0,..., n
k =0 i k
L0 = (x2-7x+12)/6
168
CORRESP(valor_procurado;matriz_procurada;tipo_correspondncia)
Para poder usar MATCH num macro VBA, devemos introduzi-lo pelo objeto
Application. Veja o captulo 7 onde isso foi usado e explicado.
Com os trs pontos padro (1;4), (3;6), (4;12) temos a seguinte planilha:
172
v(t) = At2 + Bt + C
t
o v(t)dt = ot (At2+Bt+C)dt = A(t)3/3 + B(t)2/2 + Ct
x t 2
1
S ( x) = f (t )dt com f (t ) = e 2
x 2
Soluo:
Captulo 12
Grficos com 2007, Parte II
Representaes 2D e curvas paramtricas
x = a sen(1t )
y = b sen(2t + )
que foram descobertas em 1857 por Jules Antoine Lissajous, fsico francs.
Uma curva de Lissajous pode ser observada facilmente na tela de um
osciloscpio, colocando a componente x no canal horizontal e a componente y
no canal vertical.
S podemos ver curvas fechadas quando a razo das freqncias um
nmero racional, ou seja, quando 1 e 2 no possuem divisor comum. Neste
caso, temos 1:2 = n1:n2 onde os nmeros n1 e n2 so inteiros e no
possuem divisor comum.
Se a razo das freqncias angulares irracional, resultam oscilaes no
peridicas.
Se 1:2 no for um nmero racional, ento a curva ser "aberta" e, aps um
longo tempo, o ponto que traa a curva ter passado por todos os pontos do
retngulo limitado por x = a e y = b. Ele nunca passar duas vezes por um
dado ponto com a mesma velocidade.
A espiral
x = r cos(t )
y = rsen(t ); - < t<
1. Cada raio que passa pela origem atravessa a espiral com mesmo
ngulo.
2. O comprimento do arco de qualquer ponto da espiral logartmica at
o centro finito, embora sejam necessrias infinitas rotaes para se
chegar ao centro.
Para o ngulo vale a frmula a = ctg(). Utilizando a relao arc ctg(x) = arc
tg(1/x), obteremos = arc tg(1/0,1) = 1,4711 Rad ou = 84,29o.
Isso significa que a espiral corta o eixo X sempre sob 84,29o, pois o eixo X
tambm um raio pela origem.
181
O ciclide
http://www.geocities.com/Athens/Agora/6594/Mechsub/mech3_3.pdf
x = at bsen(t )
y = a b cos(t ); < t <
Caso b > a
182
(x(t),y(t)), t [a,b]
Preparao
As equaes da transformao so
x' = [cos(c)cos(b)-sen(b)sen(a)sen(c)]x
- [cos(c)sen(b)+sen(a)cos(b)sen(c)]z
+ [cos(a)sen(c)]y
xs = Dx'/(D-z')
ys = Dy'/(D-z') (3)
G22: =((-J$4*J$5-J$3*J$1*J$6)*B22+(J$3*J$5-J$1*J$4*J$6)*D22
+J$2*J$6*C22)/(B$11-H22)*B$11+H$9+H$11 (=y)
Para poder obter na tela uma posio perfeita da figura, foram adicionadas nas
frmulas para xs e ys (F22, G22) dois constantes: F22: =H$8+H$10; G22:
=H$9+H$11. muito recomendvel guardar a planilha, pois vamos utiliz-la,
com poucas mudanas, nos prximos exemplos.
x = asen(1t )cos(2t )
y = bsen(1t ) sen(2t + ) (4)
z = ce ( x + y2 )
2
Um eltron num tubo de raios catdicos (= eltrons) sofre uma deflexo, se for
aplicado um campo magntico B. Suponhamos que o eltron entre num campo
magntico homogneo de um ngulo . A trajetria do eltron ser uma hlice
cilndrica com distncia caracterstica, s, constante. O valor desta constante (=
passo ou "pitch" da hlice) vem dado pala seguinte equao:
2 vsen( )
s= = Tvsen( )
e
B
m
x = rsen(t )
y = r cos(t )
z = vsen( )t
A primeira figura foi calculada com os ngulos 0, 0 (ou 180) e 0. A distncia foi
grande: D = 1000. Para os deslocamentos foram tomadas os valores 10, 6, -4,
0. A figura mostra a projeo da trajetria sobre o plano XY (um crculo).
A segunda figura mostra uma vista lateral com 0, 90, 0 e D = 1000. Os des-
locamentos so 10, 6, 0,0.
O segmento do eixo Z foi desenhado a partir das seguintes entradas nas linhas
424 e 425.
A figura mostra a imagem de uma parbola f(x) = x2 que fica na clula C1.
O seguinte programa criou a tabela e o grfico.
O loop For i = 0 To n
Cells(6 + i, 1) = a + i * h
Cells(6 + i, 2) = Fun.Eval1(a + i * h)
Next i
Superfcies 3D em Excel
Os dados para o grfico esto no intervalo C3:I9. A cada ponto neste intervalo
pertencem duas coordenadas. As coordenadas x para o eixo na frente ficam em
C2:I2, as coordenadas y do eixo lateral, que apresenta a profundidade do
grfico, esto em B3:B9. Os valores da funo so apresentados vertical-
mente, da base do grfico at a superfcie colorada.
Para criar este grfico, selecionamos as clulas B2:I9. O grfico pode ser
editado da maneira usual. Mas, para o tipo Superfcie 3D existem mtodos
especficos, como a Rotao 3D, a formatao dos paredes, da base etc.
195
Continuao:
2 c1 5
I ( , T ) = c2
e T 1
Neste lugar vou unir num simples programa alguns elementos para criar um
grfico "xlXYScatterSmooth".
Para desenhar uma funo com valores em A2:B7, basta o seguinte cdigo
A linha Set ch= ... um pouco assustador, mas, por meio dela podemos
198
O grfico no muito bonito, mas, neste exemplo, vemos como com poucas
linhas de cdigo possvel transformar rapidamente dados num simples
grfico.
Para satisfazer exigncias mais sofisticadas, VBA oferece os mdios para
colocar rtulos nos eixos, para colorar o fundo, inserir linhas de grade verticais
e outros.
199
Para lograr estas melhoras, foram adicionadas mais algumas linhas de cdigo:
Captulo 13
Regresso linear e polinomial
Regresso linear
n
( xi x )( yi y )
i =1
b= n (1)
( xi x )2
i =1
a = y bx
1 n 1 n
As mdias de x e y so definidas por x = xi ; y = yi (2)
n i =1 n i =1
204
C1: =(A1-MDIA(A$1:A$8))*(B1-MDIA(B$1:B$8))
D1: =(A1-MDIA(A$1:A$8))^2, copiar as frmulas at linha 8
E1: =SOMA(C1:C8)/SOMA(D1:D8) (=b)
E2: =MDIA(B1:B8)-E1*MDIA(A1:A8) (=a)
Para fazer o grfico, deve-se levar em conta que temos de representar duas
sries de dados. Veja tambm o captulo 5, p. 63
(Se tiver instalado o programa tc2 que mencionei no ltimo captulo, poderia
aqui, em WORD, calcular a densidade de sdio para uma temperatura dada:
T=600
d=0,9536-2,4274E-04*T = 0,808 o que corresponde bem ao o valor da
tabela.)
hora de mencionar que o Excel, a partir do Excel 97, tem embutido uma
ferramenta que faz tudo o que acabamos de ver, s eleger Layout>Linha
de Tendncia com as suas opes, p. ex. a equao da linha e o valor de R2.
205
Mas, este assistente somente aparecer depois que voc selecionar um grfico,
em nosso caso Disperso Somente com Marcadores. As propriedades da linha,
como cor, estilo etc. podem ser variadas, s fazer clique sobre a linha e
selecionar Formatar Linha de Tendncia.
( preciso colocar nossos dados em outras clulas, por exemplo D1:E8, pois
temos selecionado o intervalo A1:B5 para os resultados estadsticos. A frmula
=PROJ.LIN(E1:E8;D1:D8;;1) uma frmula matricial e deve ser inserida
pressionando Ctrl+Shift+Enter.)
206
1 n
2y = ( yi a bxi )2 (3)
n 2 i =1
n y2
b2 = 2
(4)
2
n n
n xi xi
i =1 i =1
n
y2 xi2
i =1
a2 = (5)
D
onde D significa o denominador de (4). Resultado: a = 0,001582
1 n 2
Observe que temos tambm a = b xi (6)
n i =1
i =1 i =1
Ento, quanto maior R2, melhor o ajuste da regresso aos dados observados.
Devido equao dos gases ideais, PV = nRT, espere-se uma relao linear
entre os valores da tabela. Para confirmar esta suposio, fazemos um anlise
de regresso.
208
Regresso parablica
Temperatura oC C em kJ/(kgK)
0 4,2177
5 4,2022
10 4,1922
15 4,1858
20 4,1819
25 4,1796
30 4,1785
35 4,1782
40 4,1786
45 4,1795
50 4,1807
55 4,1824
60 4,1844
65 4,1868
70 4,1896
75 4,1928
80 4,1964
210
85 4,2005
90 4,2051
95 4,2103
100 4,2160
a1n + a2 x + a3 x 2 = y
a1 x + a2 x 2 + a3 x3 = xy (1)
a1 x 2 + a2 x3 + a3 x 4 = x 2 y
a1 y Sy
A = a2 e B = xy := Sxy (2)
a3 x 2 y Sx 2 y
n Sx Sx 2
M = Sx Sx 2 Sx3 (3)
2
Sx Sx3 Sx 4
No ser muito difcil escrever o cdigo VBA para realizar os passos exercidos
na ltima planilha.
Captulo 14
Programao linear, Anlise de dados
Trabalhando com o SOLVER
Outros problemas para o Solver resolver lidam com programao linear (PL).
Ela usada para maximizar ou minimizar diversos tipos de problemas, por
exemplo problemas da tima mistura de produtos. Como exemplo podemos
citar as distribuidoras de petrleo que precisam determinar a quantidade de
aditivos a ser adicionada ao petrleo de forma a obter um certo tipo de
gasolina ao menor custo possvel ou, em certos casos, quere-se conhecer a
quantidade de gua que se pode adicionar a fim de atender s expectativas
mnimas dos clientes -como poder ligar o motor ou poder dirigir pelo menos um
quilmetro sem problemas srias.
Entradas na planilha:
Manter soluo do Solver: Neste caso, vai manter na planilha atual os valores
encontrados pelo Solver.
Anlise de dados
1 m
x = fi xi mdia amostral; =MDIA
n i =1
1 m
s =
2
( fi xi2 nx 2 ) varincia amostral; =VAR
n 1 i =1
i =1
expresso mais conveniente para usar no clculo da varincia de uma
distribuio de freqncia do que a anterior.
Exemplo: Temos uma amostra de 35 valores (crianas por famlia) que foram
anotados no momento de receb-los, sem ser ordenados. Queremos determinar
os valores das estadsticas.
Distribuies
1 x
1 ( )2
f ( x) = e 2 (1)
2
Esta funo tambm chamada funo normal de erros. (No caso de a varivel
X sendo discreta, f(x) tambm chamada funo de probabilidades. A varivel
aleatria X dita discreta, se assume valores num conjunto finito ou infinito
enumervel.) A distribuio normal simtrica em torno da mdia o que implica
que e mdia, a mediana e a moda so todas coincidentes.
A Probabilidade do evento "X<=x", ou seja P(X<=x) = F(x), ser calculada pela
funo
221
x
F ( x) = f (t )dt =P(X<=x) (2)
Ajuda:
Entradas:
1. Dados em B5:B8
2. E6: =DIST.NORM($B$7;$B$5;$B$6;1) (= F(x1))
E7: =DIST.NORM($B$8;$B$5;$B$6;1) (= F(x2))
3. G6: =DIST.NORM($B$7;$B$5;$B$6;0) (= f(x1) segundo eq.(1))
G7: =DIST.NORM($B$8;$B$5;$B$6;0) (= f(x1))
4. F10: =SE(B7="";"";E7-E6)
5. C11: =2*DIST.NORM(2;0;1;1)-1 ou =2*DIST.NORMP(2)
6. C12: =2*(1-DIST.NORM(2;0;1;1)) ou =2*(1-DIST.NORMP(2))
7. E12: =1-E7; G12: =E7
X
Se queremos trabalhar com Z = , devemos pr = 0 e =1. Z(x1) =
(1,36-1,4)/0,05 = -0,8 Z(x2) = 1,6.
223
1 n
A convergncia da seqencia e = lim (1 + ) muito lenta. O valor de
n n
1000
(1+1/1000) 2,7169239.
Obviamente podemos traar as curvas das funes F(x) ou f(x) sem TABELA,
pois temos a funo DIST.NORM. Vamos, ento, e tracemos N(0,1) e N(5,2)
fazendo uso desta ltima funo:
A inverso de
=INV.NORM(Se(B5=1;B13;0,5+B13/2);B9;B10) e em F11:
=INV.NORM(Se(B5=1;B13;0,5+B13/2);0;1)
Veja, tambm, as explicaes para a distribuio_t mais frente.
-quantil de Z unicaudal:
228
-quantil de Z bicaudal:
Intervalo Probabilidade
1 68,3%
2 95,5%
3 99,7%
Veja p. 8
Intervalo de confiana
x x
[X z ;X + z ]
n n
contm com a probabilidade de confiana = 2(z)-1 (intervalo bicaudal).
Assim, devemos determinar z pela inverso de . Se x no for conhecido,
utilizamos a estimativa
1
s= ( x x )2
n
i =1 i
n 1
Se o tamanho da amostra for n<30, devemos utilizar a distribuio t.
O Excel tem para o intervalo de confiana a funo INT.CONFIANA.
t (au+bu3+cu5+du7+eu9)/(92160f4)
a = 92160f4+23040f3+2880f2-3600f-945
b = 23-40f3+15360f2+4080f-1920
c = 4800f2+4560f+1482
d = 720f+776; e = 79
u = quantil da distribuio N(0;1)
Obtemos os z-quantiles dos valores 0 < <= 0,5 com z = -z1-. Com estes z-
quantiles da distribuio N(0,1) determinamos em seguida os x-quantiles da
distribuio N(,) usando x = +z.
J6 (=A): =92160*F^4+23040*F^3+2880*F^2-3600*F-945
J7 (=B): =23040*F^3+15360*F^2+4080*F-1920
J8 (=C): =4800*F^2+4560*F+1482
J9 (=D): =720*F+776
G16: =SE(B16<=0,5;-TQ;TQ)
E15: =SE(B7=1;B16;0,5+B16/2)
E16: =SE(E15<=0,5;1-E15;E15)
bom saber que para amostras grandes (n > 30) a distribuio_t se aproxima
a uma distribuio Normal.
s
expresso a x = t1 ; f , no caso de um intervalo de confiana unicaudal. No
n
caso dum intervalo bicaudal, temos de usar /2 em vez de . Se se tirar uma
amostra (n) de uma populao (N) pequena, precisa-se introduzir um fator de
N n
correo k = .
N 1
E15: =SE(B9=0;1-B16;0,5+B16/2)
E16: =SE(E15<=0,5;2*E15;2*(1-E15))
E7: =SE(B7=1;B14-G19;"")
E8: =SE(B8=1;B14+G19;"")
E9: =SE(B9=1;B14-G19;""); E13 = F
F7: =SE(B7=1;"<=";"")
D8: =SE(B8=1;" <=";"")
G9: =SE(B9=1;B14+G19;"")
G16: =SE(B16<=0,5;-INVT(E16;F);INVT(E16;F))
G19: =B15*G16/RAIZ(B13) (erro de amostragem)
Exemplo:
Testes de Hipteses
Entradas:
D32: =PROCV(B14;A24:C32;B34+1)
A34: = $D$32*E8/RAIZ(E6)*B35 (multiplicao com o fator B35: =RAIZ((B8-
E6)/(B8-1)))
B34: =SE(B13=1;2;1)
D34: = PROCV(B14;A24:C32;3)
E11: =SE(B11=1;B6+A34;"")
F11: =SE(B11=1;SE(E$7>=E11;"rejeitar";"aceitar");"")
E12: =SE(B12=1;B6-A34;"")
F12: =SE(B12=1;SE(E$7<=E12;"rejeitar";"aceitar");"")
E13: =SE(B13=1;B6-$D$32*E8/RAIZ(E6);"")
G13: =SE(B13=1;B6+$D$32*E8/RAIZ(E6);"")
E15: =SE(B13=1;SE(OU(E7<=E13;E7>=G13);"deveria rejeitar";"deveria
aceitar");"")
B17: =E7-$D$34*E8/RAIZ(E6)*B35
D17: =E7+$D$34*E8/RAIZ(E6)*B35
235
No caso 1>2 rejeitamos H0, se y > t1-a;f . (Obtemos o valor de t com nossa
planilha da distribuio t.) Se escolhermos 1<2, teremos como critrio de
rejeio de H0: y < -t1-;f .
Entradas:
Entradas:
Quero terminar este exemplo com um anlise mais direto do problema. Trata-
se duma interpretao grfica dos dados. Vamos considerar as freqncias
acumuladas observadas como probabilidades acumuladas, P(Zz), de uma
varivel aleatria Z = (p )/ onde p o peso das meninas recm-nascidas.
p 1
Z= = p
a equao de uma reta. A intercepo com o eixo-p vai dar o valor esperado
e a inclinao dar 1/.
Aluno 1 2 3 4 5 6 7 8 9 10 11 12
Ingls (X) 2 7 5 9 9 4 8 4 6 3 10 10
Matemtica (Y) 3 5 4 7 8 5 7 3 4 2 7 9
A funo PROJ.LIN preste-se, tambm, para avaliar uma amostra com duas ou
mais variveis como ilustramos no seguinte exemplo.
O erro padro de y fica em D13 e H8, compare com equao (3) do captulo
( y y )2
anterior. Em nosso caso, s = 0,6884 com s
2
= ; n = nmero das
n k 1
observaes (6), k = nmero das variveis independentes (2). O nmero dos
graus de liberdade f = n-k-1 = 3
Captulo 15
Resoluo numrica de equaes diferenciais
Existem mtodos grficos e numricos para obter uma idia sobre a forma da
soluo, e aos quais pode-se recorrer se no existe nenhuma frmula explcita
da soluo ou se a frmula complicada demais para ser til.
Visto que a inclinao (ou declividade) da curva soluo em (xi, y(xi)) y'(xi) =
f(xi, y(xi)), a equao da reta tangente curva integral em (xi, y(xi))
J que foi dado y(x0) = y0, podemos usar (6) com i = 0 para calcular y1
O valor y(x1), que no conhecemos, substitumos pelo valor y1, que s chega
at a reta tangente e que , no exemplo da figura anterior, nitidamente inferior
ao valor real da funo y(x) em x1.
248
y(x2) y2 = y1 + hf(x1,y1)
y3 = y2 + hf(x2,y2)
Exemplo:
f(x,y) = 1 - x +4y
y1 = y0 + hf(x0,y0) = 1 + 0.1(1-0+41) = 1+0,5 = 1,5 ; x = x1 = h = 0.1
valor exato (ou analtico): y(0,1) = 1,609041828
y2 = y1 + hf(x1,y1) = 1,5 + 0,1(1-0,1+41,5) = 1,5 +0,69 = 2,19; x = x2 = 0,2
valor exato: y(0,2)= 2.505329853
y3 = y2 + hf(x2,y2) = 2,19 + 0,956 = 3,146; x = x3 = 0,3
valor exato: y(0,3) = 3,830138846
fcil escrever um programa VBA para o mtodo de Euler:
249
a
N (t ) = (13)
a bN 0 at
b(1 + e )
bN 0
A funo logstica, expressa pela equao (13), costuma tambm ser designada
como lei universal do crescimento. Sua aplicabilidade como ferramenta
matemtica para a descrio do crescimento de populaes em geral foi
demonstrada nos anos 20 pelo estadstico e zologo americano Raymond Pearl
(1925), razo pela qual a equao logstica , s vezes, referida como equao
de Pearl. O nosso objetivo determinar a soluo da equao (12) numrica-
mente por meio do mtodo de Euler. Podemos facilmente adaptar o nosso
programa nova situao, identificando x com t e y com N(t):
251
Embora o mtodo de Euler seja bastante simples, o mesmo pouco utilizado para a
soluo numrica do problema do valor inicial, j que h outros mtodos, como
veremos adiante, que possuem uma melhor eficincia e exatido. Os outros mtodos
so mais complicados, mas, na maioria dos casos, podemos seguir utilizando o nosso
esquema bsico que aplicamos acima.
A Eq. (6) reza agora yi+1 = y(xi) + h (f(xi,y(xi)) + f(xi+1,y(xi+1)))/2 e uma aproxi-
mao a y(xi+1). Como antes, aproximamos y(xi) por seu valor aproximado yi
quando i >0.
252
O mtodo de Heun com iterao interna ainda mais exato como podemos ver
da seguinte planilha
254
O mtodo de Runge-Kutta
Mas, tampouco este mtodo pode concorrer com o mtodo clssico de Runge e
Kutta, como veremos em seguida.
tn+1 = tn + h
yn+1 = yn + h<v>,
onde
v1:= f(t,y)
A k1 B k 2 C
dA(t )
= A A(t ) (21)
dt
dB(t )
= B B(t ) + A A(t ) (22)
dt
A(t ) = A0e At
A0 A (23)
B (t ) = ( e A t e B t )
B A
Para produzir esta planilha, foi necessria modificar o algoritmo RK1 para
resolver nosso sistema de dois equaes de primeira ordem x' = f(t,x,y) e y' =
g(t,x,y). Em ltima anlise, foi somente necessrio introduzir uma segunda
equao, g(t,x,y). Com o intuito de aplicar o programa em outras situaes na
Fsica, utilizamos os smbolos v (velocidade) e a (acelerao) para x' e y'.
As funes so:
260
Captulo 16
Equaes diferenciais de segunda ordem
Exemplo 1:
Soluo:
y1 ' = y2
A equao de Van der Pol uma equao homognea, pois o lado direito
zero. No prximo exemplo, consideramos uma equao linear de segunda
ordem com uma funo F(t) "de excitao" no lado direito, por exemplo F(t) =
F0 cos(w t).
Exemplo 2:
Soluo:
Outra vez fazemos a mudana x'(t) = y(t) e x''(t) = y'(t) com que a equao de
segunda ordem torna-se:
tn+1 = tn + h
yn+1 = yn + h<v>
vn+1 = vn + h<a>
<v>:= (v1+2v2+2v3+v4)/6
<a>:= (a1+2a2+2a3+a4)/6
v1 := v a1 := f(t,y,v)
v2 := v + a1h/2 a2 := f(t+h/2, y + v1h/2, v2)
v3 := v + a2 h/2 a3 := f(t+h/2, y + v2h/2, v3)
v4 := v + a3 h a4 := f(t+h, y + v3h, v4)
266
y = y + hv + h2(a1 + a2 + a3)/6
x'' = (-rx'-kx+F0cos(t))/m
x0 = 1,4961011m (5)
269
Mas, nos chamados mtodos "multi-step" (passo mltiplo) faz-se tambm uso
de valores anteriores a t, a saber: x(t-h), x(t-2h), ... Tais mtodos precisam, no
271
1 Q1Q2
A fora que atua sobre a partcula Alfa F = . Introduzimos uma
4 0 r 2
Q1Q2 m3
constante C pela relao C = = 5, 486 2 . m = 6,65E-27kg a massa
4 0 m s
da partcula Alfa com a carga Q1 = 2e. O ncleo de ouro tem a carga Q2 = 79e.
Para que o eltron se mova sobre uma rbita circular, deve ser F(r) = -mv2/r.
Desta relao resulta a seguinte equao para a velocidade v
qe
v= = C
2 0 me
Vemos a trajetria circular para v = 104 m/s. Voc poder utilizar outros raios,
ou seja, outros valores para y0, p.ex. y0 =1, para ver que sempre obter um
crculo como trajetria.
O grfico , outra vez, um crculo como na figura anterior, mas, nos eixos
temos metros em vez de centmetros.
O tomo hidrognico
O tomo de hidrognio constitudo por um eltron e um prton. Devido sua
simplicidade, o tomo de hidrognio desempenhou um papel central no desen-
volvimento da fsica quntica.
1 d 2 dR 2
r + [E U(r )]R = l(l + 1)
R
(1)
r 2 dr dr h 2 r2
277
Primeiro ser preciso de formular a equao (1) numa forma mais apropriada
para o clculo numrico.
:= 2Z/na0r := r (2)
Usamos R() em vez de R(r) para indicar que estamos usando a varivel
adimensional = r com = 2Z/na0.
O grfico do estado (3,0) tem trs picos. O valor mais provvel fica na distncia
r 13,5a0 13.5 0,52910-8cm = 7,1410-8cm. A teoria d para a distncia
mais provvel (valor esperado) a expresso
n 2a0 1 l (l + 1)
< rnl >= 1 + 1 (5)
Z 2 n 2
Captulo 17
Exemplos selecionados
Uma esfera de massa m e raio R cai com velocidade inicial zero a partir de x =
0. Subdividimos a distncia da queda, H, em n intervalos, cada um de compri-
mento h = H/n.
Em vez de vj temos escrito vi+1, alm disso temos u := 1-/c. Para determinar o
tempo de queda, temos que somar os tempos parciais tj, gastos nos n
intervalos, veja eq. (2). Calculamos este tempo da seguinte maneira:
(5)
A equao de movimento y"(t) = -sen y(t) com os valores iniciais y(0) e y'(0).
Ningum ser capaz de resolver esta equao em forma "fechada". Uma
soluo aproximada obtm-se somente por meios numricos. Neste pargrafo,
vamos desenvolver um mtodo iterativo muito simples. Trata-se duma queda
com vnculo.
285
(10)
(11)
v := u (g L)1/2 (12),
Finalmente, resulta
(13)
(6)
(7)
A unidade de tempo foi escolhido de tal forma que = 1, ou seja para que o
tempo para uma rotao do sistema de coordenadas fosse T = 2.
As distncias d1 e d2 so
Voc pode estudar, agora, estes fatos usando o seguinte programa. (Na poca
dos primeiros PCs, o clculo da trajetria durava, numa HP-85, 4 horas!)
289
Osciladores acoplados
(Compare com Interferncia no captulo 5)
Sobre a massa m1 atuam quatro foras: m1g, N1, T1 e T1', analogamente para
m2 .
a:=(k + k1)/m1,
b:= k/m1,
c:= (k + k2)/m2,
d:= k/m2 (8)
Entradas:
2. Modelo realista
2 A xi +1
x&i +1 = x&i2 + p( x)dx
m xi
x 1
Para o tempo obtemos uma frmula de recurso: ti +1 = ti + i +1 x& dx
xi
Entradas:
Depois de 1,5ms, a bala sai do cano com uma velocidade de 927 m/s.
Entradas:
Entradas:
Nesta seo, queremos simular o caminho aleatrio de uma molcula num gs.
Isto o modelo matemtico para uma famlia muito ampla de processos. (Uma
analogia o caminho pouco controlado de um bbado num campo aberto. Aps
cada passo, ele se esquece para onde ia e toma um rumo diferente. Suporemos
que ele inicia seu caminho aleatrio num poste no meio do campo, a nossa
origem das coordenadas. O nosso objetivo determinar onde o bbado se
encontra aps um numero N de passos.)
Para a investigao anloga no caso de uma molcula num gs, precisamos de
algumas frmulas da estocstica:
Entradas:
O efeito Compton
A.H. Compton realizou, em 1923, experimentos nos quais raios X eram espal-
hados por um alvo de grafite. O comprimento de onda dos raios espalhados por
um dado ngulo , medido em relao direo incidente, era determinado
utilizando a difrao de Bragg. Compton mostrou que a radiao espalhada
tinha uma freqncia mais baixa do que a incidente.
Modelo:
Entradas:
1 R 2 + ( L)2
| Z |=
C R 2 + ( L
1 2
)
C
L
tan = (1 2 LC ) RC
R
1 R2
res
2
=
LC L2
Para o seguinte circuito queremos criar uma planilha onde inserimos todos os
clculos em forma detalhada.
Entradas:
A distribuio de Poisson
f p ( x, ) = x e / x! (1)
2 2 z3 7 z
f + z 2 f + ( z 1) +
2
3 9 2f (2)
(6 z 4 + 14 z 2 32) /(405 f )
2 2 3
2 f (1 +z ) (3)
9f 9f
Entradas:
Captulo 18
Caixas de dilogo personalizadas (formulrios, userforms)
Para ativar o boto pode ser necessrio executar, primeiro, o formulrio com
F5.
310
Exemplos:
Tringulo
Antes de usar o boto, deve-se executar uma vez o formulrio com F5.