Curso MATLAB 6 - PowerPoint PPT Presentation

About This Presentation
Title:

Curso MATLAB 6

Description:

Curso MATLAB 6 Instrutor: Marcelo Escobar M todos N mericos para Engenheiros M todos Num ricos lgebra Matricial: Conceitos Importantes: Sistemas Lineares ... – PowerPoint PPT presentation

Number of Views:92
Avg rating:3.0/5.0
Slides: 49
Provided by: rhoden
Category:

less

Transcript and Presenter's Notes

Title: Curso MATLAB 6


1
Curso MATLAB 6
Instrutor Marcelo Escobar Métodos Númericos para
Engenheiros
2
Métodos Numéricos
Álgebra Matricial Sistemas Lineares Sistemas não
lineares Equações Integrais Equações
Diferenciais Otimização Manipulação Simbólica
3
Álgebra Matricial
Tópicos de Ajuda gtgthelp matfun gtgthelp
elmat gtgthelp sparfun Multiplicação Matricial
Produto Interno Dadas as Matrizes A e B
A B C n x m
m x p n x p gtgt AB Divisão
Matricial Produto Externo B C/A gtgtC\A
4
Conceitos Importantes
Conceitos Importantes Matriz Transposta BAT
se b(j,i)A(i,j) Matriz Identidade I(i,j)1
se ij e I(i,j)0 se ij Matriz Inversa se
BAI, B é a inversa da matriz A Matriz
Singular se det(A)0, A é singular Matriz
Simétrica se A AT Diagonal Principal da
Matriz A(i,i) para i1n Matriz Triangular
Superior A(i,j)0 se igtj Matriz Triangular
Inferior A(i,j)0 se iltj Ortogonalidade de
Vetores se ab0 a 1 x n e b 1 x n a e b
são ditos ortogonais.

5
Sistemas Lineares
Sistemas Lineares Forma Geral Axb
Classificação Possível e Determinado se
det(A)0 Possível e Indeterminado se det(A)0 e
todos det(A(,i)b)0 i1n Impossível se
det(A)0 e pelo menos um det(A(,i)b)0
i1n Posto de uma Matriz Número de Equações
Independentes gtgt rank(A) Valores
Característicos A-?IA para ?0 gtgteig(A) Vet
ores Característicos A (?I) (?I)
V gtgtlambda Veig(A)

6
Métodos Diretos
Métodos de Resolução de Sistemas Lineares Forma
mais simples no Matlab xA\b Mínimos Quadrados
xlsqlin(A,b) Métodos Diretos (
Principais) Eliminação Gaussiana Fatorização
gtgthelp lu Decomposição LU gtgthelp qr
Decomposição Ortogonal Triangular gtgthelp svd
Decomposição em Valores Singulares gtgthelp
schur Decomposição Schur Ex A L U
L y b U x

7
Exemplo Método de Gauss
Exemplo Linha1linha1/A(1,1) Linha2linha2-A(2,1
)linha1 Linha3linha3-A(3,1)linha1
Linha2linha2/A(2,2) Linha1linha1-A(1,2)linha1 L
inha3linha3-A(3,2)linha3
Linha3linha3/A(3,3) Linha1linha1-A(1,3)linha1 L
inha2linha2-A(2,3)linha2
x1-1 x22 x30
8
Exemplo Método de Crammer
X1det(Ax)/det(A) X2det(Ay)/det(A) X3det(Az)
/det(A)
Linha1b? Ax Linha2b?Ay Linha3b?Az
x1-1 x22 x30
9
Métodos Indiretos
Métodos Indiretos ( Principais) Iterações de
Jacobi onde M D-1 B, c D-1 b, B D - A.
Sendo D a diagonal da matriz A. O método escrito
para cada elemento do vetor x apresenta a
seguinte forma

10
Métodos Indiretos
Iterações de Gauss-Seidel Este método é uma
modificação do método de Jacobi, cujo princípio é
de usar os novos valores de x tão logo eles
estejam disponíveis. Neste caso a matriz M (D
- L)-1 U e o vetor c (D - L)-1 b, onde D, L e
U são as matrizes diagonal, triangular inferior e
triangular superior, respectivamente, extraídas
da matriz A D - L - U. O método escrito para
cada elemento do vetor x apresenta a seguinte
forma

