Taisalira-minicurso Matlab Parte1

78
APLICAÇÃO DE MATLAB NA APLICAÇÃO DE MATLAB NA APLICAÇÃO DE MATLAB NA APLICAÇÃO DE MATLAB NA ENGENHARIA ENGENHARIA ENGENHARIA ENGENHARIA III SENES III SENES III SENES III SENES - - - Semana de Engenharia do Norte do Espírito Santo Semana de Engenharia do Norte do Espírito Santo Semana de Engenharia do Norte do Espírito Santo Semana de Engenharia do Norte do Espírito Santo De 15 a 19 de agosto de 2011 De 15 a 19 de agosto de 2011 De 15 a 19 de agosto de 2011 De 15 a 19 de agosto de 2011 Taisa Shimosakai de Lira Taisa Shimosakai de Lira Taisa Shimosakai de Lira Taisa Shimosakai de Lira

description

Apostila I

Transcript of Taisalira-minicurso Matlab Parte1

Page 1: Taisalira-minicurso Matlab Parte1

APLICAÇÃO DE MATLAB NA APLICAÇÃO DE MATLAB NA APLICAÇÃO DE MATLAB NA APLICAÇÃO DE MATLAB NA ENGENHARIAENGENHARIAENGENHARIAENGENHARIA

III SENES III SENES III SENES III SENES ---- Semana de Engenharia do Norte do Espírito SantoSemana de Engenharia do Norte do Espírito SantoSemana de Engenharia do Norte do Espírito SantoSemana de Engenharia do Norte do Espírito SantoDe 15 a 19 de agosto de 2011De 15 a 19 de agosto de 2011De 15 a 19 de agosto de 2011De 15 a 19 de agosto de 2011

Taisa Shimosakai de LiraTaisa Shimosakai de LiraTaisa Shimosakai de LiraTaisa Shimosakai de Lira

Page 2: Taisalira-minicurso Matlab Parte1

O que é o MATLAB?

• MATLAB (MATrix LABoratory):

Programa de computador especializado e otimizado para cálculos científicos e de engenharia.

• Vantagem: Ampla biblioteca de funções predefinidas.

• Desvantagem: É uma linguagem interpretada, por isso pode ser mais lento que linguagens compiladas.

Page 3: Taisalira-minicurso Matlab Parte1

ToolboxesToolboxesToolboxesToolboxesToolboxesToolboxesToolboxesToolboxes

São bibliotecas de rotinas MATLAB (m-files), aplicadas aáreas específicas tais como:

• Otimização

• Estatística

• Redes Neurais• Redes Neurais

• Identificação de Sistemas

• Equações Diferenciais Parciais

• Ajuste de Curvas

• Sistema de Controle

Page 4: Taisalira-minicurso Matlab Parte1
Page 5: Taisalira-minicurso Matlab Parte1

cd C:\Meus Documentos

Page 6: Taisalira-minicurso Matlab Parte1
Page 7: Taisalira-minicurso Matlab Parte1
Page 8: Taisalira-minicurso Matlab Parte1
Page 9: Taisalira-minicurso Matlab Parte1
Page 10: Taisalira-minicurso Matlab Parte1
Page 11: Taisalira-minicurso Matlab Parte1
Page 12: Taisalira-minicurso Matlab Parte1
Page 13: Taisalira-minicurso Matlab Parte1
Page 14: Taisalira-minicurso Matlab Parte1
Page 15: Taisalira-minicurso Matlab Parte1

>>who:::: Lista as variáveisLista as variáveisLista as variáveisLista as variáveis>>whos: Lista e especifica as variáveisLista e especifica as variáveisLista e especifica as variáveisLista e especifica as variáveis>>clc:Limpa a janela de comandosLimpa a janela de comandosLimpa a janela de comandosLimpa a janela de comandos>>clf:Limpa figura atualLimpa figura atualLimpa figura atualLimpa figura atual

Comandos BásicosComandos BásicosComandos BásicosComandos BásicosComandos BásicosComandos BásicosComandos BásicosComandos Básicos

>>clf:Limpa figura atualLimpa figura atualLimpa figura atualLimpa figura atual>>clear: Deleta variáveis do Deleta variáveis do Deleta variáveis do Deleta variáveis do workspaceworkspaceworkspaceworkspace MATLABMATLABMATLABMATLAB>>help:Ajuda do MATLAB documentaçãoAjuda do MATLAB documentaçãoAjuda do MATLAB documentaçãoAjuda do MATLAB documentação>>close all:Fecha as janelas de figuras abertasFecha as janelas de figuras abertasFecha as janelas de figuras abertasFecha as janelas de figuras abertas

Page 16: Taisalira-minicurso Matlab Parte1

Comentários, pontuação e formas de Comentários, pontuação e formas de Comentários, pontuação e formas de Comentários, pontuação e formas de interromper a execução de um comandointerromper a execução de um comandointerromper a execução de um comandointerromper a execução de um comando

[;][;][;][;] ---- no final do comando executa e não exibe resultado.no final do comando executa e não exibe resultado.no final do comando executa e não exibe resultado.no final do comando executa e não exibe resultado.

[,] [,] [,] [,] ---- permite a execução de dois comandos na mesma permite a execução de dois comandos na mesma permite a execução de dois comandos na mesma permite a execução de dois comandos na mesma linha, lembrando que eles são executados linha, lembrando que eles são executados linha, lembrando que eles são executados linha, lembrando que eles são executados seqüencialmente.seqüencialmente.seqüencialmente.seqüencialmente.seqüencialmente.seqüencialmente.seqüencialmente.seqüencialmente.

[[[[CrtlCrtlCrtlCrtl+C] +C] +C] +C] ---- interrompe a execução do comando, usado no interrompe a execução do comando, usado no interrompe a execução do comando, usado no interrompe a execução do comando, usado no caso de travamento durante a execução.caso de travamento durante a execução.caso de travamento durante a execução.caso de travamento durante a execução.

[ ↑ ] [ ↑ ] [ ↑ ] [ ↑ ] ---- retorna as linhas executadas anteriormente.retorna as linhas executadas anteriormente.retorna as linhas executadas anteriormente.retorna as linhas executadas anteriormente.

[%] [%] [%] [%] ---- indica comentário.indica comentário.indica comentário.indica comentário.

[...] [...] [...] [...] ---- permite continuação de escrita do comando na linha permite continuação de escrita do comando na linha permite continuação de escrita do comando na linha permite continuação de escrita do comando na linha seguinte.seguinte.seguinte.seguinte.

Page 17: Taisalira-minicurso Matlab Parte1

VariáveisVariáveisVariáveisVariáveisVariáveisVariáveisVariáveisVariáveis� Matlab é Matlab é Matlab é Matlab é case sensitivecase sensitivecase sensitivecase sensitive (variável A é diferente de a)(variável A é diferente de a)(variável A é diferente de a)(variável A é diferente de a)

