1
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MATEMÁTICA APLICADA ITobias Bleninger
2
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
Medições ambientais
• Medições na coluna da agua (T, Cond. versus z)
• Em diferentes horários, dias (t)
• Em diferentes locais do lago (x, y)
• Dados Meteorológicos
• → Arquivos
3
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
3
Medições ambientais
4
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
Dados e analise
Formatos
• binário
• ASCII
• Programas para editar: UltraEdit ou PSPad (gratuito)
• → mostrar
Cálculos e visualizações simples (em tabelas)
• Excel (Microsoft) ou Calc (OpenOffice, gratuito)
• → mostrar importação
Cálculos e visualizações avançadas
• Linguagem de interpretação: MatLab (Mathworks) ou Octave (gratuito)
• → mostrar programa em Matlab
Cálculos muito eficientes
• Linguagem de compilação: C++, Fortran
5
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
5
R² = 0.5313
0
2
4
6
8
10
12
14
16
18
0 2 4 6 8 10 12
Ma
x e
ve
nt d
ura
tio
n [d
ts]
Days [drop of atm pressure]
Porque processar? Corelações!
6
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
R = 0,67
R = 0,99
Perguntas a fazer
Source: http://www.tylervigen.com/
R = 0,99
7
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
Source: http://www.tylervigen.com/
8
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
Source: http://www.tylervigen.com/
9
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
Source: http://www.tylervigen.com/
10
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
Source: http://www.tylervigen.com/
11
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
Aplicação 1: Probabilidade Condicional
“90% dos usuários de crack começaram com a maconha” portanto deve-se proibir a maconha
“77% dos criminosos tinham baixa frequência na escola” portanto a frequência deve ser
obrigatória
Fazem sentido essas afirmações?
12
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
Aplicação 2: Estatística Descritiva
Prefeito nas eleições:
“Em meu governo criei 1000 vagas para professores”
13
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
Aplicação 8: Outliers. O que é um outlier?
24
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.infoCuidados: Digito significativo
Previsão para Temperatura amanha: 21,2340983903498409384°C
Regra: digitos significativos dos dados da entrada
Aqui: Medições de temperature que entram como condição decontorno na modelagem. Medições tem muitas vezes umacasa decimal. Mas ha incertezas na simulação, então 21°C
25
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
by Lale Yurttas, Texas A&M University
Cuidados: Digito significativo
Number of significant figures indicates precision. Significant digits of anumber are those that can be used with confidence, e.g., the numberof certain digits plus one estimated digit.
53,800 How many significant figures?
5.38 x 104 3
5.380 x 104 4
5.3800 x 104 5
Zeros are sometimes used to locate the decimal point not significantfigures.
0.00001753 4
0.0001753 4
0.001753 4
26
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
by Lale Yurttas, Texas A&M University
Accuracy. How close is a computed or measured
value to the true value
Precision (or reproducibility). How close is a
computed or measured value to previously
computed or measured values.
Inaccuracy (or bias). A systematic deviation from
the actual value.
Imprecision (or uncertainty). Magnitude of
scatter.
27
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
by Lale Yurttas, Texas A&M University
Error Definitions
True Value = Approximation + Error
Et = True value – Approximation (+/-)
valuetrue
error true error relative fractional True =
%100 valuetrue
error true error, relativepercent True
t=
True error
28
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
by Lale Yurttas, Texas A&M University
For numerical methods, the true value will be known
only when we deal with functions that can be
solved analytically (simple systems). In real world
applications, we usually not know the answer a
priori. Then
Iterative approach, example Newton’s method
%100ionApproximat
error eApproximat
a=
%100ionapproximatCurrent
ionapproximat Previous -ion approximatCurrent
a=
(+ / -)
29
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
by Lale Yurttas, Texas A&M University
Use absolute value.
Computations are repeated until stopping criterion issatisfied.
If the following criterion is met
you can be sure that the result is correct to at leastn significant figures.
sa Pre-specified % tolerance based on the
knowledge of your solution
)%10 (0.5 n)-(2
s =
30
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
by Lale Yurttas, Texas A&M University
Round-off Errors
Numbers such as p, e, or cannot be expressed
by a fixed number of significant figures.
Computers use a base-2 representation, they
cannot precisely represent certain exact base-10
numbers.
Fractional quantities are typically represented in
computer using “floating point” form, e.g.,
7
em.bexponent
Base of the number system usedmantissa
Integer part
31
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
by Lale Yurttas, Texas A&M University
32
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
by Lale Yurttas, Texas A&M
University
33
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
https://en.wikipedia.org/wiki/Double-precision_floating-point_format
https://upload.wikimedia.org/wikibooks/de/9/9a/32bit_float.png
32 bit e 64 bit
Double-precision floating-point format is a computer number
format which occupies 8 bytes (64 bits) in computer memory and
represents a wide, dynamic range of values by using a floating point.
Computers with 32-bit storage locations use two memory locations to store
a 64-bit double-precision number; each storage location holds a single-
precision number. Double-precision floating-point format usually refers
to binary64, as specified by the IEEE 754 standard, not to the 64-bit
decimal format decimal64.
34
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
by Lale Yurttas, Texas A&M University
156.78 0.15678x103 in a floating
point base-10 system
Suppose only 4
decimal places to be stored
Normalized to remove the leading zeroes. Multiply the
mantissa by 10 and lower the exponent by 1
0.2941 x 10-1
12
1100294.0
029411765.034
1
0
=
m
Additional significant figure is retained
35
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
by Lale Yurttas, Texas A&M University
Therefore
for a base-10 system 0.1 ≤m<1
for a base-2 system 0.5 ≤m<1
Floating point representation allows bothfractions and very large numbers to beexpressed on the computer. However,▪ Floating point numbers take up more room.
▪ Take longer to process than integer numbers.
▪ Round-off errors are introduced because mantissaholds only a finite number of significant figures.
11
mb
36
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
by Lale Yurttas, Texas A&M
University
Chopping
Example:
p=3.14159265358 to be stored on a base-10 system carrying 7 significantdigits.
p=3.141592 chopping error t=0.00000065
If rounded
p=3.141593 t=0.00000035
Some machines use chopping, because rounding adds to the computationaloverhead. Since number of significant figures is large enough, resultingchopping error is negligible.
37
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab, Octave
delta = 1/100 %0.01
S = 0
for k = 1 : 10000
S = S + delta;
end
• O que faz?
• Resultado analitico deve ser 100
Format long
S
delta = 1/128 % 0.0078125
S = 0
for k = 1 : 12800
S = S + delta;
end
Fonte: Calculus in Context. The Five College Calculus Project. James Callahan. Kenneth Hoffman. David Cox. Donal O’Shea. Harriet Pollatsek. Lester Senechal.
http://math.smith.edu/~callahan/intromine.html
38
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab, Octave
https://www.exploringbinary.com/binary-converter/
39
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab, Octave, FreeMat
• Exemplos feitos com MatLab, mas comentários se for diferente com Octave
• Abrir janeles e já abre ajuda
• Muita ajuda online!
• linha de comando: >>
• help
• calculo simples: >> 2+3/4*5
• ans =
• 5.7500
• adicionar ";" → sem output
• >> 2+3/4*5;
• prioridade de operações: (),^,*/,+-
• variáveis
• não necessário em declarar, geralmente "double precision"
• legal: MinhaVariavel, nOme_Variavel
• ilegal: var-vec, §var
40
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Tipos numéricos
• Numero -345
• Numero real 0.00001234503 (separação com ponto!!!)
• anotação cientifico: 1.2345e-5
• Numero complexo -2.345+i*3.4654
• ou complex(-2.345, 3.4654)
• visualização: compass(ans)
• NaN ("Not a Number"): 0/0
• Formato de saída:
• >> x = 1.23456789
• >> x = 1.2346
• >> format long
• >> x = 1.2345678900000
• Variáveis predefinidos
• pi
• eps
41
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Funções:
• trigonometria: sin, cos, tan, ...
• exponenciais: exp, log, sqrt, ...
• numeros complexas: abs, imag, real, angle,conj, ....
• round, mod, sign, .....
Scripts:
• m-files
• gravar todo input:
• >> diary (myfile)
• >> diary on / off
• salvar variáveis
• save (myfile) (% salvar em binario *.mat)
• load (myfile)
• comentario com %
42
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Matrizes e vetores:
• MatLab e Octave trabalham com matrizes (campos 2D)
• Escalar: elemento 1x1
• Vetor de linha: matriz com uma linha (1xN)
• Vetor de coluna: matriz com uma coluna (Nx1)
• dimensão: size(x), length(x)
• separação com espaço ou virgula
• >> vetor=[1 2, 4, 2^2]
• >> vetor=
• >> 1 2 4 4
• >> size (vetor)
• >> ans=
• >> 1 4
43
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Operações com matrizes e vetores:
• adição com vetores de comprimento igual: +/-
• multiplicação com escalares e vetores: *
• >> vetorA=[1 3 5]; vetorB=[1 1 4];
• vetorA - 2*vetorB
• -1 1 -3
• Operações por elemento: .* ./ .^
• >> vetorA=[1 3 5]; vetorB=[1 1 4];
• vetorA .* vetorB
• 1 3 20
44
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Vetores de coluna:
• analógico a vetores de linha, mas separado por ;
• >> vetorC=[1; 4; sqrt(9)]
• 1
• 4
• 3
• >> size(vetorC)
• 3 1
• transpose
• >> vetorC´
• >> vetorA=[1 3 5]; vetorB=[1; 3; sart(5)];
• >> vetorA+2*vetorB´
• ans=
• 3 9 9.4721
45
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Vetores:
• adicionar elementos
• >> sum (vetorC)
• multiplicar elementos
• >> prod(vetorC)
• elementos max/min
• >> max(vetorC)
• >> min(vetorC)
46
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Funções:
• index=find(condicao)
• exemplo:
• x=(0:100)/100;
• y=sin(2*pi*x).^2.*exp(3*x);
• index=find(y>=0.9*max(y));
• plot(x,y,'k-o'); hold on;
• plot(x(index),y(index),'ro');
• plot([0 1],[1 1]*.9*max(y),'k--')
47
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Matrizes:
• entrada:
• >> matrizA=[1 3 4; 5 6 7]
• >> 1 3 4
• >> 5 6 7
• >> size(matrizA)
• >> 2 3
• matrizes com constantes: ones, zeros
• matrizes randomicas: rand
• matrizes com a diagonal de ums: eye
• matrizes com a diagonal definida: diag
• >>matrizB=ones(3,2)*5
• >>matrizC=diag([1 2 3])
• >> matrizD=[matrizB matrizC]
• >> matrizE=eye(3)
48
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Operador ":"
• >> 1:2:10
• >> ans= 1 3 5 7 9
• >> vetorX=(1:2:19)
Indizes
• matrizA(i,j)
• matrizA(:,j)
• matrizA(3:6,j)
Condições
• if .... elseif .... else .... end
• <, <=, >, >=, ==
Loops
• vetorA=[1 5 13];
• for index=1:length(vetorA);
• disp(vetor(index))
• end
49
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
50
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Scripts e functions
• programa sem parametros: script
• programa com transferencia de parametros: function
• function [output_params]=nomedafuncao(input_params]
• end
Exemplo:
• arquivo: desviopadrao.m
• function [sigma]= desviopadrao(vetor)
• % desvio padrao de um vetor
• media=sum(vetor)/length(vetor);
• sigma= sqrt(sum((vetor-media).^2)/length(vetor));
• end
• Execucao:
• >> myvector=[4 2.5 6.1 -8 -2];
• >> sigma=desviopadrao(myvector)
• >> sigma = 5.0221
51
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Visualização
• plot(x,y)
• plot (x1,y1,x2,y2,...)
• plot(x1,y1); hold on; plot(x2,y2);
• handle:
• h=plot(x,y)
• get(h)
• set(h,'caracteristica',valor)
• exemplo: set(h,'color','r','LineStyle','--')
• print -dpng mygraphicfile.png ou
• print -djpg mygraphicfile.jpg
52
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Texto
• alfa='colocar textos (strings)'
• beta='e usando textos'
• zeta=[alfa beta]
53
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Exemplo
• modificar dados para poder abrir
• "load" arquivo de dados
• define vetores de velocidades e tempo
• visualize resultado
• media, min/max, ....
54
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Exemplo (refazer em casa)
• Reservatório
• function: Densidade (buscar equação de UNESCO no internet)
55
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Calculo simbólico
• Matlab: https://www.mathworks.com/help/symbolic/index.html
• Pacote adicional
• Devagar, Matlab não foi otimizado para isto
• Octave não tem implementado (ou fase de teste)
• Python: http://www.sympy.org/en/index.html
• Programas comerciais para isto
• Mathematica (base do http://www.wolframalpha.com/, uso gratuito na pagina)
• Maple
• Programa free
• Maxima
56
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
• Matlab: https://www.mathworks.com/help/symbolic/index.html
• Pacote adicional
• Devagar, Matlab não foi otimizado para isto
• Octave não tem implementado (ou fase de teste)
• Python: http://www.sympy.org/en/index.html
• Programas comerciais para isto
• Mathematica (base do http://www.wolframalpha.com/, uso gratuito na pagina)
• Maple
• Programa free
• Maxima
Calculo simbólico
57
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
Calculo simbólico
Maxima
• Open
• Help
• integrate (x/sqrt(b^2 -x^2),x);
Wolfram alpha
• Open
• Help
• integrate x/sqrt(b^2 -x^2) dx
Use o programa da sua preferencia
58
Tobias Bleninger
Universidade Federal do Paraná (UFPR)
Departamento de Engenharia Ambiental(DEA)
www.bleninger.info
MatLab e Octave
Referencias
• Alfio Quarteroni, Fausto Saleri, 2007, Cálculo Científico com
MATLAB e Octave (traduzido para português por: Adélia
Sequeira). Springer, Italia, Milano ou "Scientific Computing with
MATLAB and Octave, 2010"
• Ekkehard O. Holzbecher, Environmental modeling using
MATLAB, 2007, Springer
• S. R. Otto, St. Andrews J. P. Denier, An Introduction to
Programming and Numerical Methods in MATLAB, The
University of Adelaide School of Mathematical Sciences