63
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Embed Size (px)

Citation preview

Page 1: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007

Programação para as Ciências Experimentais

2006/7

Teórica 7

Page 2: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 2

Aviso: P1 e P5

Aula prática extra na sexta, dia 4-5, das 8:00 às 11:00.

Page 3: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 3

Na aula de hoje...

Integração de funções de uma variável. Integração de equações diferenciais. Interpolação linear Ajuste de modelos a dados

experimentais

Page 4: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 4

Integração numérica.

y = exp(-x3)

Page 5: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 5

Integração numérica

Aproximar a função considerando cada rectângulo

dx*y

Page 6: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 6

Integração numérica

Quanto menor dx mais preciso dx*y

Page 7: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 7

Integração numérica

function int=intexpxcubo(dx,x0,x1);

int=0;

for x=x0:dx:x1

int=int+dx*exp(-x^3);

endfor

endfunction

Page 8: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 8

Integração numérica

octave:113> intexpxcubo(0.2,0,2)ans = 0.99296octave:114> intexpxcubo(0.2,0,2)ans = 0.99296octave:115> intexpxcubo(0.02,0,2)ans = 0.90296octave:116> intexpxcubo(0.002,0,2)ans = 0.89395octave:117> intexpxcubo(0.0002,0,2)ans = 0.89305

Page 9: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 9

Integração numérica

Aproximar melhor pela regra do trapézio

Page 10: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 10

Integração numérica

Àrea: base*(a+b)/2

a

b

base

Page 11: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 11

Integração numérica

Implementação:• Método ingénuo: calcular os dois y em cada

iteração.

• Método mais inteligente: calcular o y2 e guardá-lo no y1 para a próxima

y1 y2

Page 12: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 12

Integração numérica

function int=intexcubot(dx,x0,x1)int=0;y1=exp(-x0^3);for x=x0+dx:dx:x1

y2=exp(-x^3);int=int+dx*(y1+y2)/2;y1=y2;

endforendfunction

Page 13: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 13

Integração numérica

octave:180> intexcubot(0.2,0,2)ans = 0.89293octave:181> intexpxcubo(0.2,0,2)ans = 0.99296octave:182> intexcubot(0.002,0,2)ans = 0.89295octave:183> intexpxcubo(0.002,0,2)ans = 0.89395

Page 14: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 14

Integração numérica

Implementação mais genérica:• Separar a função que calcula o y da função

que integra.

Page 15: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 15

Integração numérica

Implementação mais genérica:• Cálculo y em função de x

• function y = nome(x)

function y=expxcubo(x)

y=exp(-x.^3);

endfunction

Page 16: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 16

Integração numérica Implementação mais genérica:

• Integração, chamando a função com feval

function int=trapezio(funcao,dx,x0,x1)int=0;y1=feval(funcao,x0);for x=x0+dx:dx:x1

y2=feval(funcao,x);int=int+dx*(y1+y2)/2;y1=y2;

endforendfunction

Page 17: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 17

Integração numérica

Implementação mais genérica:

octave:185> trapezio("expxcubo",0.2,0,2)

ans = 0.89293

Nota: “expxcubo” em vez de expxcubo!

Page 18: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 18

E se não podemos traçar a função?

Exemplo:• A + B C

• d[C]/dt = K [A] [B]

• d[A]/dt = -K [A] [B]

• d[B]/dt = -K [A] [B]

Não podemos calcular a área geometricamente pelo gráfico da função.

Page 19: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 19

E se não podemos traçar a função?

Exemplo:• A + B C

• d[C]/dt = K [A] [B]

• d[A]/dt = -K [A] [B]

• d[B]/dt = -K [A] [B]

Mas podemos usar um método semelhante: método de Euler

Page 20: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 20

Integrar um sistema de equações diferenciais.

Inicio, t0

• [A]0 [B]0 [C]0

Passo 1

• Usar valores em t0 para calcular derivada em t0

• Usar derivada para extrapolar t1:

• [A]1 = [A]0 + d[A]/dt * passo

Page 21: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 21

Integrar um sistema de equações diferenciais.

Inicio, t0

• [A]0 [B]0 [C]0

Passo 1

• Usar valores em t0 para calcular derivada em t0

• Usar derivada para extrapolar t1:

• [A]1 = [A]0 + d[A]/dt * passo