11
Sistemas Esparsos
Sistemas Esparsos vários elementos nulos gtgthelp
issparse teste de esparsidade gtgthelp sparse
conversão de matriz cheia para matriz
esparsa gtgthelp full conversão de
matriz esparsa para matriz cheia Geração de
Matrizes Esparsas gtgthelp sprand geração de
matriz esparsa aleatória gtgthelp sparndsym
geração de matriz esparsa simétrica
aleatória Métodos para Sistemas Esparsos gtgt
help pcg Conjugate Gradiente gtgt help cgs
Conjugate Gradient Squared (CGS) gtgt help bicg
BiConjugate Gradient (BiCG) gtgthelp bicgstab
BiConjugate Gradient Stabilized (BiCGSTAB) gtgthelp
gmres Generalized Minimum Residual (GMRES) gtgthelp
qmr Quasi-Minimal Residual without lookahead
(QMR)


12
Dicas Sistemas Lineares
Sistemas Sub-Determinados Numero de Equações
(ne) menor que o numero de incógnitas(ni) gtgtA\b
assume (ni-ne) variáveis nulas Sistemas
Sobre-Determinados Numero de Equações (ne)
Maior que o numero de incógnitas(ni) gtgtA\b
utiliza mínimos quadrados para minimizar os
resíduos Residuo(Ax-b) Conceito de
Norma gtgthelp norm A norma é utilizada como
critério de parada em loops multivariaveis.


13
Equações Transcendentais
Equações sem solução analítica Ex f(x)
xexp(x/2) qual x / f(x)0? Resolução no
matlab gtgthelp optim gtgthelp fzero gtgthelp
fsolve Para utilizar as funções deve-se criar
uma função com a equação function
ffuncao_teste(x) fxexp(x/2)
chute
inicial gtgtfsolve(funcao_teste, 0) ou
gtgt fzero(funcao_teste, 0)
14
Sistemas Não Lineares
Para resolver sistemas de equações function
ffuncao_teste2(x) x1x(1)x2x(2) f1x1x2-6 f2
x2x1-5 Ff1f2
chute inicial gtgtfsolve(fun
cao_teste2, 3 4)
15
Métodos para Sistemas Não Lineares
Método de Substituição Sucessiva O processo
iterativo é aplicado à equação algébrica na forma
modificada da equação , que pode ser obtida por
um rearranjo interno desta equação ou pela
simples adição de x em ambos os lados da
igualdade.
16
Métodos para Sistemas Não Lineares
Método da Bisseção
Os pontos iniciais devem satisfazer a condição
onde a função sign(f(x)) fornece o sinal da
função f(x).
17
Métodos para Sistemas Não Lineares
Método de Newton Raphson O processo iterativo é
aplicado diretamente sobre a equação algébrica
na forma
18
Newton para Sistemas não Lineares
Para sistemas não lineares
Onde
19
Métodos para Sistemas Não Lineares
Método de Newton Secante O método de
Newton-secante baseia-se na aproximação da
derivada da função f(x), que aparece no método
clássico de Newton, pela equação de diferenças à
esquerda
20
Dicas-Sistemas não lineares
Uma vez definida a função e criado o arquivo
contendo a mesma, Podemos executar a subrotina
criada, lembrando que a solução numérica é
sujeita a uma tolerância Se f(x)gttol, x é
solução da equação Para sistemas multivariaveis
iterativos devemos usar a norma norma(xk1
xk)gttol Ao usar os métodos do matlab podemos
criar um vetor de opções opoptimset(metodo)
Op(Propriedade1, valor, Propriedade2,valor)
21
Equações Integrais
gtgthelp quad Método da quadratura de
Simpson gtgthelp quadl Método da quadratura de
Lobato gtgthelp quad8 Método de Alta
ordem gtgthelp trapz Método Trapezoidal gtgthelp
bdlquad Método para Integrais Duplas
22
Métodos Integrais
Regra dos Trapézios Regra de Simpson Ex
integral do sin(x)/(x1) de 0 a 3.14 function
ffuncao_01(x) fsin(x)./(x1) gtgt
quad(funcao_01,0,3.14)
23
Equações Diferenciais
Aproximação com ?x pequeno gtgthelp diff
Utilizando os métodos integrais gtgthelp ode 23
baixa ordem gtgthelp ode23s baixa ordem
rígido gtgthelp ode15s ordem moderada
rígido gtgthelp ode 45 alta ordem gtgthelp ode45s
alta ordem rígido gtgthelp odeset set de
propriedades dos métodos
24
Exemplo Equações Diferenciais
Simples
y x
t Function dy df(t,y) dy-0.1(y-10) gtgtt,yode2
3(df, 0 60 , 100) Ou gtgtode23(df, 0 60 ,
100) Mostra a evolução da Integração
25
Exemplo Equações Diferenciais
Sistema function dydt vdp1(t,y) dydt
y(2) (1-y(1)2)y(2)-y(1) gtgtode23(vdp1,0
20,2 0) Ou gtgtt,y ode23(vdp1,0 20,2
0) gtgtxy(,1) gtgtuy(,2)
26
Equações Diferenciais
Problemas de Valor inicial no Matlab t,y
odexx(func,tspan,yo) Yo-valor inicial Tspan-
valor inicial e final de tempo Func-função a ser
integrada