� Caso não se forneça o nome da variável de atribuição, o Caso não se forneça o nome da variável de atribuição, o Caso não se forneça o nome da variável de atribuição, o Caso não se forneça o nome da variável de atribuição, o Matlab cria uma variável chamada Matlab cria uma variável chamada Matlab cria uma variável chamada Matlab cria uma variável chamada ans ((((answeransweransweranswer))))

� Se a variável já existe, o MATLAB armazena sempre a Se a variável já existe, o MATLAB armazena sempre a Se a variável já existe, o MATLAB armazena sempre a Se a variável já existe, o MATLAB armazena sempre a ultimaultimaultimaultima atribuição atribuição atribuição atribuição feita.feita.feita.feita.ultimaultimaultimaultima atribuição atribuição atribuição atribuição feita.feita.feita.feita.

� DeveDeveDeveDeve----se evitar dar nomes às variáveis usando nomes de se evitar dar nomes às variáveis usando nomes de se evitar dar nomes às variáveis usando nomes de se evitar dar nomes às variáveis usando nomes de comandos internos comandos internos comandos internos comandos internos do MATLAB.do MATLAB.do MATLAB.do MATLAB.

� O nome da variável deve começar por uma O nome da variável deve começar por uma O nome da variável deve começar por uma O nome da variável deve começar por uma letraletraletraletra e não e não e não e não deve conter caracteres especiais nem espaço.deve conter caracteres especiais nem espaço.deve conter caracteres especiais nem espaço.deve conter caracteres especiais nem espaço.

� As variáveis podem ter até As variáveis podem ter até As variáveis podem ter até As variáveis podem ter até 31 caracteres31 caracteres31 caracteres31 caracteres....

Page 18: Taisalira-minicurso Matlab Parte1

Matemática ElementarMatemática ElementarMatemática ElementarMatemática ElementarMatemática ElementarMatemática ElementarMatemática ElementarMatemática Elementar

OperaçãoOperaçãoOperaçãoOperação SímboloSímboloSímboloSímbolo ExemploExemploExemploExemplo

AdiçãoAdiçãoAdiçãoAdição ++++ 3 + 223 + 223 + 223 + 22

SubtraçãoSubtraçãoSubtraçãoSubtração ---- 54.454.454.454.4----16.516.516.516.5

MultiplicaçãoMultiplicaçãoMultiplicaçãoMultiplicação **** 3.14*63.14*63.14*63.14*6MultiplicaçãoMultiplicaçãoMultiplicaçãoMultiplicação **** 3.14*63.14*63.14*63.14*6

DivisãoDivisãoDivisãoDivisão / ou/ ou/ ou/ ou\\\\ 19.54/7 ou 719.54/7 ou 719.54/7 ou 719.54/7 ou 7\\\\19.5419.5419.5419.54

PotenciaçãoPotenciaçãoPotenciaçãoPotenciação ^̂̂̂ 2^82^82^82^8

Page 19: Taisalira-minicurso Matlab Parte1

Hierarquia de OperaçõesHierarquia de OperaçõesHierarquia de OperaçõesHierarquia de OperaçõesHierarquia de OperaçõesHierarquia de OperaçõesHierarquia de OperaçõesHierarquia de Operações

PrecedênciaPrecedênciaPrecedênciaPrecedência OperaçãoOperaçãoOperaçãoOperação

1111O conteúdo de todos os parênteses é avaliado, a O conteúdo de todos os parênteses é avaliado, a O conteúdo de todos os parênteses é avaliado, a O conteúdo de todos os parênteses é avaliado, a partir dos parênteses mais internos em direção partir dos parênteses mais internos em direção partir dos parênteses mais internos em direção partir dos parênteses mais internos em direção

aos mais externos.aos mais externos.aos mais externos.aos mais externos.

2222Todos os expoentes são avaliados,Todos os expoentes são avaliados,Todos os expoentes são avaliados,Todos os expoentes são avaliados, da esquerda da esquerda da esquerda da esquerda

para direita.para direita.para direita.para direita.2222

para direita.para direita.para direita.para direita.

3333TodasTodasTodasTodas as multiplicações e divisões são as multiplicações e divisões são as multiplicações e divisões são as multiplicações e divisões são avaliadas,avaliadas,avaliadas,avaliadas, da esquerda para direita.da esquerda para direita.da esquerda para direita.da esquerda para direita.

4444Todas as somasTodas as somasTodas as somasTodas as somas e subtrações são avaliadase subtrações são avaliadase subtrações são avaliadase subtrações são avaliadas,,,, da da da da

esquerda para direita.esquerda para direita.esquerda para direita.esquerda para direita.

Page 20: Taisalira-minicurso Matlab Parte1

Funções MatemáticasFunções MatemáticasFunções MatemáticasFunções MatemáticasFunções MatemáticasFunções MatemáticasFunções MatemáticasFunções Matemáticas

FunçãoFunçãoFunçãoFunção DescriçãoDescriçãoDescriçãoDescrição

sensensensen SenoSenoSenoSeno

coscoscoscos CoCoCoCo----senosenosenoseno

expexpexpexp ExponencialExponencialExponencialExponencialexpexpexpexp ExponencialExponencialExponencialExponencial

loglogloglog Logaritmo naturalLogaritmo naturalLogaritmo naturalLogaritmo natural

log10log10log10log10 Logaritmo na base 10Logaritmo na base 10Logaritmo na base 10Logaritmo na base 10

sqrtsqrtsqrtsqrt Raiz quadradaRaiz quadradaRaiz quadradaRaiz quadrada

absabsabsabs Valor absoluto ou móduloValor absoluto ou móduloValor absoluto ou móduloValor absoluto ou módulo

>>help elfun

Page 21: Taisalira-minicurso Matlab Parte1

Funções EstatísticasFunções EstatísticasFunções EstatísticasFunções EstatísticasFunções EstatísticasFunções EstatísticasFunções EstatísticasFunções Estatísticas

FunçãoFunçãoFunçãoFunção DescriçãoDescriçãoDescriçãoDescrição

meanmeanmeanmean MédiaMédiaMédiaMédia

medianmedianmedianmedian MedianaMedianaMedianaMediana

maxmaxmaxmax Valor máximoValor máximoValor máximoValor máximomaxmaxmaxmax Valor máximoValor máximoValor máximoValor máximo

minminminmin Valor mínimoValor mínimoValor mínimoValor mínimo

stdstdstdstd DesvioDesvioDesvioDesvio----padrãopadrãopadrãopadrão

varvarvarvar VariânciaVariânciaVariânciaVariância

sumsumsumsum Soma dos elementosSoma dos elementosSoma dos elementosSoma dos elementos

Page 22: Taisalira-minicurso Matlab Parte1

Vetores: como criar?Vetores: como criar?Vetores: como criar?Vetores: como criar?Vetores: como criar?Vetores: como criar?Vetores: como criar?Vetores: como criar?