Próximo valor

Page 22: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 22

Integrar um sistema de equações diferenciais.

Inicio, t0

• [A]0 [B]0 [C]0

Passo 1

• Usar valores em t0 para calcular derivada em t0

• Usar derivada para extrapolar t1:

• [A]1 = [A]0 + d[A]/dt * passo

Valor anterior

Page 23: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 23

Integrar um sistema de equações diferenciais.

Inicio, t0

• [A]0 [B]0 [C]0

Passo 1

• Usar valores em t0 para calcular derivada em t0

• Usar derivada para extrapolar t1:

• [A]1 = [A]0 + d[A]/dt * passo

Derivada vezes passo.

Page 24: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 24

Integrar um sistema de equações diferenciais.function tcs=reacabc(cis,dt,tmax,k)tcs=[0,cis]; %valores em t0for t=0:dt:tmax

abk=cis(1)*cis(2)*k*dt; calcular a derivada% A e Bcis(1)=cis(1)-abk;cis(2)=cis(2)-abk;% Ccis(3)=cis(3)+abk; actualizar concentrações% guarda o novo pontotcs=[tcs;t,cis];

endforendfunction

Page 25: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 25

Integrar um sistema de equações diferenciais.

cis=[1,1.5,0]

k=1;

pontos=reacabc(cis,0.1,10,k);

hold off

axis

plot(pontos(:,1),pontos(:,2:columns(pontos)))

Plot: primeira coluna é o tempo, as restantes colunas são as concentrações

Page 26: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 26

Integrar um sistema de equações diferenciais.

Page 27: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 27

Generalizando: cinética com método de Euler

Separar a função que avalia a derivada. Estequiometria Exemplo

• A + B C

• Reacção reversível: kd e ki

• Derivada = [C]ki - [A][B]kd

Page 28: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 28

Generalizando: cinética com método de Euler

Separar a função que avalia a derivada. Estequiometria Caso geral

• Derivada = kd*reagentesesteq - ki*produtosesteq

• Alterar as concentrações• cs=cs+derivada*esteq

• Nota: reagentes têm estequiometria negativa

Page 29: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 29

Cinética com método de Euler

function tconcs=cinetica(esteq,cis,kd,ki,dt,tmax)rs=find(esteq<0);ps=find(esteq>0);tconcs=[0,cis];for t=0:dt:tmax

dps=prod(cis(ps).^esteq(ps))*ki;drs=prod(cis(rs).^-esteq(rs))*kd;deriv=(drs-dps)*dt;cis=cis+deriv*esteq;

tconcs=[tconcs;t,cis];endforendfunction

Page 30: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 30

Cinética com método de Euler

function tconcs=cinetica(esteq,cis,kd,ki,dt,tmax)rs=find(esteq<0);ps=find(esteq>0);tconcs=[0,cis];for t=0:dt:tmax

dps=prod(cis(ps).^esteq(ps))*ki;drs=prod(cis(rs).^-esteq(rs))*kd;deriv=(drs-dps)*dt;cis=cis+deriv*esteq;

tconcs=[tconcs;t,cis];endforendfunction

Encontrar os índices dos reagentes e produtos na estequiometria

Page 31: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 31

Cinética com método de Euler

esteq>0 Devolve vector 0s e 1soctave:110> vector=[1,2,-3,0,-4]vector = 1 2 -3 0 -4octave:111> vector>0ans = 1 1 0 0 0

Page 32: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 32

Cinética com método de Euler

find(esteq>0)Índices dos não 0

octave:113> find([0,1,0,-2,0,0.5])

ans =

2 4 6

Page 33: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 33

Cinética com método de Euler

function tconcs=cinetica(esteq,cis,kd,ki,dt,tmax)rs=find(esteq<0);ps=find(esteq>0);tconcs=[0,cis];for t=0:dt:tmax

dps=prod(cis(ps).^esteq(ps))*ki;drs=prod(cis(rs).^-esteq(rs))*kd;deriv=(drs-dps)*dt;cis=cis+deriv*esteq;

tconcs=[tconcs;t,cis];endforendfunction

Encontrar os índices dos reagentes e produtos na estequiometria

Page 34: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 34

Cinética com método de Euler

function tconcs=cinetica(esteq,cis,kd,ki,dt,tmax)rs=find(esteq<0);ps=find(esteq>0);tconcs=[0,cis];for t=0:dt:tmax

