SlideShare uma empresa Scribd logo

Minicurso Matlab IVSEE 2013 UERJ

Apresentação sem vídeo do minicurso de matlab realizada na IV SEE

1 de 206
Baixar para ler offline
Mini-curso de MATLAB
IV Semana de Engenharia Elétrica
Professores:
Téo Revoredo – teorevoredo@uerj.br
Michel Tcheou – mtcheou@uerj.br
Referência Bibliográfica
n  Stephen J. Chapman, “Programação em
MATLAB para Engenheiros”, 2 edição,
Cengage Learning.
n  www.mathworks.com
2
Sumário
n  Introdução
n  Matlab Básico
n  Programação em Matlab
n  Matemática Simbólica
n  Interfaces gráficas e Toolbox
n  Simulink
3
Introdução
n  MATLAB é acrônimo de MATrix LABoratory
n  Foi desenvolvido inicialmente na década de
70 nas Universidades do Novo México e
Stanford.
n  Destinado a princípio a cursos de teoria
matricial, álgebra linear e análise numérica.
n  Voltado basicamente para matemática
numérica.
4
Introdução
n  Hoje, é um ambiente de programação
de alto nível para aplicações Científicas
e de Engenharia.
n  Facilidades
n  Oferece um amplo leque de bibliotecas de
funções pré-definidas.
n  Muito amigável em funcionalidades
gráficas para Visualização de Dados.
5
Introdução
n  Hoje, é um ambiente de programação
de alto nível para aplicações Científicas
e de Engenharia.
n  Facilidades
n  Amplamente divulgado em Universidades
e laboratórios de pesquisa.
n  Conveniente para o desenvolvimento de
protótipos.
6
Anúncio

Recomendados

Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...Tiago Oliveira Weber
 
Introdução ao Matlab
Introdução ao MatlabIntrodução ao Matlab
Introdução ao Matlabedusfernandes
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlabblogmaxima
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao OctavePeslPinguim
 

Mais conteúdo relacionado

Mais procurados (20)

Filtro_matlab_toobox
Filtro_matlab_tooboxFiltro_matlab_toobox
Filtro_matlab_toobox
 
Apostila vol1 matlab
Apostila vol1 matlabApostila vol1 matlab
Apostila vol1 matlab
 
Apostila matlab
Apostila matlabApostila matlab
Apostila matlab
 
Aula6 programação
Aula6 programaçãoAula6 programação
Aula6 programação
 
Curso de Matlab avancado 2
Curso de Matlab avancado 2Curso de Matlab avancado 2
Curso de Matlab avancado 2
 
Curso de Matlab avancado 1
Curso de Matlab avancado 1Curso de Matlab avancado 1
Curso de Matlab avancado 1
 
Curso de Matlab basico
Curso de Matlab basicoCurso de Matlab basico
Curso de Matlab basico
 
Matlab - Conceitos Básicos
Matlab - Conceitos BásicosMatlab - Conceitos Básicos
Matlab - Conceitos Básicos
 
Simulink -oliveira
Simulink  -oliveiraSimulink  -oliveira
Simulink -oliveira
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
Mini-Curso: gnuplot
Mini-Curso: gnuplotMini-Curso: gnuplot
Mini-Curso: gnuplot
 
SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorial
 
Lista funcões e recursividade
Lista funcões e recursividadeLista funcões e recursividade
Lista funcões e recursividade
 
Cálculo numérico
Cálculo numéricoCálculo numérico
Cálculo numérico
 
Construcao de Algoritmos - Aula 04
Construcao de Algoritmos - Aula 04Construcao de Algoritmos - Aula 04
Construcao de Algoritmos - Aula 04
 
Simulink 4
Simulink 4Simulink 4
Simulink 4
 
Tutorial br mathematica 5.2
Tutorial br mathematica 5.2Tutorial br mathematica 5.2
Tutorial br mathematica 5.2
 
Calculo numerico
Calculo numerico Calculo numerico
Calculo numerico
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03
 

Destaque

Analise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabAnalise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabDavid Luna Santos
 
Mecanica aplicada-apostila
Mecanica aplicada-apostilaMecanica aplicada-apostila
Mecanica aplicada-apostilaMaitsudá Matos
 
Objetivos de desempenho prova
Objetivos de desempenho provaObjetivos de desempenho prova
Objetivos de desempenho provanigr0 s
 
Modelo trabalho na ABNT
Modelo trabalho na ABNTModelo trabalho na ABNT
Modelo trabalho na ABNTMicheli Wink
 

Destaque (7)

Guia Matlab
Guia MatlabGuia Matlab
Guia Matlab
 
Analise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabAnalise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com Matlab
 
Mecanica aplicada-apostila
Mecanica aplicada-apostilaMecanica aplicada-apostila
Mecanica aplicada-apostila
 
Regressao linear multipla
Regressao linear multiplaRegressao linear multipla
Regressao linear multipla
 
Sinais senoidais
Sinais senoidaisSinais senoidais
Sinais senoidais
 
Objetivos de desempenho prova
Objetivos de desempenho provaObjetivos de desempenho prova
Objetivos de desempenho prova
 
Modelo trabalho na ABNT
Modelo trabalho na ABNTModelo trabalho na ABNT
Modelo trabalho na ABNT
 

Semelhante a Minicurso Matlab IVSEE 2013 UERJ

Plano de Aula Duncan PO1 CAP 2
Plano de Aula Duncan PO1 CAP 2Plano de Aula Duncan PO1 CAP 2
Plano de Aula Duncan PO1 CAP 2luisadr
 
Cartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfCartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfEdkallenn Lima
 
Redes neurais com matlab
Redes neurais com matlabRedes neurais com matlab
Redes neurais com matlabRenato Vicente
 
Plano de aula po1 capitulo 2 revisão algebra 2015 vrs 0001
Plano de aula po1 capitulo 2   revisão algebra 2015 vrs 0001Plano de aula po1 capitulo 2   revisão algebra 2015 vrs 0001
Plano de aula po1 capitulo 2 revisão algebra 2015 vrs 0001Luis Duncan
 
Solução de equações não lineares weslley
Solução de equações não lineares weslleySolução de equações não lineares weslley
Solução de equações não lineares weslleyWeslley Assis
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dadosgjpbg
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2Leandro Lopes
 
14 algoritmos de classificacao de tabelas
14   algoritmos de classificacao de tabelas14   algoritmos de classificacao de tabelas
14 algoritmos de classificacao de tabelasRicardo Bolanho
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaodiogoa21
 
Inteligencia artificial 10
Inteligencia artificial 10Inteligencia artificial 10
Inteligencia artificial 10Nauber Gois
 
Aula eng ambmatlab2
Aula  eng  ambmatlab2Aula  eng  ambmatlab2
Aula eng ambmatlab2ETEEPA
 
Aula eng ambmatlab2
Aula  eng  ambmatlab2Aula  eng  ambmatlab2
Aula eng ambmatlab2ETEEPA
 
Notas de aula 1 cinematica mecanismos
Notas de aula 1 cinematica mecanismosNotas de aula 1 cinematica mecanismos
Notas de aula 1 cinematica mecanismosVanessa Santos
 
Turorial Básico de Matlab.
Turorial Básico de Matlab. Turorial Básico de Matlab.
Turorial Básico de Matlab. Lourran Freire
 
2 0 cap 002
2 0 cap 0022 0 cap 002
2 0 cap 002luisadr
 
Algoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesAlgoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesRADILSON RIPARDO DE FRETIAS
 