Opção 1: Opção 1: Opção 1: Opção 1: >> C=[1 2 3 4 5]

ou >> C=[1 ,2 ,3 ,4 ,5]

ou >> C=[1 ;2 ;3 ;4 ;5]

Opção 2: Opção 2: Opção 2: Opção 2: Usando os comandos:Usando os comandos:Usando os comandos:Usando os comandos:Opção 2: Opção 2: Opção 2: Opção 2: Usando os comandos:Usando os comandos:Usando os comandos:Usando os comandos:

logspacelogspacelogspacelogspace: vetor com espaçamento logarítmico.: vetor com espaçamento logarítmico.: vetor com espaçamento logarítmico.: vetor com espaçamento logarítmico.

LinspaceLinspaceLinspaceLinspace: vetor linearmente espaçado.: vetor linearmente espaçado.: vetor linearmente espaçado.: vetor linearmente espaçado.

>>C=linspace(1,5,5)

linspacelinspacelinspacelinspace(valor inicial, valor final, número de pontos)(valor inicial, valor final, número de pontos)(valor inicial, valor final, número de pontos)(valor inicial, valor final, número de pontos)

Page 23: Taisalira-minicurso Matlab Parte1

Opção 3: Opção 3: Opção 3: Opção 3: >>C=1:1:5 ou >>C=1:5

Valor inicial: incremento: valor finalValor inicial: incremento: valor finalValor inicial: incremento: valor finalValor inicial: incremento: valor final

Opção 4: Opção 4: Opção 4: Opção 4: Usando estrutura forUsando estrutura forUsando estrutura forUsando estrutura for

>>For i=1:5

Vetores: como criar?Vetores: como criar?Vetores: como criar?Vetores: como criar?Vetores: como criar?Vetores: como criar?Vetores: como criar?Vetores: como criar?

>>For i=1:5

>>C(i)=i;

>>end

Page 24: Taisalira-minicurso Matlab Parte1

Vetores: manipulaçãoVetores: manipulaçãoVetores: manipulaçãoVetores: manipulaçãoVetores: manipulaçãoVetores: manipulaçãoVetores: manipulaçãoVetores: manipulação

Operações Básicas: Operações Básicas: Operações Básicas: Operações Básicas: +, +, +, +, ---- ,* ,/, ^,* ,/, ^,* ,/, ^,* ,/, ^

Operações Ponto a Ponto: Operações Ponto a Ponto: Operações Ponto a Ponto: Operações Ponto a Ponto: ./, .*, .^./, .*, .^./, .*, .^./, .*, .^

Transposição: Transposição: Transposição: Transposição: C’C’C’C’Transposição: Transposição: Transposição: Transposição: C’C’C’C’

Operações elementares: Operações elementares: Operações elementares: Operações elementares: log exp sin cos tan etc...etc...etc...etc...

Page 25: Taisalira-minicurso Matlab Parte1

>> a=[ 1 2 3]; b=[ 4 5 6];

>> 2*a-1

ans =

1 3 5

>> a*b

Vetores: manipulaçãoVetores: manipulaçãoVetores: manipulaçãoVetores: manipulaçãoVetores: manipulaçãoVetores: manipulaçãoVetores: manipulaçãoVetores: manipulação

>> a*b

??? Error using ==> mtimes

Inner matrix dimensions must agree.

>> a.*b

ans = 4 10 18

>>a*b’

ans = 32

Page 26: Taisalira-minicurso Matlab Parte1

Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?

Opção 1: Opção 1: Opção 1: Opção 1: a partir de vetoresa partir de vetoresa partir de vetoresa partir de vetores

>>C=[ 2 3];

>>D=[ 3 4];

>>M=[C;D]>>M=[C;D]

Opção 2: Opção 2: Opção 2: Opção 2: >>M= [ 2 3; 3 4] ou ou ou ou >>M=[ 2,3; 3, 4];

Page 27: Taisalira-minicurso Matlab Parte1

Opção 3: Opção 3: Opção 3: Opção 3: usando estrutura usando estrutura usando estrutura usando estrutura for

>>for i=1:2

>>for j=1:2

>>M(i,j)=i+j;

Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?

>>M(i,j)=i+j;

>>end

>>end

Page 28: Taisalira-minicurso Matlab Parte1

Opção 4: Opção 4: Opção 4: Opção 4: Matrizes padrãoMatrizes padrãoMatrizes padrãoMatrizes padrão>>eye(2)

ans =

1 0

0 1

Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?Matrizes: como criar?

0 1

>>ones(2,3)

ans =

1 1 1

1 1 1

Outras: zeros, rand, randn

Page 29: Taisalira-minicurso Matlab Parte1

Além das operações já citadas anteriormente para Além das operações já citadas anteriormente para Além das operações já citadas anteriormente para Além das operações já citadas anteriormente para vetores:vetores:vetores:vetores:

Produto Matricial: Produto Matricial: Produto Matricial: Produto Matricial: A*B

Inversa: Inversa: Inversa: Inversa: inv(A)

Matrizes: manipulaçãoMatrizes: manipulaçãoMatrizes: manipulaçãoMatrizes: manipulaçãoMatrizes: manipulaçãoMatrizes: manipulaçãoMatrizes: manipulaçãoMatrizes: manipulação

Inversa: Inversa: Inversa: Inversa: inv(A)

Determinante: Determinante: Determinante: Determinante: det(A)

Valores característicos: Valores característicos: Valores característicos: Valores característicos: eig(A)

Page 30: Taisalira-minicurso Matlab Parte1

M(M(M(M(linhalinhalinhalinha, , , , colunacolunacolunacoluna))))

M(1,1)M(1,1)M(1,1)M(1,1)---- retorna elemento M11retorna elemento M11retorna elemento M11retorna elemento M11

Matrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentes

Caso não seja especificado a coluna da matriz, o que Caso não seja especificado a coluna da matriz, o que Caso não seja especificado a coluna da matriz, o que Caso não seja especificado a coluna da matriz, o que não é necessário no caso de vetores, ele considera o não é necessário no caso de vetores, ele considera o não é necessário no caso de vetores, ele considera o não é necessário no caso de vetores, ele considera o vetor coluna 1.vetor coluna 1.vetor coluna 1.vetor coluna 1.

Page 31: Taisalira-minicurso Matlab Parte1

>>A=[ 1 2; 3 4]

>>A(2)

ans = 3

PodePodePodePode----se também usar incrementos:se também usar incrementos:se também usar incrementos:se também usar incrementos:

Matrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentesMatrizes: acesso às componentes

PodePodePodePode----se também usar incrementos:se também usar incrementos:se também usar incrementos:se também usar incrementos:>>C=[ 1 2 3; 4 5 6];

>>C(1:2,2)

ans = 2

5

>>C(:,3)

ans = 3

6