27
Método de Euler Implicito
Condicoes Iniciais t0 f(0)fo
Passo de Integracao
28
Método de Euler Implícito
Para sistemas
Sistema de Equações Algébricas que devem ser
resolvidas simultaneamente
29
Método de Runge Kutta Implicito
30
Métodos Explícitos
São os métodos implicitos só que a função g usa o
valor de t e y no novo ponto. Exemplo Euler
explicito Os métodos explícitos são mais
estavéis, no entanto se a a função g é não linear
o calculo requer a solução de um sistema não
linear a cada iteração. Para facilitar podemos
usar o método preditor corretor 1-usamos o
método explicito para calcular o novo
ponto 2-usamos o método implícito para
corrigir.

31
Dicas Equações Diferenciais

Estabilidade Os métodos explícitos requerem
passos pequenos para manter a estabilidade, o
menor passo que pode ser dado pode ser calculado
pela expressão Onde p depende do método ( p2
para Euler) e lambda é o valor caracteristico do
sistema. Os valores característicos , são os
valores que multiplicam a variável t.

32
Dicas Equações Diferenciais

O passo é limitado pela dinâmica mais rápida do
sistema, uma forma de medir essa limitação é dada
pelo conceito de rigidez Rigidez

33
Problemas de Contorno
Os métodos vistos para problemas de valor
inicial, podem ser aplicados a problemas de
contorno substituindo por exemplo t por x.O único
problema é que para equações de ordem superior
esses métodos requerem como entrada a derivada no
primeiro ponto de x o que em alguns casos não é
conhecido. Para contornar esse tipo de problema
podemos chutar valores para a derivada e
verificar se a solução satisfaz o outro
ponto.Shooting Method Ex
C.C. Y1 para x1 e x2
function Fteste(x,y)
F(1)y(2)

F(2)6y(1)/x2 gtgtchute-1.5 gtgt
x,yode45(teste,1 2,1 chute) Interpolando
para x2 y1.1 Solução
Precisa chute-1.516


34
Equações Diferenciais Parciais

gtgthelp pde toolbox de Equações Dif.
Parciais gtgtpdetool Ferramenta para
Simulação Usando o pdetool 1)Devemos desenhar
os contornos do problema 2)Em PDE, devemos editar
a equação a ser resolvida 3)Solve para resolver o
problema. Uma forma alternativa é usar
Diferenças Finitas e transformar o nosso problema
em um sistema de equações algébricas.Esse
procedimento pode ser usado também para problemas
de contorno.

35
Otimização
gtgthelp optim toolbox de otimização gtgthelp
optimset set de propriedades dos
métodos Otimização sem restrição Problema a
ser resolvido 1)podemos aplicar o conceito de
derivada nula, gerando um sistema de equações que
podem ser resolvidos como visto anteriormente
usando fzero e fsolve. 2)Usando as
funções gtgthelp fmin monovariavel gtgthelp
fminbnd monovariavel com limites gtgthelp
fminsearch multivariavel
36
Otimização sem Restrição
Exemplomin function Stest(x) S100(x(2)-x(1).
2).2(1-x(1)).2 gtgtx0 -1.2, 1 gtgtX ,S
FMINSEARCH(test,X0) xo 1, 1 ótimo
encontrado S 0 valor da função
objetivo Podemos criar um vetor de
Opções Op(optimset,Propriedade1,valor,....)
37
Otimização
Otimização com restrição Problema a ser
resolvido gtgthelp fmincon Restrições
lineares e não lineares gtgthelp constr
Restrições lineares gtgthelp linprog
Programação Linear gtgthelp quadprog Programação
Quadrática gtgthelp lsqlin Mínimos Quadrados
38
Otimização
Programação Linear S,g e h devem ser linear. Max

Devemos Escrever na Forma s.a
min f'x s.a.
A.x lt b