Semelhante a Minicurso Matlab IVSEE 2013 UERJ (20)

Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
Plano de Aula Duncan PO1 CAP 2
Plano de Aula Duncan PO1 CAP 2Plano de Aula Duncan PO1 CAP 2
Plano de Aula Duncan PO1 CAP 2
 
Cartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfCartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdf
 
Redes neurais com matlab
Redes neurais com matlabRedes neurais com matlab
Redes neurais com matlab
 
Plano de aula po1 capitulo 2 revisão algebra 2015 vrs 0001
Plano de aula po1 capitulo 2   revisão algebra 2015 vrs 0001Plano de aula po1 capitulo 2   revisão algebra 2015 vrs 0001
Plano de aula po1 capitulo 2 revisão algebra 2015 vrs 0001
 
Solução de equações não lineares weslley
Solução de equações não lineares weslleySolução de equações não lineares weslley
Solução de equações não lineares weslley
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2
 
14 algoritmos de classificacao de tabelas
14   algoritmos de classificacao de tabelas14   algoritmos de classificacao de tabelas
14 algoritmos de classificacao de tabelas
 
VetoresMatrizes.pdf
VetoresMatrizes.pdfVetoresMatrizes.pdf
VetoresMatrizes.pdf
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
 
Calculo numérico
Calculo numéricoCalculo numérico
Calculo numérico
 
Inteligencia artificial 10
Inteligencia artificial 10Inteligencia artificial 10
Inteligencia artificial 10
 
Aula eng ambmatlab2
Aula  eng  ambmatlab2Aula  eng  ambmatlab2
Aula eng ambmatlab2
 
Aula eng ambmatlab2
Aula  eng  ambmatlab2Aula  eng  ambmatlab2
Aula eng ambmatlab2
 
Notas de aula 1 cinematica mecanismos
Notas de aula 1 cinematica mecanismosNotas de aula 1 cinematica mecanismos
Notas de aula 1 cinematica mecanismos
 
Turorial Básico de Matlab.
Turorial Básico de Matlab. Turorial Básico de Matlab.
Turorial Básico de Matlab.
 
2 0 cap 002
2 0 cap 0022 0 cap 002
2 0 cap 002
 
Apostila rpira
Apostila rpiraApostila rpira
Apostila rpira
 
Algoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesAlgoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizes
 

Último

Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...
Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...
Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...manoelaarmani
 
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...azulassessoriaacadem3
 
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...azulassessoriaacadem3
 
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...excellenceeducaciona
 
1. Considerando todas as informações que você obteve, descritas acima, calcul...
1. Considerando todas as informações que você obteve, descritas acima, calcul...1. Considerando todas as informações que você obteve, descritas acima, calcul...
1. Considerando todas as informações que você obteve, descritas acima, calcul...azulassessoriaacadem3
 
1. Considerando todas as informações que você obteve, descritas acima, calcul...
1. Considerando todas as informações que você obteve, descritas acima, calcul...1. Considerando todas as informações que você obteve, descritas acima, calcul...
1. Considerando todas as informações que você obteve, descritas acima, calcul...azulassessoriaacadem3
 
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...azulassessoriaacadem3
 
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!Psyc company
 
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...azulassessoriaacadem3
 
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...azulassessoriaacadem3
 
Atividade O homem mais rico da Babilônia.pdf
Atividade O homem mais rico da Babilônia.pdfAtividade O homem mais rico da Babilônia.pdf
Atividade O homem mais rico da Babilônia.pdfRuannSolza
 
Slides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptx
Slides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptxSlides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptx
Slides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptxLuizHenriquedeAlmeid6
 
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...azulassessoriaacadem3
 
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...azulassessoriaacadem3
 
B) Discorra sobre o que contempla cada uma das cinco dimensões da sustentabil...
B) Discorra sobre o que contempla cada uma das cinco dimensões da sustentabil...B) Discorra sobre o que contempla cada uma das cinco dimensões da sustentabil...
B) Discorra sobre o que contempla cada uma das cinco dimensões da sustentabil...azulassessoriaacadem3
 
Discorra sobre a classificação da interpretação jurídica quanto à sua origem ...
Discorra sobre a classificação da interpretação jurídica quanto à sua origem ...Discorra sobre a classificação da interpretação jurídica quanto à sua origem ...
Discorra sobre a classificação da interpretação jurídica quanto à sua origem ...excellenceeducaciona
 
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...azulassessoriaacadem3
 
Sendo assim, desenvolva um breve texto que possa evidenciar a importância da ...
Sendo assim, desenvolva um breve texto que possa evidenciar a importância da ...Sendo assim, desenvolva um breve texto que possa evidenciar a importância da ...
Sendo assim, desenvolva um breve texto que possa evidenciar a importância da ...excellenceeducaciona
 
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...azulassessoriaacadem3
 

Último (20)

Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...
Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...
Desafie-se Como Estabelecer Metas de Fitness Realistas e Alcançáveis em Casa ...
 
Slides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptx
Slides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptxSlides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptx
Slides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptx
 
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
 
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...
c) A fosforilação oxidativa é a etapa da respiração celular que mais produz A...
 
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
 
1. Considerando todas as informações que você obteve, descritas acima, calcul...
1. Considerando todas as informações que você obteve, descritas acima, calcul...1. Considerando todas as informações que você obteve, descritas acima, calcul...
1. Considerando todas as informações que você obteve, descritas acima, calcul...
 
1. Considerando todas as informações que você obteve, descritas acima, calcul...
1. Considerando todas as informações que você obteve, descritas acima, calcul...1. Considerando todas as informações que você obteve, descritas acima, calcul...
1. Considerando todas as informações que você obteve, descritas acima, calcul...
 
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...
Sobre os princípios da teoria burocrática de Max Weber e com base em suas exp...
 
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
 
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
 
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
 
Atividade O homem mais rico da Babilônia.pdf
Atividade O homem mais rico da Babilônia.pdfAtividade O homem mais rico da Babilônia.pdf
Atividade O homem mais rico da Babilônia.pdf
 
Slides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptx
Slides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptxSlides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptx
Slides Lição 8, Betel, Família, uma Obra em permanente construção, 1Tr24.pptx
 
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
 
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
 
B) Discorra sobre o que contempla cada uma das cinco dimensões da sustentabil...
B) Discorra sobre o que contempla cada uma das cinco dimensões da sustentabil...B) Discorra sobre o que contempla cada uma das cinco dimensões da sustentabil...
B) Discorra sobre o que contempla cada uma das cinco dimensões da sustentabil...
 
Discorra sobre a classificação da interpretação jurídica quanto à sua origem ...
Discorra sobre a classificação da interpretação jurídica quanto à sua origem ...Discorra sobre a classificação da interpretação jurídica quanto à sua origem ...
Discorra sobre a classificação da interpretação jurídica quanto à sua origem ...
 
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
4. Agora para analisar os resultados obtidos, você irá utilizar a classificaç...
 
Sendo assim, desenvolva um breve texto que possa evidenciar a importância da ...
Sendo assim, desenvolva um breve texto que possa evidenciar a importância da ...Sendo assim, desenvolva um breve texto que possa evidenciar a importância da ...
Sendo assim, desenvolva um breve texto que possa evidenciar a importância da ...
 
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
 