Page 32: Taisalira-minicurso Matlab Parte1

Matrizes: BuscaMatrizes: BuscaMatrizes: BuscaMatrizes: BuscaMatrizes: BuscaMatrizes: BuscaMatrizes: BuscaMatrizes: Busca

>>A =[1 2 3;4 5 6; 7 8 9];

>>[i,j] = find(A>5)

i = 3

3

22

3

j = 1

2

3

3

Page 33: Taisalira-minicurso Matlab Parte1

Matrizes: BuscaMatrizes: BuscaMatrizes: BuscaMatrizes: BuscaMatrizes: BuscaMatrizes: BuscaMatrizes: BuscaMatrizes: Busca

>>A =[1 2 3;4 5 6; 7 8 9];

>>k = find(A>5)

k = 3

6

8

9

>>A(k)

ans = 7

8

6

9

Page 34: Taisalira-minicurso Matlab Parte1

n=length(A): Dimensão do vetorDimensão do vetorDimensão do vetorDimensão do vetor

s=size(A): Retorna um vetor, sendo o 1Retorna um vetor, sendo o 1Retorna um vetor, sendo o 1Retorna um vetor, sendo o 1°°°° elemento elemento elemento elemento o no no no n°°°° linhas e 2linhas e 2linhas e 2linhas e 2°°°° elemento o nelemento o nelemento o nelemento o n°°°° de colunasde colunasde colunasde colunas

Dimensões: Vetores e MatrizesDimensões: Vetores e MatrizesDimensões: Vetores e MatrizesDimensões: Vetores e MatrizesDimensões: Vetores e MatrizesDimensões: Vetores e MatrizesDimensões: Vetores e MatrizesDimensões: Vetores e Matrizes

[r,c]=size(A): r é o nr é o nr é o nr é o n°°°° linhas, c é o nlinhas, c é o nlinhas, c é o nlinhas, c é o n°°°° colunascolunascolunascolunas

r=size(A,1):Retorna o nRetorna o nRetorna o nRetorna o n°°°° de linhasde linhasde linhasde linhas

c=size(A,2):Retorna o nRetorna o nRetorna o nRetorna o n°°°° de colunasde colunasde colunasde colunas

Page 35: Taisalira-minicurso Matlab Parte1

Estruturas MultidimensionaisEstruturas MultidimensionaisEstruturas MultidimensionaisEstruturas MultidimensionaisEstruturas MultidimensionaisEstruturas MultidimensionaisEstruturas MultidimensionaisEstruturas Multidimensionais

>>A = zeros(2,2,2)

A(:,:,1) = 0 0

0 0

A(:,:,2) = 0 0

0 00 0

Page 36: Taisalira-minicurso Matlab Parte1

Operadores RelacionaisOperadores RelacionaisOperadores RelacionaisOperadores RelacionaisOperadores RelacionaisOperadores RelacionaisOperadores RelacionaisOperadores Relacionais

OperadorOperadorOperadorOperador DescriçãoDescriçãoDescriçãoDescrição

<<<< Menor queMenor queMenor queMenor que

<=<=<=<= Menor ou igual aMenor ou igual aMenor ou igual aMenor ou igual a

>>>> Maior queMaior queMaior queMaior que>>>> Maior queMaior queMaior queMaior que

>=>=>=>= Maior ou igual aMaior ou igual aMaior ou igual aMaior ou igual a

======== Igual aIgual aIgual aIgual a

~=~=~=~= Diferente deDiferente deDiferente deDiferente de

Page 37: Taisalira-minicurso Matlab Parte1

Operadores LógicosOperadores LógicosOperadores LógicosOperadores LógicosOperadores LógicosOperadores LógicosOperadores LógicosOperadores Lógicos

OperadorOperadorOperadorOperador DescriçãoDescriçãoDescriçãoDescrição

&&&& E E E E

|||| OuOuOuOu

~~~~ NãoNãoNãoNão~~~~ NãoNãoNãoNão

Page 38: Taisalira-minicurso Matlab Parte1

Controle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de Fluxo

Loops Loops Loops Loops for: : : : limita o número de vezes que os limita o número de vezes que os limita o número de vezes que os limita o número de vezes que os comandos são executadoscomandos são executadoscomandos são executadoscomandos são executados

for i=1:10

A(i)=i;

end

A= 1 2 3 4 5 6 7 8 9 10

Page 39: Taisalira-minicurso Matlab Parte1

Loops Loops Loops Loops while: : : : permite a execução até que um permite a execução até que um permite a execução até que um permite a execução até que um critério seja satisfeitocritério seja satisfeitocritério seja satisfeitocritério seja satisfeito

it=0;

while it<10

Controle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de Fluxo

it=it+1;

A(it)=it;

end

A= 1 2 3 4 5 6 7 8 9 10

Page 40: Taisalira-minicurso Matlab Parte1

Controle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de Fluxo

Loops Loops Loops Loops if-else-end: : : : a sequencia de comamdos a sequencia de comamdos a sequencia de comamdos a sequencia de comamdos têm que ser executados condicionalmentetêm que ser executados condicionalmentetêm que ser executados condicionalmentetêm que ser executados condicionalmente

Forma mais simples:Forma mais simples:Forma mais simples:Forma mais simples:if expressão

comando

end

Duas alternativas:Duas alternativas:Duas alternativas:Duas alternativas:if expressão

comandos executados se verdadeira

else

comandos executados se falsa

end

Page 41: Taisalira-minicurso Matlab Parte1

LoopsLoopsLoopsLoops if-else-end:

Três ou mais alternativas:Três ou mais alternativas:Três ou mais alternativas:Três ou mais alternativas:if expressão 1

comandos executados se expressão 1 for

verdadeira

Controle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de FluxoControle de Fluxo

verdadeira

elseif expressão 2

comandos executados se expressão 2 for

verdadeira

else

comandos executados se nenhuma outra

expressão for verdadeira

end

Page 42: Taisalira-minicurso Matlab Parte1

Arquivo.m de funções Arquivo.m de funções Arquivo.m de funções Arquivo.m de funções versusversusversusversus arquivo.m de comandos:arquivo.m de comandos:arquivo.m de comandos:arquivo.m de comandos:

A principal diferença é que o arquivo.m de função se comunica A principal diferença é que o arquivo.m de função se comunica A principal diferença é que o arquivo.m de função se comunica A principal diferença é que o arquivo.m de função se comunica com o Matlab apenas por meio das variáveis de entrada e saída com o Matlab apenas por meio das variáveis de entrada e saída com o Matlab apenas por meio das variáveis de entrada e saída com o Matlab apenas por meio das variáveis de entrada e saída que ela cria. As variáveis intermediárias definidas internamenteque ela cria. As variáveis intermediárias definidas internamenteque ela cria. As variáveis intermediárias definidas internamenteque ela cria. As variáveis intermediárias definidas internamentepela função não aparecem nem interage com o espaço de pela função não aparecem nem interage com o espaço de pela função não aparecem nem interage com o espaço de pela função não aparecem nem interage com o espaço de

