Curso Matlab 6 Metnum
Transcript of Curso Matlab 6 Metnum
Curso MATLAB 6
Instrutor: Marcelo Escobar
Métodos Númericos para Engenheiros
Métodos Numéricos
Álgebra Matricial
Sistemas Lineares
Sistemas não lineares
Equações Integrais
Equações Diferenciais
Otimização
Manipulação Simbólica
Álgebra Matricial:
Tópicos de Ajuda:
>>help matfun>>help elmat>>help sparfun
Multiplicação Matricial: [Produto Interno]
Dadas as Matrizes A e B:
A * B = C [n x m ] [ m x p] [n x p]
>> A*B
Divisão Matricial: [Produto Externo] B= C/A
>>C\A
Conceitos Importantes:
Conceitos Importantes:
Matriz Transposta: B=AT se b(j,i)=A(i,j)
Matriz Identidade: I(i,j)=1 se i==j e I(i,j)=0 se i~=j
Matriz Inversa: se B*A=I, 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 i=1:n
Matriz Triangular Superior: A(i,j)=0 se i>j
Matriz Triangular Inferior: A(i,j)=0 se i<j
Ortogonalidade de Vetores: se a*b’=0a[ 1 x n] e b[ 1 x n] a e b são ditos ortogonais.
Sistemas Lineares:Sistemas Lineares: Forma Geral [ Ax=b ]
Classificação:
Possível e Determinado : se det(A)~=0Possível e Indeterminado: se det(A)=0 e todos det(A(:,i)=b)=0 i=1:nImpossível: se det(A)=0 e pelo menos um det(A(:,i)=b)~=0 i=1:n
Posto de uma Matriz: Número de Equações Independentes>> rank(A)
Valores Característicos: A-λI=A para λ~=0
>>eig(A)
Vetores Característicos: A* (λ*I) = (λ*I) *V
>>[lambda V]=eig(A)
Métodos Diretos:
Métodos de Resolução de Sistemas Lineares:
Forma mais simples no Matlab: x=A\bMínimos Quadrados: x=lsqlin(A,b)
Métodos Diretos: ( Principais)
Eliminação Gaussiana:
Fatorização:
>>help lu [ Decomposição LU]>>help qr [ Decomposição Ortogonal Triangular]>>help svd [ Decomposição em Valores Singulares]>>help schur [ Decomposição Schur]
Ex: A = L U L y = b U x
k Nj k Ni N k
aa
a
a a a a
kjkj
kk
ij ij ik kj
== += ≠
←
← −
⎧
⎨
⎪⎪
⎩
⎪⎪
11
1
,...,,...,,..., ( )
Exemplo Método de Gauss:
yxA
x
x
x
=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
.
963
.087654321
3
2
1Exemplo:
Linha1=linha1/A(1,1)
Linha2=linha2-A(2,1)*linha1
Linha3=linha3-A(3,1)*linha1Linha2=linha2/A(2,2)
Linha1=linha1-A(1,2)*linha1
Linha3=linha3-A(3,2)*linha3Linha3=linha3/A(3,3)
Linha1=linha1-A(1,3)*linha1
Linha2=linha2-A(2,3)*linha2
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−−−
12
6
3
2160
630
321
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−
−
0
2
1
900
210
101
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
0
2
1
100
010
001
x1=-1 x2=2 x3=0
Exemplo Método de Crammer:
yxA
x
x
x
=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
.
963
.087654321
3
2
1
x1=-1 x2=2 x3=0
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
089
656
323
Ax
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
097
664
331
Ay
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
987
654
321
Az
X1=det(Ax)/det(A)
X2=det(Ay)/det(A)
X3=det(Az)/det(A)
Linha1=b Ax
Linha2=bAy
Linha3=bAz
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:
x M x c kk k+ = + =1 0 1 2, , , , ...
x
b a x
ai N ki
ki ij j
k
j i
N
ii
+ = ≠=
−
= =∑
1 1 1 0 1 2( ) , , ... , , , , ...e
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:
x
b a x a x
ai N ki
ki ij j
kij j
k
j i
N
j
i
ii
+
+
=+=
−
=
− −
= =∑∑
1
1
11
1
1 0 1 2, , ... , , , , ...e
Sistemas Esparsos:Sistemas Esparsos: vários elementos nulos
>>help issparse [ teste de esparsidade]>>help sparse [ conversão de matriz cheia para matriz esparsa]>>help full [ conversão de matriz esparsa para matriz cheia]
Geração de Matrizes Esparsas:
>>help sprand [geração de matriz esparsa aleatória]
>>help sparndsym [geração de matriz esparsa simétrica aleatória]
Métodos para Sistemas Esparsos:
>> help pcg Conjugate Gradiente>> help cgs Conjugate Gradient Squared (CGS)>> help bicg BiConjugate Gradient (BiCG)>>help bicgstab BiConjugate Gradient Stabilized (BiCGSTAB)>>help gmres Generalized Minimum Residual (GMRES)>>help qmr Quasi-Minimal Residual without lookahead (QMR)
Dicas –Sistemas Lineares:Sistemas Sub-Determinados:
Numero de Equações (ne) menor que o numero de incógnitas(ni)
>>A\b assume (ni-ne) variáveis nulas
Sistemas Sobre-Determinados:
Numero de Equações (ne) Maior que o numero de incógnitas(ni)
>>A\b utiliza mínimos quadrados para minimizar os resíduos
Residuo=(A*x-b)
Conceito de Norma:
>>help norm
A norma é utilizada como critério de parada em loops multivariaveis.
M maxj
miji
N
11
==∑ M max
imij
j
N
∞=
= ∑1
2
1 1
N N
ijFi j
M m= =
= ∑∑
Equações Transcendentais:
Equações sem solução analítica:
Ex: f(x)= x*exp(x/2) qual x / f(x)=0?
Resolução no matlab:
>>help optim
>>help fzero
>>help fsolve
Para utilizar as funções deve-se criar uma função com a equação:
function f=funcao_teste(x)
f=x*exp(x/2)
chute inicial
>>fsolve(’funcao_teste’, 0) ou >> fzero(’funcao_teste’, 0)
Sistemas Não Lineares:
Para resolver sistemas de equações:
function f=funcao_teste2(x)
x1=x(1);x2=x(2);
f1=x1*x2-6;
f2=x2+x1-5;
F=[f1;f2];
chute inicial
>>fsolve(’funcao_teste2’, [ 3; 4])
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.
x g x= ( )
x g xk k+ =1 ( ) k =012, , ,K
xxx
g(x)
45°01* x
Métodos para Sistemas Não Lineares:
Método da Bisseção: k =012, , ,Kxx xk Rk
Lk
+ =+1
2
( ) ( )xx sign f x sign f x
xRk
k kRk
Rk
==⎧
⎨⎪
⎩⎪
−
−
se
caso contrá rio
( ) ( )1
1
( ) ( )xx sign f x sign f x
xLk
k kLk
Lk
==⎧
⎨⎪
⎩⎪
−
−
se
caso contrá rio
( ) ( )1
1
Os pontos iniciais devem satisfazer a condição:
onde a função sign(f(x)) fornece o sinal da função f(x).
( ) ( )sign f x sign f xL R( ) ( )0 0= −
x * x
f(x)
x0R
x0L
x1R
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:
x xf x
f xk k
k
k+ = −
′1 ( )
( )
x0x * xx1
f(x)
k =12 3, , ,K
Newton para Sistemas não Lineares:
Para sistemas não lineares:
[ ]nxxxxx 321=
0),...,,,(
...
0),...,,,(
0),...,,,(
0),...,,,(
321
3213
3212
3211
=
===
nn
n
n
n
xxxxf
xxxxfxxxxfxxxxf
)(
)(1k
kKK
xJa
xfxx −=+
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
n
n
n
n
dx
df
dx
df
dx
df
dx
df
dx
df
dx
df
dx
df
dx
df
dx
df
Ja
.........
............
2
3
2
2
2
1
2
1
3
1
2
1
1
1
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
nf
f
f
f
xf3
2
1
)(
Onde:
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:
′ = ≈ =−
−
−
−f x
df
dx
f
x
f x f x
x xk
x
k k
k kk( )
( ) ( )Δ
Δ
1
1
x x f xx x
f x f xk k k
k k
k k+
−
−= −
−−
11
1( )
( ) ( )k =12 3, , ,K
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)>tol, x é solução da equação
Para sistemas multivariaveis iterativos devemos usar a norma:
norma(xk+1 –xk)>tol
Ao usar os métodos do matlab podemos criar um vetor de opções:
op=optimset(‘metodo’)
Op=(‘Propriedade1’, valor, ‘Propriedade2’,valor)
Equações Integrais :
>>help quad [ Método da quadratura de Simpson]
>>help quadl [Método da quadratura de Lobato]
>>help quad8 [Método de Alta ordem]
>>help trapz [ Método Trapezoidal]
>>help bdlquad [Método para Integrais Duplas]
∫max
min
).(x
x
dxxf
dydxyxfy
y
x
x..),(
max
min
max
min∫ ∫
Métodos Integrais :
Regra dos Trapézios:
Regra de Simpson:
Ex: integral do sin(x)/(x+1) de 0 a 3.14
function f=funcao_01(x)
f=sin(x)./(x+1);
>> quad(‘funcao_01’,0,3.14)
Equações Diferenciais:
Aproximação com Δx pequeno:
>>help diff
Utilizando os métodos integrais:
>>help ode 23 [baixa ordem]
>>help ode23s [baixa ordem rígido]
>>help ode15s [ordem moderada rígido]
>>help ode 45 [ alta ordem]
>>help ode45s [alta ordem rígido]
>>help odeset [ set de propriedades dos métodos]
x
xfxxf
dx
dyx Δ
−Δ+= →Δ
)()(lim 0
Exemplo Equações Diferenciais:
Simples:
y x t
Function dy= df(t,y)
dy=-0.1*(y-10)
>>[t,y]=ode23(‘df’, [0 60] , 100)
Ou
>>ode23(‘df’, [0 60] , 100)
Mostra a evolução da Integração
100
)10(1.0
=
−−=
oy
ydtdy
Exemplo Equações Diferenciais:
Sistema:
function dydt = vdp1(t,y)
dydt = [y(2); (1-y(1)^2)*y(2)-y(1)];
>>ode23(‘vdp1’,[0 20],[2 0]);
Ou
>>[t,y]= ode23(‘vdp1’,[0 20],[2 0]);
>>x=y(:,1);
>>u=y(:,2);
xuudt
du
udt
dx
−−=
=
)1( 2
0
2
0 ==
uxo
Equações Diferenciais:
Problemas de Valor inicial no Matlab:
[t,y]=odexx(‘func’,tspan,yo)
Yo-valor inicialTspan- valor inicial e final de tempoFunc-função a ser integrada
Método de Euler Implicito:
),()(
txgdt
xdf=
xo x2x1
f(x)
f(xo)
f(x1)
f(x2)
Condicoes Iniciais:
t=0 f(0)=fo
01
001100 ),(),()(),(
xx
txftxf
t
xf
dt
txdf
−−
=ΔΔ
≅
01 xxh −=
Passo de Integracao:
),(.),(),( 000011 txghtxftxf +=
Método de Euler Implícito :
Para sistemas :
[ ]nxxxxx 321=
nnn
n
n
n
dx
dfxxxxf
dx
dfxxxxf
dx
dfxxxxf
dx
dfxxxxf
=
=
=
=
),...,,,(
...
),...,,,(
),...,,,(
),...,,,(
321
33213
23212
13211
),(.),(),(
),(.),(),(
),(.),(),(
),(.),(),(
00001
00300313
00200212
00100111
txfhtxftxf
txfhtxftxf
txfhtxftxf
txfhtxftxf
nnn +=+=+=+=
Sistema de Equações Algébricas que devem ser resolvidas simultaneamente:
Método de Runge Kutta Implicito :
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.
),(.),(),( 110011 txghtxftxf +=
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 ( p=2 para Euler) e lambda é o valor caracteristico do sistema.
Os valores característicos , são os valores que multiplicam a variável t.
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
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. Y=1 para x=1 e x=2
function F=teste(x,y)
F(1)=y(2);
F(2)=6*y(1)/x^2;
>>chute=-1.5
>> [x,y]=ode45(‘teste’,[1 2],[1 chute])
Interpolando: para x=2 y=1.1 Solução Precisa: chute=-1.516
062
22 =− y
dxyd
x
zdx
yd=
2
6
x
y
dx
zd=
Equações Diferenciais Parciais:
>>help pde [ toolbox de Equações Dif. Parciais]
>>pdetool [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.
Otimização:
>>help optim [ toolbox de otimização]
>>help 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:
>>help fmin [monovariavel]
>>help fminbnd [monovariavel com limites]
>>help fminsearch [multivariavel]
Otimização sem Restrição:
Exemplo:min
function S=test(x)
S=100*(x(2)-x(1).^2).^2+(1-x(1)).^2;
>>x0 = [-1.2, 1]>>[X ,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,....)
( ) ( )21
2212 1.100)( xxxxS −+−=
Otimização:
Otimização com restrição:
Problema a ser resolvido:
>>help fmincon [ Restrições lineares e não lineares]
>>help constr [ Restrições lineares]
>>help linprog [ Programação Linear]
>>help quadprog [Programação Quadrática]
>>help lsqlin [Mínimos Quadrados]
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 <= b
Aeq.x=Beq
Lb-limite inferior Ub-Limite superior
>>[x, S]=linprog(f,A,b,Aeq,Beq,lb,ub)
x=[-121.8936 ; -1.8723; 25.9787 ] S=258.0213
321 423 xxxS +−=
5982 321 =+− xxx
85 31 ≥+ xx
487.46.1 321 ≤++ xxx
02 ≤x
[ ]423' −−=f ⎥⎦
⎤⎢⎣
⎡−
=8
4b
[ ]982 −=Aeq [ ]5=beq⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
+
+=
Inf
Inf
ub 0⎥⎦
⎤⎢⎣
⎡−−
=5
8
0
7.4
1
6.1A
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−−
=Inf
Inf
Inf
lb
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.
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: S=0.5*x'*H*x + f'*x
[x,S]=quadprog(H,f,A,b,Aeq,beq)
x=[0.4812 2.4962 0.5263 -0.6023 0.7514] S=17.7989
25
24
23
22
21 5432 xxxxxS ++++=
042 54321 =−+−+ xxxxx
025 5431 =−+− xxxx
62 321 ≥++ xxx
024 543 ≤−+ xxx
[ ]00000' =f
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
=
10
0
0
8
0
0
0
0
0
000600
00040
00002
H
⎥⎦
⎤⎢⎣
⎡−−
−−
=1
1
1
1
2
4
0
1
5
2Aeq
⎥⎦
⎤⎢⎣
⎡−
−−−=
2
0
1
0
4
1
0
2
0
1A
⎥⎦
⎤⎢⎣
⎡=
0
0beq
⎥⎦
⎤⎢⎣
⎡−=
0
6b
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 S=fob(x)
S=exp(x(1))*( 4*x(1)^2 +2*x(2)^2 +4*x(1)*x(2)+2*x(2)+1);
Function [G,H]=rest(x)
G(1)=1.5+x(1)*x(2)-x(1)-x(2);
G(2)=-x(1)*x(2)-10;
H(1)=0;
>>[x S]=fmincon('fob',[-1;2],[],[],[],[],[],[],'rest')
x=[ -9.5474 1.0474] S=0.0236
( )12424).exp( 22122
211 ++++ xxxxxx
05.1 2121 ≤−−+ xxxx
1021 −≥xx
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
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.
Variáveis Simbólicas:
>>help symbolic [ toolbox ]
Criando variaveis simbolicas:
>>help sym >> help syms ex: >>syms 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.>>f=x+2*y >>g=x*y >>f+g; >>f*g; >>f/g;
Além de algumas operações especificas para var. simbólicas:>>finverse(f); [inversa da função f]>>compose(f,g); [ função composta f(g(x))]>>ezplot(f,2,3); [ plotagem de f entre os limites 2-3]
Variáveis Simbólicas:
O produto das operações pode resultar em expressões matemáticas complicadas:>>simple; [ coloca a expressão na forma mais simples]>>simplify; [ simplifica a expressão]>> 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:>>subs( f,2) [ substitui em f x=2]>>subs(f, x,2) [ substitui em f x=2 se f é função multivariavel]>>subs(f,x,y) [ substitui em f x=y] ex:>> f=x+y>>subs(subs(f,x,2),y,3) [ ans=5] [x=2 e y=3]
Resolução Simbólica:
Equações Algébricas:>>help solve>>[x1,x2,..xn]=solve( ‘eq1’,’eq2’,...’eqn’)
As equações podem ser escritas na forma:
‘x*y=2’ ou ‘x*y-2’
Exemplo:
>> syms x>>f=x+4;>>g=‘x+4’;>>solve(f) [ ans=-4]>>solve(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.
Resolução Simbólica:
Derivadas Simbólicas:>> help diff>>syms x y>>f= 2*x + x*y + 2*y;>>diff(f, x) [ derivada parcial em relação a x]
>>help jacobian:>>jacobian( [f; g], [ x ; y])
Integrais Indefinidas:
>>help int>>int(g) [ g(x), integra g em relação a x com constante de int=0]>>int(g,x) [ g(x), integra g em relação a x com constante de int=0]>>int(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
Resolução Simbólica:Equações Diferenciais:
>>help dsolve
>>dsolve(‘Dy=4*y’)>>dsolve(‘Dy=4*y’, ‘y(0)=1’)>>dsolve( eqdif 1, eqdif 2, ...., cond inicial 1,....)
Exemplo:>>S = 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.y=cos(t)