dps=prod(cis(ps).^esteq(ps))*ki;drs=prod(cis(rs).^-esteq(rs))*kd;deriv=(drs-dps)*dt;cis=cis+deriv*esteq;

tconcs=[tconcs;t,cis];endforendfunction

Guardar valores para t0

Page 35: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 35

Cinética com método de Euler

function tconcs=cinetica(esteq,cis,kd,ki,dt,tmax)rs=find(esteq<0);ps=find(esteq>0);tconcs=[0,cis];for t=0:dt:tmax

dps=prod(cis(ps).^esteq(ps))*ki;drs=prod(cis(rs).^-esteq(rs))*kd;deriv=(drs-dps)*dt;cis=cis+deriv*esteq;

tconcs=[tconcs;t,cis];endforendfunction

Contribuição dos produtos e reagentes para a derivada (reacção inversa e directa)

Page 36: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 36

Cinética com método de Euler

function tconcs=cinetica(esteq,cis,kd,ki,dt,tmax)rs=find(esteq<0);ps=find(esteq>0);tconcs=[0,cis];for t=0:dt:tmax

dps=prod(cis(ps).^esteq(ps))*ki;drs=prod(cis(rs).^-esteq(rs))*kd;deriv=(drs-dps)*dt;cis=cis+deriv*esteq;

tconcs=[tconcs;t,cis];endforendfunction

Calcular derivada e actualizar concentrações

Page 37: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 37

Cinética com método de Euler

function tconcs=cinetica(esteq,cis,kd,ki,dt,tmax)rs=find(esteq<0);ps=find(esteq>0);tconcs=[0,cis];for t=0:dt:tmax

dps=prod(cis(ps).^esteq(ps))*ki;drs=prod(cis(rs).^-esteq(rs))*kd;deriv=(drs-dps)*dt;cis=cis+deriv*esteq;

tconcs=[tconcs;t,cis];endforendfunction

Acrescentar à matriz o tempo t e as concentrações numa nova linha.

Page 38: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 38

Cinética com método de Euler

Reacção do tipo• A + B C

kd=1; constante directa

ki=0.5; constante inversa

cis=[1,2,0]; concentrações t0

esteq=[-1,-1,1] reacção

pontos=cinetica(esteq,cis,kd,ki,0.1,5);

Page 39: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 39

Cinética com método de Euler

Reacção do tipo• A + B C

hold off

axiseixo automático

plot(pontos(:,1),pontos(:,2:columns(pontos)))

Page 40: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 40

Cinética com método de Euler

Page 41: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 41

Sistema de reacções.

Mesma abordagem, mas estequiometria é matriz (uma linha por reacção) e cada constante cinética um vector (um valor por reacção)

Page 42: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 42

Sistema de reacções.

Alterações:• Dentro do ciclo for com os passos é preciso dois

ciclos, cada um percorrendo todas as reacções.

• O primeiro calcula os índices dos reagentes e produtos e o valor da derivada para cada reacção.

• O segundo ciclo actualiza as concentrações para todas as reacções considerando todas as derivadas calculadas.

É preciso dois ciclos internos para processar todas as reacções em simultâneo.

Page 43: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 43

Ajuste de um modelo

Dados Experimentais Simulação

Discrepância

Minimizar

Page 44: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 44

Ajuste de um modelo

Dados Experimentais Simulação

Discrepância

Minimizarminfn

cinetica

Page 45: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 45

Ajuste de um modelo

Dados: matriz com tempo na primeira coluna e concentração (ou concentrações) na segunda.

Função erro compara cada vector com o correspondente na simulação.

Mas os valores de t podem ser diferentes. É preciso interpolar.

Primeiro, função interpol

Page 46: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 46

Interpolação linear

Função interpol Recebe: uma matriz x, y, em colunas, e um

vector x1 com os pontos a interpolar. Devolve: vector y1 com os valores em x1

interpolados de x, y.

Page 47: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 47

Interpolação linear

xix1 x2

y1

y2

Page 48: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 48

Interpolação linear

yi = (y1*(x2-xi) + y2*(xi-x1)) / (x2 – x1)

xix1 x2

y1

y2

yi

Page 49: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 49

Interpolação linearfunction yi=interpol(matxy,xi)yi=0*xi;for f=1:length(xi)