Arquivos M de funções (Arquivos M de funções (Arquivos M de funções (Arquivos M de funções (Arquivos M de funções (Arquivos M de funções (Arquivos M de funções (Arquivos M de funções (functionsfunctionsfunctionsfunctionsfunctionsfunctionsfunctionsfunctions))))))))

pela função não aparecem nem interage com o espaço de pela função não aparecem nem interage com o espaço de pela função não aparecem nem interage com o espaço de pela função não aparecem nem interage com o espaço de trabalho do Matlab.trabalho do Matlab.trabalho do Matlab.trabalho do Matlab.

Comandos [soma.m]Comandos [soma.m]Comandos [soma.m]Comandos [soma.m]A=2; B=3;

Soma=A+B

Execução:

>>soma

Função [soma.m] Função [soma.m] Função [soma.m] Função [soma.m] function S=soma(A,B)

S=A+B;

Execução:

>>soma(2,3)

Page 43: Taisalira-minicurso Matlab Parte1

REGRAS E PROPRIEDADES:REGRAS E PROPRIEDADES:REGRAS E PROPRIEDADES:REGRAS E PROPRIEDADES:

1)1)1)1) O nome da função tem que ser idêntico ao nome do O nome da função tem que ser idêntico ao nome do O nome da função tem que ser idêntico ao nome do O nome da função tem que ser idêntico ao nome do arquivo.arquivo.arquivo.arquivo.

2)2)2)2) O nome não deve ter mais do que 31 caracteres. O nome não deve ter mais do que 31 caracteres. O nome não deve ter mais do que 31 caracteres. O nome não deve ter mais do que 31 caracteres. 3)3)3)3) Não usar: ç, acentos ou Não usar: ç, acentos ou Não usar: ç, acentos ou Não usar: ç, acentos ou ----....

functionsfunctionsfunctionsfunctionsfunctionsfunctionsfunctionsfunctions

3)3)3)3) Não usar: ç, acentos ou Não usar: ç, acentos ou Não usar: ç, acentos ou Não usar: ç, acentos ou ----....4)4)4)4) Deve começar com uma letra.Deve começar com uma letra.Deve começar com uma letra.Deve começar com uma letra.5)5)5)5) Os arquivos M de funções não são sensíveis a maiúsculas ou Os arquivos M de funções não são sensíveis a maiúsculas ou Os arquivos M de funções não são sensíveis a maiúsculas ou Os arquivos M de funções não são sensíveis a maiúsculas ou

minúsculas. minúsculas. minúsculas. minúsculas. 6)6)6)6) A primeira linha do arquivo é chamada linha de declaração e A primeira linha do arquivo é chamada linha de declaração e A primeira linha do arquivo é chamada linha de declaração e A primeira linha do arquivo é chamada linha de declaração e

deve conter a palavra deve conter a palavra deve conter a palavra deve conter a palavra functionfunctionfunctionfunction, seguida pela sintaxe da , seguida pela sintaxe da , seguida pela sintaxe da , seguida pela sintaxe da chamada da função.chamada da função.chamada da função.chamada da função.

Page 44: Taisalira-minicurso Matlab Parte1

VARIÁVEIS LOCAIS E GLOBAIS:VARIÁVEIS LOCAIS E GLOBAIS:VARIÁVEIS LOCAIS E GLOBAIS:VARIÁVEIS LOCAIS E GLOBAIS:

A execução de um A execução de um A execução de um A execução de um arquivo M de comandosarquivo M de comandosarquivo M de comandosarquivo M de comandos,,,, lê as variáveis lê as variáveis lê as variáveis lê as variáveis existentes no existentes no existentes no existentes no workspaceworkspaceworkspaceworkspace e salva todas as variáveis criadas e salva todas as variáveis criadas e salva todas as variáveis criadas e salva todas as variáveis criadas durante sua execução.durante sua execução.durante sua execução.durante sua execução.

functionsfunctionsfunctionsfunctionsfunctionsfunctionsfunctionsfunctions

A execução de um A execução de um A execução de um A execução de um arquivo M de função arquivo M de função arquivo M de função arquivo M de função ((((functionfunctionfunctionfunction), NÃO lê ), NÃO lê ), NÃO lê ), NÃO lê as variáveis existentes no as variáveis existentes no as variáveis existentes no as variáveis existentes no workspaceworkspaceworkspaceworkspace, lê apenas as , lê apenas as , lê apenas as , lê apenas as variáveis dadas na entrada do programa ou aquelas variáveis dadas na entrada do programa ou aquelas variáveis dadas na entrada do programa ou aquelas variáveis dadas na entrada do programa ou aquelas definidas internamente. definidas internamente. definidas internamente. definidas internamente.

Page 45: Taisalira-minicurso Matlab Parte1

A A A A functionfunctionfunctionfunction pode até exibir na tela resultados se não pode até exibir na tela resultados se não pode até exibir na tela resultados se não pode até exibir na tela resultados se não usarmos [usarmos [usarmos [usarmos [;;;;] no final da linha, mas ela só retorna os ] no final da linha, mas ela só retorna os ] no final da linha, mas ela só retorna os ] no final da linha, mas ela só retorna os argumentos assinados em sua saída e não salva as argumentos assinados em sua saída e não salva as argumentos assinados em sua saída e não salva as argumentos assinados em sua saída e não salva as demais variáveis no demais variáveis no demais variáveis no demais variáveis no workspaceworkspaceworkspaceworkspace....

functionsfunctionsfunctionsfunctionsfunctionsfunctionsfunctionsfunctions

Para que uma Para que uma Para que uma Para que uma functionfunctionfunctionfunction leia uma variável definida leia uma variável definida leia uma variável definida leia uma variável definida externamente, é necessário definir essa variável como externamente, é necessário definir essa variável como externamente, é necessário definir essa variável como externamente, é necessário definir essa variável como global global global global em todos os arquivos em que ela é utilizada, ou em todos os arquivos em que ela é utilizada, ou em todos os arquivos em que ela é utilizada, ou em todos os arquivos em que ela é utilizada, ou passar como passar como passar como passar como parâmetro de entradaparâmetro de entradaparâmetro de entradaparâmetro de entrada....

Page 46: Taisalira-minicurso Matlab Parte1

SubSubSubSub----rotinarotinarotinarotina::::Function y=f(x)

SubSubSubSub----rotina:rotina:rotina:rotina:Function y=f(x,a)

Exemplo:Exemplo:Exemplo:Exemplo:

F(x)= xF(x)= xF(x)= xF(x)= x2222 ––––ax+2, onde a é fornecido pelo usuário.ax+2, onde a é fornecido pelo usuário.ax+2, onde a é fornecido pelo usuário.ax+2, onde a é fornecido pelo usuário.