Aeq.xBeq Lb-limite inferior
Ub-Limite superior
gtgtx, Slinprog(f,A,b,Aeq,Beq,lb,ub)
x-121.8936 -1.8723 25.9787 S258.0213
39
Otimização
Programação Não Linear Programação Linear
Sucessiva-SLP Quando um problema de otimização é
não linear, seja na função objetivo ou nas
restrições, uma possibilidade para encontrar o
ótimo é através da linearização em torno do ponto
ótimo. Além disso podemos utilizar métodos que
transformam um problema com restrição em um
problema sem restrição. Exemplo Multiplicadores
de Lagrange Função Penalidade Para maiores
detalhes sobre os métodos, vide na referência o
material sobre otimização.
40
Otimização
Programação Quadrática Se função objetivo é
quadrática e as restrições são lineares, podemos
utilizar quadprog do Matlab. Exemplo min
s.a. A função objetivo deve ser escrita
na forma S0.5x'Hx f'x x,Squadprog(H
,f,A,b,Aeq,beq) x0.4812 2.4962 0.5263 -0.6023
0.7514 S17.7989
41
Otimização
Programação Não Linear Exemplo min
s. a. Podemos usar fmincon do Matlab, devemos
criar um arquivo com a função objetivo e se as
restrições são não lineares, precisamos criar
outro arquivo com as restrições. Function
Sfob(x) Sexp(x(1))( 4x(1)2 2x(2)2
4x(1)x(2)2x(2)1) Function
G,Hrest(x) G(1)1.5x(1)x(2)-x(1)-x(2) G(2)-
x(1)x(2)-10 H(1)0 gtgtx Sfmincon('fob',-12
,,,,,,,'rest') x -9.5474 1.0474

S0.0236
42
Otimização
Programação Inteira Mista Muitos problemas em
operação, projeto, localização e escalonamento de
plantas envolvem variáveis que não são contínuas
e sim discretas, ou seja, variáveis que são
inteiras. Exemplo Um dos algoritmos
numéricos mais empregados para PIM e denominada
Branch and Bound Technique.   O Matlab não possui
uma rotina pronta para esse tipo de problema. As
rotinas podem ser encontradas no diretório
rotinas prontas/otimização/MILP e MINLP
43
Rotinas Prontas
No diretório do CD-ROM Rotinas\MetodosNumericos
Temos uma série de rotinas prontas separadas por
tópicos. As rotinas seguem um padrão bem similar
às funções embutidas do Matlab e um help nome da
função explica o seu funcionamento.
44
Variáveis Simbólicas
gtgthelp symbolic toolbox Criando variaveis
simbolicas gtgthelp sym gtgt help syms ex
gtgtsyms x y cria x e y como var.
simbólicas Manipulando variáveis
simbólicas Uma vez criada as variáveis
simbólicas podemos usar todas as operações
matemáticas do matlab. gtgtfx2y gtgtgxy
gtgtfg gtgtfg gtgtf/g Além de algumas
operações especificas para var.
simbólicas gtgtfinverse(f) inversa da função
f gtgtcompose(f,g) função composta
f(g(x)) gtgtezplot(f,2,3) plotagem de f entre
os limites 2-3
45
Variáveis Simbólicas
O produto das operações pode resultar em
expressões matemáticas complicadas gtgtsimple
coloca a expressão na forma mais
simples gtgtsimplify simplifica a expressão gtgt
pretty exibe a expressão de uma forma mais
visual Após a manipulação e simplificação
pode-se desejar substituir valores para as
variáveis simbólicas gtgtsubs( f,2) substitui
em f x2 gtgtsubs(f, x,2) substitui em f x2 se
f é função multivariavel gtgtsubs(f,x,y)
substitui em f xy ex gtgt fxy gtgtsubs(subs(f,x,
2),y,3) ans5 x2 e y3
46
Resolução Simbólica
Equações Algébricas gtgthelp solve gtgtx1,x2,..xns
olve( eq1,eq2,...eqn) As equações podem
ser escritas na forma xy2 ou
xy-2 Exemplo gtgt syms x gtgtfx4 gtgtgx4 gt
gtsolve(f) ans-4 gtgtsolve(g) ans-4 A
vantagem é que o solve retorna todas as soluções
do sistema, no entanto, o solve não é muito
robusto. Não resolvendo sistemas muito
complexos.
47
Resolução Simbólica
Derivadas Simbólicas gtgt help diff gtgtsyms x
y gtgtf 2x xy 2y gtgtdiff(f, x) derivada
parcial em relação a x gtgthelp
jacobian gtgtjacobian( f g, x
y) Integrais Indefinidas gtgthelp int gtgtint(g)
g(x), integra g em relação a x com constante de
int0 gtgtint(g,x) g(x), integra g em relação a
x com constante de int0 gtgtint(g,a,b,c)
integral definida entre a e b Se a constante
de integração é diferente de zero, devemos somar
essa constante à solução obtida
48
Resolução Simbólica
Equações Diferenciais gtgthelp dsolve gtgtdsolve(D
y4y) gtgtdsolve(Dy4y, y(0)1) gtgtdsolve(
eqdif 1, eqdif 2, ...., cond inicial
1,....) Exemplo gtgtS dsolve('Dx y', 'Dy
-x', 'x(0)0', 'y(0)1') As vezes, o matlab
retorna a resposta em uma estrutura S.x
sin(t) S.ycos(t)
Write a Comment
User Comments (0)
About PowerShow.com