for g=2:rows(matxy)if matxy(g,1)>=xi(f);

x1 = matxy(g-1,1);x2 = matxy(g,1);y1 = matxy(g-1,2);y2 = matxy(g,2);d = x2-x1;yi(f) = (y1*(x2-xi(f))+y2*(xi(f)-x1))/d;break

endifendfor

endfor

Page 50: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 50

Interpolação linearfunction yi=interpol(matxy,xi)yi=0*xi;for f=1:length(xi)

for g=2:rows(matxy)if matxy(g,1)>=xi(f);

x1 = matxy(g-1,1);x2 = matxy(g,1);y1 = matxy(g-1,2);y2 = matxy(g,2);d = x2-x1;yi(f) = (y1*(x2-xi(f))+y2*(xi(f)-x1))/d;break

endifendfor

endfor

Cria vector yi, dos valores interpolados

Page 51: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 51

Interpolação linearfunction yi=interpol(matxy,xi)yi=0*xi;for f=1:length(xi)

for g=2:rows(matxy)if matxy(g,1)>=xi(f);

x1 = matxy(g-1,1);x2 = matxy(g,1);y1 = matxy(g-1,2);y2 = matxy(g,2);d = x2-x1;yi(f) = (y1*(x2-xi(f))+y2*(xi(f)-x1))/d;break

endifendfor

endfor

Para cada xi onde interpolar percorre os x da matriz até encontrar o primeiro que ultrapassa xi. Começa do 2º elemento porque precisa do anterior para interpolar.

Page 52: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 52

Interpolação linearfunction yi=interpol(matxy,xi)yi=0*xi;for f=1:length(xi)

for g=2:rows(matxy)if matxy(g,1)>=xi(f);

x1 = matxy(g-1,1);x2 = matxy(g,1);y1 = matxy(g-1,2);y2 = matxy(g,2);d = x2-x1;yi(f) = (y1*(x2-xi(f))+y2*(xi(f)-x1))/d;break

endifendfor

endfor

Calcula a interpolação e termina o ciclo interno (g).

Page 53: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 53

Interpolação linear

xy=[[1:10]',[2:2:20]'];

xi=[2.5:2:8];

yi=interpol(xy,xi)

hold off

plot(xy(:,1), xy(:,2))

hold on

plot(xi,yi,"ob;;");

Page 54: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 54

Interpolação linear

Page 55: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 55

Medir a discrepância (erro)

Reacção• 2A B

• Só kd

Função erro mede o erro quadrático médio, que é a média dos quadrados das diferenças entre os vectores

Page 56: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 56

Medir a discrepância (erro)

Função erro mede o erro quadrático: soma dos quadrados das diferenças.

Page 57: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 57

Medir a discrepância (erro)

Exemplo:• 2A B

• Só kd (irreversível) Função erro2AB mede o erro quadrático

entre os dados experimentais e o cálculo para esta reacção.

A função inclui a concentração inicial e reacção

Page 58: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 58

Medir a discrepância (2A B)

function r=erro2AB(vals,k)esteq=[-2,1]; define a reacçãocis=[1,0]; e as concentrações

aqui falta calcular os valores previstos pelo modelo para este k e comparar com o vector vals para calcular o erro, interpolando os valores

endfunction

Page 59: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 59

Ajustar o modelo (2A B)

Basta usar a minfn para calcular o k que minimiza o erro

Exemplo:• vals=[0.5,0.5;2,0.2;6,0.07;9,0.055];

• k=minfn("erro2AB",vals,0,1,2,0.001)• k = 0.97843

Page 60: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 60

Ajustar o modelo (2A B)

Comparar o modelo com os dadosesteq=[-2,1];

cis=[1,0];

xy=cinetica(esteq,cis,k,0,0.01,10);

hold off

plot(xy(:,1),xy(:,2))

hold on

plot(vals(:,1),vals(:,2),"ob;;");

Page 61: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 61

Ajustar o modelo (2A B)

Page 62: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 62

Ajustar um modelo

Abordagem genérica• Simular dados previstos para um conjunto

de parâmetros

• Minimizar a discrepância entre os valores previstos e observados alterando os parâmetros.

• Na prática pode ser difícil...

Page 63: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 7

Ludwig Krippahl, 2007 63

Dúvidas