functionsfunctionsfunctionsfunctionsfunctionsfunctionsfunctionsfunctions

Function y=f(x)

global a

Y= x2 –ax+2;

Programa principal:Programa principal:Programa principal:Programa principal:global a

s=fsolve(‘f’,0);

Function y=f(x,a)

Y= x2 –ax+2;

Programa principal:Programa principal:Programa principal:Programa principal:s=fsolve(‘f’,0,[],a);

Page 47: Taisalira-minicurso Matlab Parte1

Administração de ArquivosAdministração de ArquivosAdministração de ArquivosAdministração de ArquivosAdministração de ArquivosAdministração de ArquivosAdministração de ArquivosAdministração de Arquivos

Arquivos de dados do MATLAB:Arquivos de dados do MATLAB:Arquivos de dados do MATLAB:Arquivos de dados do MATLAB:

Salvar:Salvar:Salvar:Salvar:>>save(‘nome’,’var1’,’var2’,’var3’)

nome.m ou nome.mat

Carregar:Carregar:Carregar:Carregar:>>load (‘nome’,’var1’,’var2’,’var3’)

Arquivos de Excel: Arquivos de Excel: Arquivos de Excel: Arquivos de Excel: xlsread e xlswrite

Page 48: Taisalira-minicurso Matlab Parte1

GráficosGráficosGráficosGráficosGráficosGráficosGráficosGráficos

Bidimensionais:Bidimensionais:Bidimensionais:Bidimensionais:

x = -pi:.1:pi;

y = sin(x);

plot(x,y)

plot(x,y,’’’’or’’’’)xlabel('-\pi \leq \Theta \leq \pi')

ylabel('sin(\Theta)')

title('Plot of sin(\Theta)')

Page 49: Taisalira-minicurso Matlab Parte1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

0.8

1Plot of sin(Θ)

-4 -3 -2 -1 0 1 2 3 4-1

-4 -3 -2 -1 0 1 2 3 4-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

sin

( Θ)

-π ≤ Θ ≤ π

Page 50: Taisalira-minicurso Matlab Parte1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

seno

co-seno

-4 -3 -2 -1 0 1 2 3 4-1

-π ≤ Θ ≤ π

x = -pi:.1:pi;

y = sin(x);

Z = cos(x);

figure(2)

plot(x,y,’’’’og’’’’,x,z,’’’’r’’’’)xlabel('-\pi \leq \Theta \leq \pi')

legend(‘‘‘‘seno’’’’,’’’’co-seno’’’’)

Page 51: Taisalira-minicurso Matlab Parte1

SímboloSímboloSímboloSímbolo CorCorCorCor SímboloSímboloSímboloSímbolo MarcadorMarcadorMarcadorMarcador SímboloSímboloSímboloSímbolo Tipo de linhaTipo de linhaTipo de linhaTipo de linha

bbbb AzulAzulAzulAzul .... PontoPontoPontoPonto ---- Linha contínuaLinha contínuaLinha contínuaLinha contínua

gggg VerdeVerdeVerdeVerde oooo CírculoCírculoCírculoCírculo :::: Linha pontilhadaLinha pontilhadaLinha pontilhadaLinha pontilhada

rrrr VermelhoVermelhoVermelhoVermelho xxxx CruzCruzCruzCruz ----.... Traços e pontosTraços e pontosTraços e pontosTraços e pontos

cccc CianoCianoCianoCiano ++++ Sinal de positivoSinal de positivoSinal de positivoSinal de positivo -------- Linha tracejadaLinha tracejadaLinha tracejadaLinha tracejada

mmmm MagentaMagentaMagentaMagenta **** AsteriscoAsteriscoAsteriscoAsterisco

yyyy AmareloAmareloAmareloAmarelo ssss QuadradoQuadradoQuadradoQuadrado

kkkk PretoPretoPretoPreto dddd LosangoLosangoLosangoLosango

wwww BrancoBrancoBrancoBranco vvvv Triangulo para baixoTriangulo para baixoTriangulo para baixoTriangulo para baixo

^̂̂̂ Triangulo para cimaTriangulo para cimaTriangulo para cimaTriangulo para cima

^̂̂̂ Triangulo para cimaTriangulo para cimaTriangulo para cimaTriangulo para cima

<<<< Triangulo para esquerdaTriangulo para esquerdaTriangulo para esquerdaTriangulo para esquerda

>>>> Triangulo para direitaTriangulo para direitaTriangulo para direitaTriangulo para direita

pppp PentagramaPentagramaPentagramaPentagrama

hhhh HexagramaHexagramaHexagramaHexagrama

Page 52: Taisalira-minicurso Matlab Parte1

subplot(2,2,1)

plot(...)

subplot(2,2,2)

plot(...)

subplot(2,2,3)

plot(...)

subplot(2,2,4)

plot(...)

Page 53: Taisalira-minicurso Matlab Parte1

subplot(2,2,1:2)

plot(...)

subplot(2,2,3)

plot(...)

subplot(2,2,4)

plot(...)

Page 54: Taisalira-minicurso Matlab Parte1

FunçãoFunçãoFunçãoFunção DescriçãoDescriçãoDescriçãoDescrição

loglogloglogloglogloglog Gráfico logGráfico logGráfico logGráfico log----loglogloglog

semilogxsemilogxsemilogxsemilogx Gráfico logGráfico logGráfico logGráfico log----normal no eixo xnormal no eixo xnormal no eixo xnormal no eixo x

semilogysemilogysemilogysemilogy Gráfico logGráfico logGráfico logGráfico log----normal no eixo xnormal no eixo xnormal no eixo xnormal no eixo x

polarpolarpolarpolar Gráfico em coordenadas polaresGráfico em coordenadas polaresGráfico em coordenadas polaresGráfico em coordenadas polares

plotyyplotyyplotyyplotyy Gráfico com duas escalas diferentes na verticalGráfico com duas escalas diferentes na verticalGráfico com duas escalas diferentes na verticalGráfico com duas escalas diferentes na vertical

barbarbarbar Gráfico de barrasGráfico de barrasGráfico de barrasGráfico de barras

barhbarhbarhbarh Gráfico de barras horizontaisGráfico de barras horizontaisGráfico de barras horizontaisGráfico de barras horizontais

bar3bar3bar3bar3 Gráfico de barras tridimensionaisGráfico de barras tridimensionaisGráfico de barras tridimensionaisGráfico de barras tridimensionaisbar3bar3bar3bar3 Gráfico de barras tridimensionaisGráfico de barras tridimensionaisGráfico de barras tridimensionaisGráfico de barras tridimensionais

bar3hbar3hbar3hbar3h Gráfico de barras tridimensionais horizontaisGráfico de barras tridimensionais horizontaisGráfico de barras tridimensionais horizontaisGráfico de barras tridimensionais horizontais