Minicurso Matlab IVSEE 2013 UERJ

  • 1. Mini-curso de MATLAB IV Semana de Engenharia Elétrica Professores: Téo Revoredo – teorevoredo@uerj.br Michel Tcheou – mtcheou@uerj.br
  • 2. Referência Bibliográfica n  Stephen J. Chapman, “Programação em MATLAB para Engenheiros”, 2 edição, Cengage Learning. n  www.mathworks.com 2
  • 3. Sumário n  Introdução n  Matlab Básico n  Programação em Matlab n  Matemática Simbólica n  Interfaces gráficas e Toolbox n  Simulink 3
  • 4. Introdução n  MATLAB é acrônimo de MATrix LABoratory n  Foi desenvolvido inicialmente na década de 70 nas Universidades do Novo México e Stanford. n  Destinado a princípio a cursos de teoria matricial, álgebra linear e análise numérica. n  Voltado basicamente para matemática numérica. 4
  • 5. Introdução n  Hoje, é um ambiente de programação de alto nível para aplicações Científicas e de Engenharia. n  Facilidades n  Oferece um amplo leque de bibliotecas de funções pré-definidas. n  Muito amigável em funcionalidades gráficas para Visualização de Dados. 5
  • 6. Introdução n  Hoje, é um ambiente de programação de alto nível para aplicações Científicas e de Engenharia. n  Facilidades n  Amplamente divulgado em Universidades e laboratórios de pesquisa. n  Conveniente para o desenvolvimento de protótipos. 6
  • 7. Introdução n  Vantagens n  Facilidade de Uso n  Independência de Plataforma n  Funções Predefinidas n  Interface Gráfica de Usuário n  Compilador MATLAB n  Desvantagens n  Linguagem Interpretada n  Custo 7
  • 8. Introdução n  O que mais? n  Lógica fuzzy n  Redes Neurais n  Processamento de sinais n  Aquisição de dados n  Banco de Dados n  Finanças n  Mapas n  Controle Robusto n  Animação n  Simulação de sistemas dinâmicos (Simulink) n  Etc 8
  • 11. Introdução n  Informações do sistema n  computer – Tipo de computador onde o MATLAB está operando n  version – Versão do MATLAB n  ver – Detalhes da versão do MATLAB e dos toolboxes n  license – Apresenta a licença do produto 11
  • 13. Sumário – Matlab Básico n  Números e formatos n  Variáveis e funções n  Vetores n  Matrizes n  Operações n  Gráficos 13
  • 14. Números e formatos n  O MATLAB reconhece vários tipos de números: n  Integer (Ex: 12 - 678), n  Real (Ex: 4.607 - 199.34), n  Complex (Ex: 2 + 3i , i=j=sqrt(-1)), n  Inf (Ex: Infinity 2/0), n  NaN (EX: Not a Number, 0/0). n  Todos os cálculos são feitos em precisão dupla (Double precision) 14
  • 15. Números e formatos n  O comando format é usado para controlar a impressão dos números n  O nº de dígitos apresentados não tem a ver com a exatidão n  Para formatar a visualização: n  format short e: Notação científica com 5 casas decimais n  format long e: Notação científica com 15 casas decimais n  format bank: Colocação de dois dígitos significativos nas casas decimais 15
  • 16. Comando pi Comentários format short 3.1416 5 dígitos format long 3.14159265358979 16 dígitos format short e 3.1416e+000 5 dígitos + expoente format long e 3.141592653589793e+000 16 dígitos + expoente format short g 3.1416 short ou short e format long g 3.14159265358979 long ou long e format hex 400921fb54442d18 Hexadecimal, ponto flutuante format bank 3.14 2 digitos decimais format + + positivo(+), negativo(-) ou zero(0) format rat 355/113 razão aproximada Números e formatos n  Formatos 16
  • 17. n  Pode-se armazenar valores em variáveis no MATLAB. n  Variáveis devem ter um nome único, começando com uma letra e podem conter dígitos ou o símbolo _ (underline). n  O MATLAB distingue letras maiúsculas de minúsculas. Variáveis e funções 17
  • 18. n  Exemplo: >> distancia = 100 distancia = 100 >> tempo = 3 tempo = 3 >> velocidade_media = distancia / tempo velocidade_media = 33.3333 Variáveis e funções 18
  • 19. Variáveis e funções n  Criando e iniciando variáveis: n  Expressões de atribuição n  Entrada pelo Teclado 19 var = 40i; var2 = var/5; x = 1; y = 2; array = [1 2 3 4]; my_val = input('Enter an input value:');
  • 20. Variáveis e funções n  Criando e iniciando variáveis: n  Expressões de atalho n  Funções pré-definidas 20 x = 1:2:10 angles = (0.01:0.01:1.00)*pi; a = zeros(2); b = zeros(2,3); c = [1 2; 3 4]; d = zeros(size(c));
  • 21. n  Note que ao digitar o nome da variável, o símbolo = e o seu valor, o MATLAB armazena a variável e a apresenta na tela. n  Para suprimir a exibição da variável deve-se adicionar um ponto-e-vírgula ao final do comando. Variáveis e funções 21
  • 22. n  Ao criar uma expressão sem armazená-la em uma variável, o MATLAB a salva automaticamente na variável ans. Variáveis e funções 22
  • 23. n  O comando who mostra todas as variáveis armazenadas durante uma sessão do MATLAB. >> who Your variables are: ans tempo Distancia velocidade_media Variáveis e funções 23
  • 24. n  O comando clear “apaga” uma ou mais variáveis. >> clear tempo - Apaga somente a variável tempo. >> clear velocidade_media distancia - Apaga as variáveis velocidade_média e distancia. >> clear - Apaga TODAS as variáveis da sessão. Variáveis e funções 24
  • 25. Variáveis e funções n  Variáveis especiais n  ans - Nome de variável padrão usado para resultados. n  pi - 3.1416 n  eps - Menor número que somado a 1, cria um número maior do que 1. n  inf - Infinito. n  NaN - Não número. n  i e j - n  realmin - menor número real positivo n  realmax - maior número real positivo 1− 25
  • 26. Variáveis e funções n  Funções elementares n  abs(x) - Valor absoluto n  acos(x) - Arco cosseno n  asin(x) - Arco seno n  atan(x) - Arco tangente n  cos(x) - Cosseno n  exp(x) - Exponencial (ex) n  log(x) - Logaritmo natural (base e) n  log10(x) - Logaritmo na base 10 n  sin(x) - Seno n  sqrt(x) - Raiz quadrada n  tan(x) - Tangente 26
  • 27. Variáveis e funções n  Exemplos >> sin(pi/2) ans = 1 >> cos(pi/4)^2 ans = 0.5000 >> asin(1)*180/pi ans = 90 27
  • 28. Variáveis e funções n  Recuperando comandos n  Para evitar redigitação, o Matlab armazena todos os comandos do usuário durante uma sessão. n  Para acessar os comandos anteriores basta pressionar a tecla ↑ (seta para cima) seguidas vezes até encontrar o comando desejado. n  O comando então pode ser editado e executado novamente. 28
  • 29. Variáveis e funções n  Ajuda n  Ajuda e informação no MatLab podem ser obtidas de várias formas n  Na linha de comando usando help tópico n  Numa janela de ajuda separada no menu de help n  No helpdesk MatLab mantido no disco ou CD-ROM ou na internet 29
  • 30. Variáveis e funções n  Ajuda n  Ajuda na linha de comandos n  >>help pi PI 3.1415926535897.... PI = 4*atan(1) = imag(log(-1)) = 3.1415926535897.... n  >>help sin SIN Sine. SIN(X) is the sine of the elements of X. n  >>lookfor fft 30
  • 31. Variáveis e funções n  função disp(str) n  >> str = ['The value of pi = ' num2str(pi)]; n  >> disp (str); n  função fprintf(format,data) n  >> fprintf('The value of pi is %f n',pi) n  >> fprintf('The value of pi is %6.2f n',pi) 31 Formatação Resultados %d Exibe valor como inteiro %e Exibe valor no formato científico %f Exibe valor como ponto flutuante n Muda de linha
  • 32. Variáveis e funções n  Salvando seções n  Para salvar uma sessão do MATLAB, deve-se usar a opção Save Workspace As no menu File. n  Para abrir uma sessão salva anteriormente deve-se utilizar a opção Open no menu File. n  É possível usar os comandos load e save 32
  • 33. Vetores n  O MATLAB pode trabalhar com vetores de elementos, realizando operações sobre eles 33
  • 34. Vetores n  Definição de vetores n  >> A = [0 1 2 3 4 5] A = 0 1 2 3 4 5 n  Outra forma de se criar um conjunto: n  >> A = 1:1:5 A = 1 2 3 4 5 n  O primeiro valor é o valor inicial, o segundo o “salto”e o terceiro o valor final. 34
  • 35. Vetores n  Função linspace - Gera um vetor linearmente espaçado a partir de um valor inicial, um valor final e um número de elementos. n  >> X = linspace(0,pi,6) X = 0 0.6283 1.2566 1.8850 2.5133 3.1416 35
  • 36. Vetores n  Função logspace - Gera um vetor logaritmicamente espaçado a partir de uma potência inicial, uma potência final e uma quantidade de valores. n  >> V = logspace(0,2,5) V = 1.0000 3.1623 10.0000 31.6228 100.0000 36
  • 37. Vetores n  Acesso a um elemento de um vetor: n  Z = 1 4 9 16 25 n  >> Z(1) ans = 1 n  >> Z(2) ans = 4 n  >> Z(6) ??? Index exceeds matrix dimensions. 37
  • 38. Vetores n  Pode-se acessar mais de um elemento: n  >> Z(1:3) ans = 1 4 9 n  >> Z(3:5) ans = 9 16 25 n  >> Z(2:4) ans = 4 9 16 38
  • 39. Matrizes n  O Matlab permite a criação de matrizes com tantas dimensões quanto necessário para um dado problema 39
  • 40. Matrizes n  Definição de matrizes: n  >> M = [1 0 -1; 2 3 4; -7 1 3] M = 1 0 -1 2 3 4 -7 1 3 n  Os elementos da linha são separados por espaço em branco e as linhas são separadas por ponto-e-vírgula. 40
  • 41. Matrizes n  Pode-se criar matrizes a partir de vetores ou outras matrizes n  >> b = [2 -3 1]; n  >> Mx = [b' M(:,2:3)] Mx = 2 0 -1 -3 3 4 1 1 3 41
  • 42. Matrizes n  Pode-se criar matrizes a partir de vetores ou outras matrizes n  M(:, 2:3) significa a parte da matriz M compreendida por todas as linhas (:) e as colunas 2 e 3 (2:3). n  A matriz Mx foi gerada concatenando-se o vetor b transposto e as colunas 2 e 3 da matriz M. 42
  • 43. n  Funções para manipular matrizes n  eye – matriz identidade n  zeros – matriz composta de 0s n  ones – matriz composta de 1s n  rand – matriz de números aleatório n  diag – matriz diagonal n  Rot90 – rotação de uma matriz em 90 graus n  etc Matrizes 43
  • 44. n  Operadores aritiméticos n  Forma Geral: A op B n  + Soma Estrutural e Matricial n  - Subtração Estrutural e Matricial n  * Multiplicação Matricial n  / Divisão Matricial à Direita n  Divisão Matricial à Esquerda n  ^ Expoente Matricial n  ‘ Operador de Transposição Operações Aritméticas 44
  • 46. n  A + B 0 2 2 2 n  A – B 2 -2 2 0 n  A + C Operação ilegal n  A + D 6 5 7 6 Operações Aritméticas n  Operadores aritméticos 46
  • 47. n  A * B -1 2 2 5 n  A * C 3 8 n  A .* B -1 0 0 1 n  A .* C Operação ilegal Operações Aritméticas n  Operadores aritméticos 47
  • 48. n  A / B -1 2 -2 5 n  A B -1 2 2 -3 n  A ./ B -1 0 Inf 1 n  A . B -1 Inf 0 1 Operações Aritméticas n  Operadores aritméticos 48
  • 49. Operações Aritméticas n  Hierarquia de operações aritméticas 49 Precedência Operação 1 O conteúdo de todos os parênteses é avaliado, a partir dos parênteses mais internos em direção aos mais externos 2 Todos os expoentes são avaliados, da esquerda para a direita 3 Todas as multiplicações e divisões são avaliadas, da esquerda para a direita. 4 Todas as somas e subtrações são avaliadas, da esquerda para a direita distance = 0.5*accel*time^2 distance = 0.5*accel*(time^2) distance = (0.5*accel*time)^2
  • 50. Operações Aritméticas n  Avalie as hierarquias de operações 50 a = 3; b = 2; c = 5; d = 3; output = a*b+c*d; output = a*(b+c)*d; output = (a*b)+(c*d); output = a^b^d; output = a^(b^d);
  • 51. n  Operadores relacionais n  Forma geral: A op B n  A e B: Operandos. Pode ser uma matriz, um escalar ou uma cadeia de caracteres. n  Op: Operador Operador Operação == Igual a ~= Diferente de > Maior que >= Maior que ou igual a < Menor que <= Menor que ou igual a Operações Relacionais 51
  • 52. n  Operadores relacionais n  Os operadores <, <=, > e >= são usados para comparar a parte real dos operandos. n  Os operadores == e ~= são usados para comparar a parte real e imaginária dos operandos. Operações Relacionais 52
  • 53. n  Operadores relacionais Expressão Resultado 5 > 3 1 ‘AC’ > ‘BA´ 0 1 a > b 1 0 1 + j <= 2 + 3*j 1 x >= [3 8] 1 0 a > c 0 1 2 + j == 1+ j 0 5 + j ~= 2 + j 1 a = [2 1] b = [ 1 1 ] c = [ 0 2 ] x = [ 4 2] Operações Relacionais 53
  • 54. n  Operadores lógicos Operação Lógica Binária Operação Lógica Unária A op B op A Operador Operação & E lógico l OU lógico xor Ou exclusivo lógico ~ Não lógico Operações Lógicas 54
  • 55. Entradas e ou xor não A B A & B A l B xor(A,B) ~A 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 Operações Lógicas n  Operadores lógicos 55
  • 56. n  Operadores lógicos n  Precedência dos operadores 1. Os operadores aritméticos são avaliados primeiro. 2. Os operadores relacionais são avaliados da esquerda para a direita. 3. Todos os operadores ~ são avaliados. 4. Todos os operadores & são avaliados. 5. Todos os operadores I são avaliados. OBS: Sempre use parênteses para indicar a ordem correta desejada de avaliação de uma expressão. Operações Lógicas 56
  • 57. Expressão Resultado ~A 0 A l B 1 B l C 1 3 > 4 & 1 0 3 > (4 & 1) 1 ~C 0 A l B & C 1 A & C 1 B & C 0 A = 1, B = 0 e C = -10 Operações Lógicas 57
  • 58. n  Exercícios 1. Para as matrizes A e B, definidas a baixo, execute as seguintes operações e interprete os resultados. a) A+B b) A*B c) A.*B d) A.^2 e) A^2 f) A*A g) inv(A) h) inv(A)*A i) AB j) A/B k) A/B – eye(3) l) A*inv(B) – eye(3) ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 073 110 013 113 210 321 BA Exercícios 58
  • 59. n  Exercícios 2. Utilizando os comandos zeros, ones e eye, construa as seguintes matrizes Exercícios ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ =⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 10 01 1 1 111 111 111 0000 0000 0000 0000 DCBA !zeros(4)! ! ones(3) ! ones(2,1) ! eye(2)! 59
  • 60. n  Pode-se gerar gráficos a partir de matrizes. n  Exemplo n  >> X = linspace(0,2*pi,100); >> Y = sin(X); >> plot(X,Y) Gráficos 60
  • 61. n  Duas linhas no mesmo gráfico (seno e cosseno): n  >> Z = cos(X); >> plot(X,Y,X,Z) Gráficos 61
  • 62. n  Título para o gráfico: >> title('seno(x) e cosseno(x)') n  Nome para o eixo x: >> xlabel('grau (em radianos)') n  Nome para o eixo y: >> ylabel('variaveis dependentes') Gráficos 62
  • 64. n  Linhas de grade n  >> grid Gráficos 64
  • 65. Gráficos n  Cores e estilos de linha, estilos de marcadores e legendas 65 b blue . point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus -- dashed m magenta * star (none) no line y yellow s square k black d diamond w white v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram
  • 66. Gráficos 66 x = 0:1:10; y = x.^2 - 10.*x + 15; plot(x,y); x = 0:1:10; y = x.^2 - 10.*x + 15; plot(x,y,'r--',x,y,'bo');
  • 69. n  Sequência rampa n  Uma sequência rampa transladada com declive B é definida como n  Sequência rampa unitária e sequências de rampa transladada )()( 0nnBng −= Código MATLAB : n=-10:1:20; f=2*(n-10); stem(n,f); Exercícios 69
  • 71. n  Sequência exponencial Real n  Definida como: n  Exemplo para A = 10 e a = 0.9, a sequência aproxima-se de zero quando n tende para infinito e aproxima-se de mais infinito quando n tende para menos infinito Exercícios n aAnf )()( = Código MATLAB: n=-10:1:10; f =10*(.9).^n; stem(n,f); axis([-10 10 0 30]); 71
  • 73. n  Sequência senoidal n  Uma sequência senoidal pode ser descrita como: n  Onde A é um número real positivo (amplitude), N é o período, e a a fase. n  Exemplo: n  A = 5, N = 16 n  e Exercícios ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ += α π N n Anf 2 cos)( .4/π=a 73
  • 74. n  Sequência senoidal Exercícios Código MATLAB: 1.  n=-20:1:20; 2.  f=5*[cos(n*pi/8+pi/4)]; 3.  stem(n,f); 74
  • 76. n  Sequência senoidal modulada exponencialmente n  Obtém-se através da multiplicação de uma sequência exponencial por uma sequência senoidal. n  Pode ser descrita por : n  Exemplo: n  A = 10, N = 16, a = 0.9 n  Exercícios ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ += α π N n aAng n 2 cos)()( .4/πα = 76
  • 77. n  Sequência senoidal modulada exponencialmente Exercícios Código MATLAB: 1.  n=-20:1:20; 2.  f=10*[0.9 .^n]; 3.  g=[cos(2*n*pi/16+pi/4)]; 4.  h=f.*g; 5.  stem(n,h); 6.  axis([-20 20 -30 70]); 77
  • 79. n  Gráficos 3D n  Gráficos de Linhas - Função plot3 >> X = linspace(0, 10*pi, 300); >> Y = sin(X); >> Z = cos(X); >> plot3(X,Y,Z) >> grid Gráficos 79
  • 80. n  Gráficos 3D n  Gráficos de Superfícies - funcão mesh >> v = linspace(-10,10,20); >> [X, Y] = meshgrid(v,v); >> Z = X.^2 + Y.^2; >> mesh(X,Y,Z) n  Utilizamos a função meshgrid para gerar X e Y como matrizes com valores repetidos que são utilizadas para gerar a matriz Z. Gráficos 80
  • 81. n  Gráficos 3D n  Gráficos de Superfícies - funcão mesh >> v = linspace(-10,10,20); >> [X, Y] = meshgrid(v,v); >> Z = X.^2 + Y.^2; >> mesh(X,Y,Z) n  Utilizamos a função meshgrid para gerar X e Y como matrizes com valores repetidos que são utilizadas para gerar a matriz Z. Gráficos 81
  • 83. n  Gráficos 3D n  Função mesh - superfícies em rede n  Função surf - superfícies coloridas (opacas) n  Função surfl - superfícies coloridas com uma fonte de luz. n  Exemplo 1: >> surf(X,Y,Z) n  Exemplo 2: >> colormap(gray) >> surfl(X,Y,Z) Gráficos 83
  • 85. n  Rotação em gráficos 3D n  Para rotacionar um gráfico 3D primeiro clique no botão presente na janela do gráfico. n  Após isto, clique sobre o gráfico e mantenha o botão do mouse pressionado. n  Uma caixa irá aparecer indicando a direção do gráfico. n  Agora, basta movimentar o mouse para ajustar a posição desejada do gráfico. Gráficos 85
  • 86. n  Superfícies de contorno n  Função contour - Gera superfícies de contorno. >> contour(X,Y,Z,30) n  Os três primeiros parâmetros são as matrizes com os dados para os gráficos. O quarto parâmetro é o número de contornos. Gráficos 86
  • 88. n  Superfícies de contorno n  Função pcolor - Gráfico de pseudocores n  >> pcolor(X,Y,Z) Gráficos 88
  • 90. Sumário – Programação em Matlab n  Projeto de programa n  Arquivo de comando n  Estruturas de controle n  Funções definidas pelo usuário 90
  • 91. Projeto de Programa n  Diante de um novo problema, é natural irmos direto ao teclado sem perder tempo a respeito do problema; n  Em casos de problemas pequenos, é possível resolver a situação com essa abordagem “em tempo real”; n  Para problemas maiores, vale a pena pensar no problema e na abordagem a ser usada antes de escrever uma linha de código; 91
  • 92. Projeto de Programa n  Projeto Top-down 92 Estabeleça o problema que você está tentando resolver Defina as entradas e saídas requeridas Projete o algoritmo Converta o algoritmo em MATLAB Teste o programa MATLAB resultante Início Fim
  • 93. n  Algoritmo n  Série de ações executadas em uma ordem especifica. n  Pseudocódigo n  Linguagem artificial e informal de representar o código de um programa. n  Útil para desenvolver algoritmos que serão convertidos em programas estruturados no MATLAB. Projeto de Programa 93
  • 94. Projeto de Programa n  Exemplo de Pseudocódigo 94 Código MATLAB: temp_f = input('Enter the temperature in degrees Fahrenheit: '); temp_k = (5/9) * (temp_f - 32) + 273.15; fprintf('%6.2f degrees Fahrenheit = %6.2f kelvin.n’,temp_f,temp_k); 1.  Solicite ao usuário a temperatura em graus Fahrenheit 2.  Leia a temperatura em graus Fahrenheit (temp_f) 3.  temp_k in kelvins = (5/9) * (temp_f - 32) + 273.15 4.  Escreva a temperatura em kelvin
  • 95. n  Geralmente, utiliza-se o prompt do MATLAB para introduzir os comandos. n  Este procedimento simples para execução de comandos no prompt se torna altamente ineficiente quando a complexidade do problema aumenta. n  Para problemas simples podemos usar o prompt do MATLAB e para os mais difíceis deve-se utilizar o script-file ou M-file, que é também conhecido como arquivo de comando ou arquivo M. Arquivos de comando 95
  • 96. n  Erro comum de Programação: Os nomes dos arquivos de comando precisam sempre terminar com a extensão ‘.m’. Exemplos: programa1.m, exemplo1.m, etc. Arquivos de comando 96
  • 97. n  Como Criar um Arquivo M (M-file) n  Para criar um arquivo M-file, deve-se seguir os seguintes passos: n  Abrir o MATLAB n  Selecionar o menu File n  Selecionar o item New e em seguida apontar para M-file e clicar. Arquivos de comando 97
  • 98. n  Exemplo de script-file. Arquivos de comando 98 % script-file: circulo.m % Este programa calcula a área de um circulo raio = 2.5; area = pi*raio^2; fprintf('Area do circulo = %.3f ', area);
  • 99. n  Como Executar um Arquivo M (M-file) n  Para executar um arquivo M-file no MATLAB é preciso gravar o arquivo correspondente. Para isto, deve-se selecionar o item Save Workspace As do menu File. n  É interessante dar preferência a salvar o arquivo no diretório corrente do MATLAB, ou seja, na pasta work. n  Para executar o arquivo M, basta digitar no prompt do MATLAB o nome do arquivo salvado anteriormente, sem a extensão ‘.m’. Feito isso o MATLAB gera o executável do programa. Arquivos de comando 99
  • 100. n  Para exemplificar, considere o arquivo circulo.m. Digite no prompt do MATLAB o nome do arquivo circulo. Será apresentado o executável do programa. n  >> circulo Area do circulo = 19.635 Arquivos de comando 100
  • 101. n  Em resumo, pode-se dizer que um programa em MATLAB consiste na criação do arquivo M-file utilizando-se o editor de texto e sua respectiva chamada por linha de comando no prompt do MATLAB. Arquivos de comando 101
  • 102. n  Controle de Fluxo O controle de fluxo é um recurso que permite que resultados anteriores influenciem operações futuras. Como em outras linguagens, o MATLAB possui recursos que permitem o controle de fluxo de execução de comandos, com base em estruturas de tomada de decisões. Serão apresentadas a seguir as seguintes estruturas de controle: n  Ramificações: if, elseif, switch n  Laços: while, for Estruturas de controle 102
  • 103. n  Simbologia Símbolo de decisão Indica que ações serão executadas Inicio e fim de uma estrutura de uma controle Estruturas de controle 103
  • 104. n  if n  Estrutura de seleção para escolha de cursos de ação específicos. n  A estrutura de seleção if executa uma ação indicada só quando a condição é true (Verdadeira); caso contrário, a ação é saltada. Estruturas de controle 104
  • 105. n  if Condição Verdadeira Falsa Executa uma ação Testa a condição Estruturas de controle 105
  • 106. n  Pseudocódigo n  Se a nota do estudante for maior ou igual que 7.0 Imprima “Aprovado” n  Código no Matlab if nota >= 7 fprintf(‘Aprovado’); end Estruturas de controle 106
  • 107. n  elseif Condição Verdadeira Falsa Executa uma ação Testa a condição Executa uma ação Estruturas de controle 107
  • 108. n  Pseudocódigo n  Se a nota do estudante for maior ou igual que 7.0 Imprima “Aprovado” senão Imprima “Reprovado” n  Código no Matlab if nota >= 7 fprintf(‘Aprovado’); else fprintf(‘Reprovado’); end Estruturas de controle 108
  • 109. Estruturas de controle n  Exercício: Escreva um programa MATLAB para avaliar uma função f(x,y) para quaisquer dos valores x e y especificados pelo usuário. A função f(x,y) é definida a seguir 109 f (x, y) = x + y, x ! 0 e y ! 0 x + y2 , x ! 0 e y<0 x2 + y, x<0 e y ! 0 x2 + y2 , x<0 e y<0 " # $ $ % $ $
  • 110. n  switch n  Permite que um programador selecione um bloco de código a ser executado com base no valor de um único inteiro, caractere ou expressão lógica Estruturas de controle 110
  • 111. Estruturas de controle 111 switch (expr_switch) case expr_case1 Declaração 1 Declaração 2 ... case expr_case2 Declaração 1 Declaração 2 ... ... otherwise, Declaração 1 Declaração 2 ... end Bloco 1 Bloco 2 Bloco N switch (expr_switch) case {expr_case1, expr_case2, expr_case3} Declaração 1 Declaração 2 otherwise, Declaração 1 Declaração 2 ... end
  • 112. Estruturas de controle n  Exemplo 112 switch (value) case {1,3,5,7,9} disp('The value is odd.'); case {2,4,6,8,10} disp('The value is even.'); otherwise disp('The value is out of range.'); end
  • 113. n  Laços são construções MATLAB que nos permitem executar uma sequência de declarações mais de uma vez. n  Existem dois tipos de laços: n  while n  for Estruturas de controle 113
  • 114. n  while: é um bloco de declarações que se repete indefinidamente, enquanto uma condição for satisfeita. A forma geral do while é: while expressão ... ... Bloco de código ... end Estruturas de controle 114
  • 115. n  while Condição Verdadeira Falsa Executa uma ação Testa a condição Estruturas de controle 115
  • 116. n  Laço for : Executa um bloco de declarações durante um número especificado de vezes. for indice = expressão Declaração 1 .... Corpo Declaração n end Estruturas de controle 116
  • 117. cont = 1 cont <= n Falso Verdadeiro Corpo do laço cont = cont + 1 n: número de iterações do laço for cont: variável de controle Inicialização da variável de controle cont = 2 cont = 3 Estruturas de controle 117
  • 118. n  Exemplo: Calcular a soma dos 10 primeiros inteiros. 10987654321 +++++++++=Soma Estruturas de controle 118 soma = 0; % Inicializa a variável soma com zero for k = 1:10 soma = soma + k; end fprintf('A soma dos dez primeiros inteiros eh: %.2f', soma);
  • 119. n  Exemplo: Calcular o fatorial de um número n. Estruturas de controle 119 n = 5; fatorial = 1; % Inicializa a variável soma com zero for k = 1:n % Laço de repetição: n vezes fatorial = fatorial*k; % Cálculo do fatorial end fprintf(‘O fatorial de %.2f eh %.2f', n, fatorial);
  • 120. n  Exemplo: Calcular a soma dos 5 primeiros inteiros impares. Estruturas de controle 120 soma = 0; % Inicializa a variável soma com zero for k = 1:2:9 soma = soma + k; end fprintf('A soma dos 5 primeiros inteiros impares eh: %.2f', soma);
  • 121. n  for X while n  while: utilizado para repetir um trecho de código quando não é desconhecido o número de iterações do laço. n  for: utilizado para repetir um trecho de código quando é conhecido o número de iterações do laço. Estruturas de controle 121
  • 122. n  Break n  Usada para controlar a operação dos laços for e while n  Encerra a execução do laço e passa o controle para a próxima declaração logo após o fim do laço. Estruturas de controle 122
  • 123. n  Uso do break Estruturas de controle 123 for k = 1:5 if k == 3; break; end fprintf(‘k = %dn’, k); end disp(‘Fim do laço!’);
  • 124. n  Uso do break Estruturas de controle 124 for k = 1:5 if k == 3; break; end fprintf(‘k = %dn’, k); end disp(‘Fim do laço!’); Saída: k = 1 k = 2 Fim do laço!
  • 125. n  Continue n  Usada para controlar a operação dos laços for e while n  Termina a passagem corrente pelo laço e retorna o controle para o início do laço. Estruturas de controle 125
  • 126. n  Uso do Continue Estruturas de controle 126 for k = 1:5 if k == 3; continue; end fprintf(‘k = %dn’, k); end disp(‘Fim do laço!’);
  • 127. n  Uso do Continue Estruturas de controle 127 for k = 1:5 if k == 3; continue; end fprintf(‘k = %dn’, k); end disp(‘Fim do laço!’); Saída: k = 1 k = 2 k = 4 k = 5 Fim do laço!
  • 128. Estruturas de controle n  Exercício: Implemente um algoritmo que calcule a média e o desvio-padrão de um conjunto de dados de entrada. n  dados de entrada: x = [3 4 5 -1] n  média: n  desvio-padrão: 128 x = 1 N xi i=1 N ! s = N xi 2 i=1 N ! " xi i=1 N ! # $ % & ' ( 2 N(N "1)
  • 129. n  Cálculo da série de Fourier na forma complexa Série de Fourier Complexa 129 X[k]= 1 N x[n]e! jk"0n n=1 N # "0 = 2! N
  • 130. Série de Fourier Complexa 130 disp('Algoritmo para calculo da serie de Fourier') disp('na forma complexa para a funcao x(t)=-at^2+b*t+c') disp('------------------------------------------------’) % %Definicao e plotagem da funcao a ser expandida em serie de Fourier % a = input('Insira o valor do coeficiente a:'); b = input('Insira o valor do coeficiente b:'); c = input('Insira o valor do coeficiente c:'); t=0:0.01:100; xt=-a.*t.*t+b.*t+c; plot(t,xt) ylabel('x(t)=-0.01t^2+t+10') xlabel('t') N=length(xt);
  • 131. Série de Fourier Complexa 131 %Calculo dos coeficientes Xn da serie de Fourier harmonicos = input('Insira o numero de harmonicos desejados:'); for n = 1:harmonicos; for k = 1:N; integral(k) = exp(-j*2*pi*(n-1)*k/N)*xt(k); end X(n) = sum(integral)/N; end
  • 132. Série de Fourier Complexa 132 %Calculo e plotagem das amplitude e fase de X amplitude = abs(X); fase = angle(X); omega = 0:harmonicos-1; figure subplot(211), stem(omega,amplitude) ylabel('Amplitude') xlabel('Frequencia (multiplos de omega_0)') subplot(212), stem(omega,fase) ylabel('Fase') xlabel('Frequencia (multiplos de omega_0)')
  • 133. Série de Fourier Complexa 133 %Calculo e plotagem das partes real e imaginaria de X Xreal = real(X); Ximag = imag(X); figure subplot(211), stem(omega,Xreal) ylabel('X_{real}') xlabel('Frequencia (multiplos de omega_0)') subplot(212), stem(omega,Ximag) ylabel('X_{imaginario}') xlabel('Frequencia (multiplos de omega_0)')
  • 134. Série de Fourier Complexa 134 %Calculo da aproximacao da funcao original utilizando "m" harmonicos m = input('Insira o numero de harmonicos desejados para reconstrucao da funcao:'); for k=1:N; for n = 1:m; e(n) = X(n)*exp(j*2*pi*(n-1)*k/N); end funcao(k) = sum(e); end figure(1) hold on plot(t,funcao)
  • 135. Funções definidas pelo usuário n  Um programa pode ser dividido em subtarefas; n  É possível codificar cada subtarefa como uma função separada; n  Cada função pode ser testada e depurada de forma independente das outras funções do programa; 135
  • 136. Funções definidas pelo usuário n  Benefícios n  Teste independente das subtarefas; n  Código reutilizável; n  Isolamento de efeitos colaterais indesejados; n  Uma função MATLAB é tipo especial de arquivo M executado em um espaço de trabalho independente; 136
  • 137. Funções definidas pelo usuário n  Forma geral 137 function [outarg1, outarg2, ...] = fname(inarg1, inarg2, ...) % H1 comment line % Other comment lines ... (Executable code) ... (return) (end)
  • 138. Funções definidas pelo usuário n  Exemplo – função dist2 138 function distance = dist2 (x1, y1, x2, y2) %DIST2 Calculate the distance between two points % Function DIST2 calculates the distance between % two points (x1,y1) and (x2,y2) in a Cartesian % coordinate system. % Calculate distance. distance = sqrt((x2-x1).^2 + (y2-y1).^2);
  • 139. Funções definidas pelo usuário n  Exemplo – Script que chama a função dist2 139 % Script file: test_dist2.m % Get input data. disp('Calculate the distance between two points:'); ax = input('Enter x value of point a: '); ay = input('Enter y value of point a: '); bx = input('Enter x value of point b: '); by = input('Enter y value of point b: '); % Evaluate function result = dist2 (ax, ay, bx, by); % Write out result. fprintf('The distance between points a and b is %fn',result);
  • 140. Funções definidas pelo usuário n  Exercício: A localização de um ponto cartesiano pode ser expressa por coordenadas retangulares (x,y) ou polares (r,θ), como ilustrado abaixo. 140
  • 141. Funções definidas pelo usuário n  Exercício (continuação): A relação entre esses dois conjuntos de coordenadas é dada por n  Escreva duas funções rect2polar e polar2rect, que convertam coordenadas de retangular para polar, e vice-versa, com θ expresso em graus 141
  • 143. Matemática Simbólica n  O Matlab permite o cálculo simbólico através do Toolbox de Matemática Simbólica; n  Esse toolbox utiliza o kernel do MAPLE; n  O Matlab realiza todas as operações elementares entre expressões simbólicas utilizando a sintaxe comum 143
  • 144. Matemática Simbólica n  Operações Matemáticas n  >> syms x n  >> x+2*x n  >> x*x - 5*x^2 n  >> sqrt(x^2) n  >> cos(pi-x) 144
  • 145. Matemática Simbólica n  Substituição de variável em uma expressão simbólica n  >>subs(4*x^2-4,x,2) n  Solução simbólica de equações algébricas (ex: x^2-2*x+1 = 0) n  >>solve(x^2-2*x+1) 145
  • 146. Matemática Simbólica n  Gráficos n  >> ezplot(sin(3*x)+2*x) 146
  • 147. Matemática Simbólica n  Gráficos n  >> ezplot(sin(3*x)+2*x,[1 2]) 147
  • 148. Matemática Simbólica n  Gráficos n  >> ezsurf(2*x^2-3*y^2-4) 148
  • 149. Matemática Simbólica n  Limite n  >> syms x n  >> limit(sin(x-1)/(1-x),x,1) n  Série n  soma dos 100 primeiros termos de n  >> symsum((4*n+1)/(n+3),n,1,100) 149
  • 150. Matemática Simbólica n  Derivada n  >> syms x n  >> diff(sin(2*x)) n  Derivada de ordem superior n  >> diff(sin(2*x),2) 150
  • 151. Matemática Simbólica n  Derivadas Parciais n  >> syms x y n  >> g = x*y + x^2 n  >> diff(g) % computes ∂g/∂x n  >> diff(g, x) % also ∂g/∂x n  >> diff(g, y) % ∂g/∂y 151
  • 152. Matemática Simbólica n  Integral n  >> syms x n  Integral de n  >> int(6*x^3-2*x^2+1) % Indefinida n  >> int(6*x^3-2*x^2+1,1,2) % Definida n  >> int(exp(-x),0,inf) 152
  • 153. Matemática Simbólica n  Integral 153 >> syms x a b >> f = x/(a*x+b) >> pretty(f) >> g = int(f) >> pretty(g) >> latex(g) >> ccode(g) >> fortran(g)
  • 155. Interface gráfica e toolboxes n  Braço robótico 155
  • 156. Interface gráfica e toolboxes n  Controle de ângulo de ataque aeronave 156
  • 157. Interface gráfica e toolboxes n  Voo de um 747 157
  • 158. Toolbox de Processamento de Imagens n  Pixel - Região da Imagem 158 I = imread('lena.jpg'); imshow(I); impixelregion;
  • 160. Toolbox de Processamento de Imagens n  Filtrando Imagens 160 I = imread('lena.jpg'); subplot(2,2,1); imshow(I); title('Imagem Original'); %Criando um filtro H = fspecial('motion',20,45); %Filtrando a imagem com o filtro especificado MotionBlur = imfilter(I,H,'replicate'); subplot(2,2,2); imshow(MotionBlur);title('Motion Blurred Image'); H = fspecial('disk',10); blurred = imfilter(I,H,'replicate'); subplot(2,2,3); imshow(blurred); title('Blurred Image'); H = fspecial('unsharp'); sharpened = imfilter(I,H,'replicate'); subplot(2,2,4); imshow(sharpened); title('Sharpened Image');
  • 162. Toolbox de Processamento de Imagens n  Inserindo um Ruído na imagem. 162 n = imnoise(I, 'gaussian'); imshow(n)
  • 165. Sumário – Simulink n  O que é? n  Variáveis e funções n  Vetores n  Matrizes n  Operações n  Gráficos 165
  • 166. n  Um ambiente de modelagem e simulação de sistemas dinâmicos e embarcados. n  Provê uma interface gráfica interativa e um conjunto de bibliotecas de blolcos configuráveis que permitem o projeto, a simulação, a implementação e o teste de uma grande variedade de sistemas variantes no tempo, incluíndo: comunicações, controle, processamento de sinais, de vídeo e de imagens. O que é?
  • 167. Iniciando o Simulink 1. Digitar simulink no prompt de comando 2. Clicar no botão na barra de ferramentas ou ou 3. Navegar pelo botão iniciar do MATLAB Programação
  • 168. n  A programação no Simulink segue uma interface gráfica intuitiva e fácil de usar: 1.  Escolha os blocos funcionais desejados na biblioteca; Programação
  • 169. n  A programação no Simulink segue uma interface gráfica intuitiva e fácil de usar: 2.  Arraste-os para o espaço de trabalho (área de programação) Programação
  • 170. n  A programação no Simulink segue uma interface gráfica intuitiva e fácil de usar: 3.  Conecte-os da maneira adequada para obter o comportamento desejado Programação
  • 171. n  A programação no Simulink segue uma interface gráfica intuitiva e fácil de usar: 4.  Ajuste os parâmetros da simulação; 5.  Execute o programa. Programação
  • 173. n  Exemplo 1 n  Ajuste automático da escala do gráfico Exemplos
  • 174. n  Exemplo 1 n  Ajuste manual da escala do gráfico Exemplos
  • 175. n  Exemplo 1 n  Inserindo um ganho de -1 (invertendo o sinal) e comparando com a senóide original Exemplos Biblioteca Math
  • 176. n  Exemplo 1 n  Configuração dos parâmetros do bloco product Exemplos Número de termos da multiplicação. Multiplicação de matrizes ou termo a termo.
  • 177. n  Exemplo 1 n  Alterando os parâmetros da simulação Exemplos Tempo inicial Tempo final
  • 178. n  Exemplo 1 n  Criando um subsistema Exemplos Sub-sistema
  • 179. n  Exemplo 1 n  Editando um subsistema Exemplos Sub-sistema
  • 180. n  Exemplo 1 n  As vezes é interessante tratar os dados no ambiente do Matlab: Usa-se o bloco “to workspace” Exemplos Cria a variável A no workspace Biblioteca Sinks
  • 181. n  Exemplo 1 n  Configuração do bloco “to workspace” Exemplos Cria a variável A no workspace Formato da variável
  • 182. n  Exemplo 1 n  E lá no Workspace... Exemplos >> plot(tout,A)
  • 183. n  Exemplo 1 n  Girando um bloco Exemplos CTRL R
  • 184. n  Exemplo 1 n  Combinando sinais Exemplos Bloco MUX Biblioteca Signals & Sys.
  • 185. n  Exemplo 1 n  Combinando sinais Exemplos
  • 186. n  Exemplo 1 n  Configurando... Exemplos
  • 187. n  Exemplo 2 n  Sistema massa-mola-amortecedor Exemplos
  • 188. Exercício n  Faça usando um arquivo de comando n  Faça usando o simulink
  • 189. n  Exemplo 3 n  Simulação de um tanque de nível sob a influência de uma perturbação degrau na vazão da alimentação. Exemplos q1 q3 q2 h A
  • 190. n  Exemplo 3 n  Assumindo n  Densidade do líquido e a área da seção transversal do tanque (A) constantes. n  Relação entre a vazão e a carga é linear: Exemplos Rhq /3 =
  • 191. n  Exemplo 3 n  O modelo é descrito por uma equação de balanço transiente de massa no tanque: n  Substituindo a hipótese II na equação: Exemplos 321 qqq dt dh A ρρρρ −+= R h qq dt dh A ρρρρ −+= 21
  • 192. n  Exemplo 3 n  Introduzindo as variáveis-desvio e aplicando a Transformada de Laplace, chega-sa às funções de transferência: Exemplos 1 )( )( )(' 1' 1 + == s K sG sq sh p τ 1 )( )( )(' 2' 2 + == s K sG sq sh p τ onde: AR RK p = = τ
  • 193. n  Exemplo 3 n  Considera-se um tanque de 0.5 m de diâmetro e uma válvula na saída na linha atuando sob uma resistência linear (R) de 6.37 min/m2. n  Serão simulados um degrau de 1 ft3 na vazão q1 a partir do tempo igual a 0 min (step) e um degrau de 1 ft3 na vazão q2 a partir do tempo igual a 10 min(step1). Exemplos A = 3.1415 * (0.5/2)^2 A = 0.196 R = 6.37 25.1 37.6 == == AR RKp τ
  • 196. n  Exemplo 3 Exemplos Degrau começa Em t=0s Degrau começa Em t=10s Bloco Função de Transferência
  • 197. n  Exemplo 3 Exemplos A amplitude do degrau é 1
  • 198. n  Exemplo 3 n  Resultados Exemplos 1º estado estacionário 2º estado estacionário 1ª perturbação 2ª perturbação
  • 199. n  Exemplo 4 n  Considerando um sistema de controle de nível mostrado abaixo. O nível de líquido é medido e a saída do transmissor de nível (LT) é enviada para um controlador feedback (LC) que controla o nível pelo ajuste da vazão volumétrica q2. A segunda vazão de fluido, q1, corresponde à variável perturbação (corrente chegando de outra unidade, não posso controlar essa corrente). Exemplos q1 q3 q2 h A LT LC hm
  • 200. n  Exemplo 4 n  Considerando uma válvula com a seguinte função de transferência: n  Considerando um medidor com a seguinte função de transferência: Exemplos psimKG vv min/0103.0 3 == mpsiKG mm /24==
  • 201. Exemplos n  Exemplo 4 Set-point Valor medido Erro: (sp - valor medido)
  • 202. Exemplos n  Exemplo 4 Controlador Processo Medidor Válvula
  • 203. Exemplos n  Exemplo 4 n  Quando a função de transferência é apenas uma constante, como no caso do medidor, pode-se representa-lá pelo bloco Gain. mpsiKG mm /24==
  • 204. Exemplos n  Exemplo 4 n  O controlador é representado pelo bloco PID Controller. Podemos regular a sua ação proporcional, integral e derivativa.
  • 205. Exemplos n  Exemplo 5 n  Controle PID de um motor DC
  • 206. Exemplos n  Exemplo 6 n  Veículo elétrico híbrido de célula a combustível