histhisthisthist HistogramaHistogramaHistogramaHistograma

paretoparetoparetopareto Gráfico de ParetoGráfico de ParetoGráfico de ParetoGráfico de Pareto

piepiepiepie Gráfico em forma de pizzaGráfico em forma de pizzaGráfico em forma de pizzaGráfico em forma de pizza

xlimxlimxlimxlim Limites no eixo xLimites no eixo xLimites no eixo xLimites no eixo x

ylimylimylimylim Limites no eixo yLimites no eixo yLimites no eixo yLimites no eixo y

gridgridgridgrid Exibe as linhas de gradeExibe as linhas de gradeExibe as linhas de gradeExibe as linhas de grade

boxboxboxbox Exibe caixa em torno do gráficoExibe caixa em torno do gráficoExibe caixa em torno do gráficoExibe caixa em torno do gráfico

Page 55: Taisalira-minicurso Matlab Parte1

GráficosGráficosGráficosGráficosGráficosGráficosGráficosGráficos

Tridimensionais:Tridimensionais:Tridimensionais:Tridimensionais:

FunçãoFunçãoFunçãoFunção DescriçãoDescriçãoDescriçãoDescrição

plot3plot3plot3plot3Traça linhas e pontos no espaço Traça linhas e pontos no espaço Traça linhas e pontos no espaço Traça linhas e pontos no espaço

tridimensionaltridimensionaltridimensionaltridimensional

meshmeshmeshmesh Superfície na forma de uma redeSuperfície na forma de uma redeSuperfície na forma de uma redeSuperfície na forma de uma rede

Superfície na forma de uma rede com curvas Superfície na forma de uma rede com curvas Superfície na forma de uma rede com curvas Superfície na forma de uma rede com curvas meshcmeshcmeshcmeshc

Superfície na forma de uma rede com curvas Superfície na forma de uma rede com curvas Superfície na forma de uma rede com curvas Superfície na forma de uma rede com curvas de nível por baixode nível por baixode nível por baixode nível por baixo

meshzmeshzmeshzmeshzSuperfície na forma de uma rede com plano Superfície na forma de uma rede com plano Superfície na forma de uma rede com plano Superfície na forma de uma rede com plano

no nível zerono nível zerono nível zerono nível zero

surfsurfsurfsurf Gráfico de superfícieGráfico de superfícieGráfico de superfícieGráfico de superfície

surfcsurfcsurfcsurfcGráfico de superfíciecom curvas de nível por Gráfico de superfíciecom curvas de nível por Gráfico de superfíciecom curvas de nível por Gráfico de superfíciecom curvas de nível por

baixobaixobaixobaixo

Page 56: Taisalira-minicurso Matlab Parte1

plot3surfc

plot3surfc

meshz

Page 57: Taisalira-minicurso Matlab Parte1

Exemplo 1:Modelos simples - o tanque de nível

FE AFE AFE A

Exercício 1Exercício 1Exercício 1Exercício 1

h Fh Fh F

Considerando constantes a vazão de alimentação FE, a

densidade ρρρρ e a temperatura T, e que o sistema está sujeito à

condição inicial:

( ) 00 hth == (1)

Page 58: Taisalira-minicurso Matlab Parte1

Modelos simples - o tanque de nível

pode-se escrever o balanço de massa do sistema

( )( )FF

dt

tdmE −= ρ (2)

( ) ( )dt

tdhA

dt

tdmρ=

( )( )FF

Adt

tdhE −=

1

Ainda,

e, portanto,

(3)

(4)

Page 59: Taisalira-minicurso Matlab Parte1

Modelos simples - o tanque de nível

Freqüentemente, considera-se a vazão de saída do tanque

proporcional à altura da coluna de líquido é inversamente

proporcional a uma resistência ao escoamento (R):

h

R

hF =

( )

−=R

hF

Adt

tdhE

1

Logo,

(5)

(6)

Page 60: Taisalira-minicurso Matlab Parte1

Modelos simples - o tanque de nível

Este modelo simples de um tanque de nível, sem balanço de

energia, possui uma solução analítica:

( )

−=−RA

t

eRFth 1( )

−=

−RA

E eRFth 1

Para simular este modelo, basta escolher os valores das

constantes R, A e FE, das condições iniciais h0 e t0.

A simulação da solução analítica do modelo do tanque de

nível é mostrada a seguir.

(7)

Faça: R = 1; A = 2; FE = 10

Page 61: Taisalira-minicurso Matlab Parte1

InterpolaçãoInterpolaçãoInterpolaçãoInterpolaçãoInterpolaçãoInterpolaçãoInterpolaçãoInterpolação

Interpolação unidimensional:Interpolação unidimensional:Interpolação unidimensional:Interpolação unidimensional:

YI = INTERP1(X,Y,XI,METHOD)

The default is linear interpolation. Use an empty matrix [] to

specify the default. Available methods are:

'nearest' - nearest neighbor interpolation

'linear' - linear interpolation (default)'linear' - linear interpolation (default)

'spline' - piecewise cubic spline interpolation (SPLINE)

'pchip' - shape-preserving piecewise cubic interpolation

'cubic' - same as 'pchip'

'v5cubic' - the cubic interpolation from MATLAB 5, which

does not extrapolate and uses 'spline' if X is not equally

Page 62: Taisalira-minicurso Matlab Parte1

InterpolaçãoInterpolaçãoInterpolaçãoInterpolaçãoInterpolaçãoInterpolaçãoInterpolaçãoInterpolação

Interpolação bidimensional:Interpolação bidimensional:Interpolação bidimensional:Interpolação bidimensional:

ZI = INTERP2(X,Y,Z,XI,YI,METHOD)

The default is linear interpolation. Use an empty matrix [] to

specify the default. Available methods are:

'nearest' - nearest neighbor interpolation

'linear' - bilinear interpolation'linear' - bilinear interpolation

'cubic' - bicubic interpolation

'spline' - spline interpolation

Page 63: Taisalira-minicurso Matlab Parte1

PolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômios

Raízes: Raízes: Raízes: Raízes:

p(x) = x4-12x3+25x+116

>>p = [1 -12 0 25 116];

>>r = roots(p)

r = 11.7473

2.7028

-1.2251 + 1.4672i

-1.2251 - 1.4672i

Page 64: Taisalira-minicurso Matlab Parte1

PolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômios

Mutiplicação: Mutiplicação: Mutiplicação: Mutiplicação:

a(x) = x3+2x2+3x+4 e b(x) = x3+4x2+9x+16

>>a = [1 2 3 4];

>>b = [1 4 9 16];>>b = [1 4 9 16];

>>c = conv(a,b)

c =

1 6 20 50 75 84 64

c(x) = x6+6x5+20x4+50x3+75x2+84x+64

Page 65: Taisalira-minicurso Matlab Parte1

PolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômios

Adição: Adição: Adição: Adição:

a(x) = x3+2x2+3x+4 e b(x) = x3+4x2+9x+16

>>a = [1 2 3 4];

>>b = [1 4 9 16];>>b = [1 4 9 16];

>>d = a + b

d =

2 6 12 20

a(x) = 2x3+6x2+12x+20

Page 66: Taisalira-minicurso Matlab Parte1

PolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômios

Divisão: Divisão: Divisão: Divisão:

a(x) = x3+2x2+3x+4 e b(x) = x3+4x2+9x+16

>>a = [1 2 3 4];

>>b = [1 4 9 16];>>b = [1 4 9 16];

>>[q,r] =deconv(a,b)

q = 1

r = 0 -2 -6 -12

r(x) = 1 e q(x) = -2x2-6x-12

Page 67: Taisalira-minicurso Matlab Parte1

PolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômios

Derivadas: Derivadas: Derivadas: Derivadas:

p(x) = x4-12x3+25x+116

>>p = [1 -12 0 25 116];

>>h = polyder(p)>>h = polyder(p)

h = 4 -36 0 25

h(x) = 4x3-36x2+25

Page 68: Taisalira-minicurso Matlab Parte1

PolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômios

Integrais: Integrais: Integrais: Integrais:

h(x) = 4x3-36x2+25

>>h = [4 -36 0 25];

>>r = polyint(h,116)

r = = 1 -12 0 25 116

r(x) = x4-12x3+25x+116

Page 69: Taisalira-minicurso Matlab Parte1

PolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômios

Cálculo do polinômio num intervalo: Cálculo do polinômio num intervalo: Cálculo do polinômio num intervalo: Cálculo do polinômio num intervalo:

p(x) = x3+4x2-7x-10 x =[-1;3]

>>p = [1 4 -7 -10];

>>x = linspace(-1,3,5);>>x = linspace(-1,3,5);

>>v = polyval(p,x)

v = 0 -10 -12 0 32

Page 70: Taisalira-minicurso Matlab Parte1

PolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômiosPolinômios

Ajuste de curvas: Ajuste de curvas: Ajuste de curvas: Ajuste de curvas:

>>x = [0 0.1 0.2 0.3 0.4 0.5];

>>y = [-0.447 1.978 3.28 6.16 7.08 7.34];

>>p = polyfit(x,y,2)

p = -22.0589 27.3497 -0.5835p = -22.0589 27.3497 -0.5835

P(x) = -22.0589x2+27.3497x-0.5835

Page 71: Taisalira-minicurso Matlab Parte1

Integração NuméricaIntegração NuméricaIntegração NuméricaIntegração NuméricaIntegração NuméricaIntegração NuméricaIntegração NuméricaIntegração Numérica

F = @(x)1./(x.^3-2*x-5);

Q = quad(F,0,2)

Q = -0.46052

3

1

2 5

dxx x− −∫

function y = myfun(x)

y = 1./(x.^3-2*x-5);

Q = quad(@myfun,0,2)

Q = -0.4605

Ou:Ou:Ou:Ou: quadl

30 2 5

dxx x− −∫

Page 72: Taisalira-minicurso Matlab Parte1

Diferenciação NuméricaDiferenciação NuméricaDiferenciação NuméricaDiferenciação NuméricaDiferenciação NuméricaDiferenciação NuméricaDiferenciação NuméricaDiferenciação Numérica

dy y∆≈

∆dydx = diff(y)./diff(x)

dx x≈

∆dydx = diff(y)./diff(x)

Page 73: Taisalira-minicurso Matlab Parte1

Sistema de Equações Algébricas Sistema de Equações Algébricas Sistema de Equações Algébricas Sistema de Equações Algébricas Sistema de Equações Algébricas Sistema de Equações Algébricas Sistema de Equações Algébricas Sistema de Equações Algébricas Não LinearesNão LinearesNão LinearesNão LinearesNão LinearesNão LinearesNão LinearesNão Lineares

[x,fval] = fsolve(fun,x0)

Page 74: Taisalira-minicurso Matlab Parte1
Page 75: Taisalira-minicurso Matlab Parte1

Equações DiferenciaisEquações DiferenciaisEquações DiferenciaisEquações DiferenciaisEquações DiferenciaisEquações DiferenciaisEquações DiferenciaisEquações Diferenciais

EDOs PVI: EDOs PVI: EDOs PVI: EDOs PVI:

ODE23: : : : RungeRungeRungeRunge----Kutta de 2ª e 3ª ordens.Kutta de 2ª e 3ª ordens.Kutta de 2ª e 3ª ordens.Kutta de 2ª e 3ª ordens.ODE23s: : : : RungeRungeRungeRunge----Kutta de 2ª e 3ª ordens para Kutta de 2ª e 3ª ordens para Kutta de 2ª e 3ª ordens para Kutta de 2ª e 3ª ordens para problemas com rigidez numérica (problemas com rigidez numérica (problemas com rigidez numérica (problemas com rigidez numérica (stiff stiff stiff stiff ).).).).

::::RungeRungeRungeRunge----Kutta de 4ª e 5ª ordens.Kutta de 4ª e 5ª ordens.Kutta de 4ª e 5ª ordens.Kutta de 4ª e 5ª ordens.ODE45::::RungeRungeRungeRunge----Kutta de 4ª e 5ª ordens.Kutta de 4ª e 5ª ordens.Kutta de 4ª e 5ª ordens.Kutta de 4ª e 5ª ordens.

[T,Y] = solver(odefun,tspan,y0)

Page 76: Taisalira-minicurso Matlab Parte1
Page 77: Taisalira-minicurso Matlab Parte1

Tanque de aquecimento

h

FE ,TE

F , T

A

T

Th

h

FE ,TE

F , T

A

T

Th

Exercício 2Exercício 2Exercício 2Exercício 2

h F , TTh h F , TTh

Considerando constantes a vazão de alimentação FE, a

temperatura Th, o coeficiente global de transferência de calor U e

as propriedades do fluido ρρρρ e Cp e que o sistema está sujeito às

condições iniciais:

( ) 00 hth == ( ) 00 TtT ==

Page 78: Taisalira-minicurso Matlab Parte1

Modelos simples - tanque de aquecimento

Como no caso anterior, o balanço de massa pode ser escrito

como :

( )

−=R

hF

Adt

tdhE

1(6)

O balanço de energia é escrito como:O balanço de energia é escrito como:

( )

+−

+=

p

E

p

hEE

C

U

A

FT

C

UT

A

TF

hdt

dT

ρρ

1(11) (8)

Constantes do Modelo:R = 1 h/m2 Ro = 1000 kg/m3

A = 2 m2 U = 150 kJ/(m2 . s . K)FE = 10 m3/h TE = 530 KCp = 0.75 kJ/(kg.K) Th = 540 K

Condições iniciais:T0 = Th

h0 = 5/A