MATLAB/Simulink/CVX
Ramon Mayor Martins - mayor@mtel.inatel.br
Ricardo Augusto da Silva Junior - ricardojunior@inatel.br
R...
PARTE 3:
• Declaração de Variáveis
• Números,Vetores e Matrizes
• Operadores e Funções
• Comandos Básicos
• Vetores Sequen...
PARTE 3:
• Declaração de Variáveis
• Números,Vetores e Matrizes
• Operadores e Funções
• Comandos Básicos
• Vetores Sequen...
Histórico
Histórico
O Criador!
Cleve Moler
• Ph.D em Matemática pela Universidade de Stanford
• Professor de Matemática e Ciencia da...
Histórico
A Inspiração!
James Hardy Wilkinson (1919-1986)
• Foi a maior autoridade em analises numéricas
e calculos matric...
Histórico
A Inspiração!
James Hardy Wilkinson (1919-1986)
• No começo da 2ª Guerra Mundial juntou-se
ao time de matemático...
Histórico
A Inspiração!
James Hardy Wilkinson (1919-1986)
• Com o fim da 2ª guerra, Jim transferiu-se para
o NPL (National...
Histórico
A Inspiração!
James Hardy Wilkinson (1919-1986)
• Muito da pesquisa de Wilkinson foi publicado em uma
série de a...
Histórico
3 Homens chave na origem do
MATLAB!
George Forsythe
John Todd
• 2 Matemáticos da INA (Institute for
Numerical An...
Histórico
3 Homens chave na origem do MATLAB!
George Forsythe
John Todd
• Cleve Moler foi para a Caltech em 1957 e conhece...
Histórico
A Origem do MATLAB !
• Em 1962, Cleve Moler criou um programa
em FORTRAN para resolver sistemas de
equações line...
Histórico
A Origem do MATLAB !
Histórico
A Origem do MATLAB !
• -EM 1967 Forsythe e Cleve publicaram um livro sobre Matriz computacional;, que
continha p...
Histórico
A Origem do MATLAB !
• Cleve queria possibilitar o uso de novos pacotes sem escrever programas em
FORTRAN, então...
Histórico
A Origem do MATLAB !
Niklaus Wirth, foi o
inventor e
desenvolvedor da
linguagem PASCAL
Help
command
Histórico
O Primeiro MATLAB !
• -O primeiro Matlab rodou em um
Tektronix 4081, que Argonne Lab
adquiriu em 1978, tinha 64k...
PARTE 3:
• Declaração de Variáveis
• Números,Vetores e Matrizes
• Operadores e Funções
• Comandos Básicos
• Vetores Sequen...
O MATLAB
• MATLAB não é somente uma toolkit é um workbench segundo Doug Hull
• O MATLAB (abreviatura de Matrix Laboratory)...
Comparação:
MATLAB e Linguagem C:
MATLAB C
Tradutor Interpretável Compilável
Linguagem de
Programação
Dynamic Typing
(veri...
Comparação:
MATLAB e Linguagem C:
MATLAB C
Complexidade de
Sistemas
baixa alta
Funcoes Alta (inclusive contando
com ANSI C...
Comparação:
MATLAB e MATHEMATICA:
MATLAB MATHEMATICA
Funcoes Matriciais Maior Menor
Funcoes Gerais Mais funções
implementa...
Comparação:
MATLAB e MATHEMATICA:
MATLAB MATHEMATICA
Importação e Exportação
de Dados
menor maior
Capacidade de
Processame...
Potencialidades do MATLAB e Simulink
[JPL NASA] - Projeto Curiosity
-Engenheiros da JPL usaram MATLAB e Simulink para nume...
Potencialidades do MATLAB e Simulink
[U.S Airforce] – Projeto F-22 Raptor
-Projeto: Propulsores do F-22, calcular a recupe...
Potencialidades do MATLAB e Simulink
[European Aeronautic Defence and Space Company (EADS)] – Projeto Astrium System
-Lase...
Potencialidades do MATLAB e Simulink
[Smithsonian Astrophysical Observatory (SAO)] - Projeto: X-Ray Telescope (XRT)
-Ajuda...
Potencialidades do MATLAB e Simulink
As Aplicações são infinitas:
Controle de Sistemas, DSP, Processamento de Imagens, Mec...
Produtos – Plataformas Mathworks
Interface com outras Plataformas
PARTE 3:
• Declaração de Variáveis
• Números,Vetores e Matrizes
• Operadores e Funções
• Comandos Básicos
• Vetores Sequen...
Enfim...O MATLAB !
Ambiente de Desenvolvimento
Command Window
Workspace
Directory-Folder
Command History
Criação de
Variáveis
Worksapce
Conceitos Básicos
Declaração de Variáveis
No MATLAB o nome da variável deve ser
Alfanumérico começado com letra e
Sucedido...
Conceitos Básicos
<<Números , Vetores e Matrizes >>
- O elemento básico do MATLAB é a matriz
- um número (escalar) no MATL...
Conceitos Básicos
<<Números , Vetores e Matrizes >>
- FORMATOS: short 4 digitos decimais
long 15 digitos decimais
short e ...
Conceitos Básicos
<<Números , Vetores e Matrizes >>
- VETORES e MATRIZES:
- - Vetores e Matrizes sao definidos entre [ ]
-...
Conceitos Básicos
<<Números , Vetores e Matrizes >>
- VETORES e MATRIZES:
>> matriz_3x3 = [1 2 3 ; 4 5 6 ; 7 8 9]
matriz_3...
Conceitos Básicos
<<Operadores e Funcoes>>
- OPERADORES
Os operadores no MATLAB lidam
com situacoes matriciais e escalares...
Conceitos Básicos
<<Operadores e Funcoes>>
- OPERADORES
Os operadores no MATLAB lidam
com situacoes matriciais e escalares...
Conceitos Básicos
<<Operadores e Funcoes>>
- EXPRESSOES
Expressoes no MATLAB são compostas
de numeros, vetores, matrizes, ...
Conceitos Básicos
<<Operadores e Funcoes>>
- FUNCOES TRIGONOMETRICAS
O MATLAB fornece uma completa lista
de funções trigon...
Conceitos Básicos
<<Operadores e Funcoes>>
- FUNCOES EXPONENCIAIS
O MATLAB fornece uma completa lista
de funções exponenci...
Conceitos Básicos
<<Comandos Básicos>>
!
chama um comando do sistema
operacional.
a cor muda pra identificar que se esta
c...
Conceitos Básicos
<<Comandos Básicos>>
ans
retorna o valor da ultima variavel,
significa answer
clear
elimina todas variáv...
Conceitos Básicos
<<VETORES SEQUENCIAIS>>
O simbolo : pode ser utilizado para definir vetores sequenciais
-de:até
>>v=0:10...
Conceitos Básicos
<<VETORES SEQUENCIAIS>>
-função linspace
-cria vetores linearmente espaçados
- de,até,com N elementos
>>...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Como ja visto, matrizes sao
delimitadas por [ ]
>>A = [1 2 3;3 4 5;3 8 3]
-Trans...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Determinante da Matriz
det(A)
-Diagonal principal da Matriz
diag(A)
-Traço (soma...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Acessando elementos:
>>A(1,1)
>>A(3,3)
-Acessando elementos particulares
-B rece...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Reformatando as dimensões de uma
matriz (mantendo o numero original
de elementos...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Numero de elementos da matriz
>>numel(Y)
-Dimensao da Matriz (linhas x
colunas)
...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Retorna matriz triangular
>> tril(A) %inferior
>> triu(A) %superior
>> A = [1 2 ...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Analise de elementos
>> mean(A)
>> sum(A)
>>min(A)
>>max(A)
>> A
A =
1 2 3
4 5 6...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Comando find
-Retorna os indices dos elementos da
matriz que forem diferentes de...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Comando find
-Retorna os indices dos elementos da
matriz que forem diferentes de...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Comando find
-Retorna os indices dos elementos da
matriz que forem diferentes de...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Vetor multidimensional (2 planos)
>>X = [1 2 3; 4 5 6; 7 8 9]
>>X(:,:,2) = [2 3 ...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
-Celulas (Indexam vários elementos
em uma celula, considerada uma
matriz de eleme...
Conceitos Básicos
<<FUNCOES MATRICIAIS>>
E da pra piorar.... Cell Array Multidimensional !!!
PARTE 3:
• Declaração de Variáveis
• Números,Vetores e Matrizes
• Operadores e Funções
• Comandos Básicos
• Vetores Sequen...
Por hoje chega... ;D
Próximos SlideShares
Carregando em…5
×

INATEL - Matlab introdução

884 visualizações

Publicada em

INATEL - Instituto Nacional de Telecomunicações
Mestrado em Telecomunicações
Introdução ao Matlab para o Mestrado em Telecomunicações
2013

Publicada em: Engenharia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
884
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
44
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

INATEL - Matlab introdução

  1. 1. MATLAB/Simulink/CVX Ramon Mayor Martins - mayor@mtel.inatel.br Ricardo Augusto da Silva Junior - ricardojunior@inatel.br Rodrigo Cogliatti – rodrigocogliatti@hotmail.com
  2. 2. PARTE 3: • Declaração de Variáveis • Números,Vetores e Matrizes • Operadores e Funções • Comandos Básicos • Vetores Sequenciais • Funções Matriciais PARTE 1 : • Histórico MATLAB/Simulink/CVX PARTE 2: • Overview Matlab • Comparações • Potencialidade PARTE 4: • Operadores Booleanas • Condicionais • Controles de Fluxos (Laços) • Scripts e Funções • Gráficos Segunda-Feira: Introdução ao MATLAB Terça-Feira: Programação no MATLAB PARTE 5: Técnicas de Programação
  3. 3. PARTE 3: • Declaração de Variáveis • Números,Vetores e Matrizes • Operadores e Funções • Comandos Básicos • Vetores Sequenciais • Funções Matriciais PARTE 1 : • Histórico MATLAB/Simulink/CVX PARTE 2: • Overview Matlab • Comparações • Potencialidade PARTE 4: • Operadores Booleanas • Condicionais • Controles de Fluxos (Laços) • Scripts e Funções • Gráficos Segunda-Feira: Introdução ao MATLAB Terça-Feira: Programação no MATLAB PARTE 5: Técnicas de Programação
  4. 4. Histórico
  5. 5. Histórico O Criador! Cleve Moler • Ph.D em Matemática pela Universidade de Stanford • Professor de Matemática e Ciencia da Computação em Stanford • Autor do LINPACK e EISPACK (bibliotecas de FORTRAN para calculos numéricos) • Fundador da Mathwork • Criador do MATLAB
  6. 6. Histórico A Inspiração! James Hardy Wilkinson (1919-1986) • Foi a maior autoridade em analises numéricas e calculos matriciais. • Pesquisou Algoritmos de Autovalores • Suas implementações em ALGOL levaram diretamente ao EISPACK (fundamento matemático do primeiro MATLAB)
  7. 7. Histórico A Inspiração! James Hardy Wilkinson (1919-1986) • No começo da 2ª Guerra Mundial juntou-se ao time de matemáticos em Cambridge. • Calculavam trajetórias de projéteis de artilharia usando calculadoras mecânicas. • Tambem pesquisou sobre a Termodinamica das Explosoes.
  8. 8. Histórico A Inspiração! James Hardy Wilkinson (1919-1986) • Com o fim da 2ª guerra, Jim transferiu-se para o NPL (National Physical Laboratory), onde se tornou assistente de Alan Turing. • Jim lecionava cursos de métodos numéricos na Universidade de Michigan. • Descreveu as Matrizes Tridiagonais ( hoje conhecidas como Matrizes Wilkinson).
  9. 9. Histórico A Inspiração! James Hardy Wilkinson (1919-1986) • Muito da pesquisa de Wilkinson foi publicado em uma série de artigos na revista Numerische Mathematik no final dos anos 60 • Os artigos descreviam algoritmos para computacao de matrizes e incluia programas em ALGOL 60. • Os codigos em ALGOL fornecem uma descricao legivel das tecnicas que se encontram na biblioteca do MATLAB • Wilkinson nao esta diretamente envolvido com o MATLAB, mas com certeza foi a principal fonte
  10. 10. Histórico 3 Homens chave na origem do MATLAB! George Forsythe John Todd • 2 Matemáticos da INA (Institute for Numerical Analysis), trabalharam em um dos primeiros computadores dos USA, em meados de 1957. • Quando INA foi dissolvido, George Forsythe foi para Stanford e Todd foi para a Caltech
  11. 11. Histórico 3 Homens chave na origem do MATLAB! George Forsythe John Todd • Cleve Moler foi para a Caltech em 1957 e conheceu John Todd • Sob orientação de John Todd , Cleve Moler estudou as matrizes de Hilbert • Cleve Moler , escreveu seus programas usando fita, e queria calcular a inversa de H • Ao se graduar, John Todd recomendou Stanford para Cleve trabalhar com Forsythe. • Forsythe estava criando o departamento de ciencia da computação em Stanford (um dos primeiros do mundo).
  12. 12. Histórico A Origem do MATLAB ! • Em 1962, Cleve Moler criou um programa em FORTRAN para resolver sistemas de equações lineares (em cartão perfurado) • Em 1965 sob orientação de Forsythe, defendeu a tese “Finite Difference Methods for the Eigenvalues of Laplaces Operator”, no qual Forsythe e Wilkinson trabalharam mais cedo , como L-Shaped Membrane. • QUE É O LOGO DA MATHWORKS !!!
  13. 13. Histórico A Origem do MATLAB !
  14. 14. Histórico A Origem do MATLAB ! • -EM 1967 Forsythe e Cleve publicaram um livro sobre Matriz computacional;, que continha programas em Algol, Fortran e PL/I para resolver sistemas de equacoes lineares. • -Pesquisadores da Argonnes National Lab, traduziram os codigos para calculo de matriz de autovalores de Wilkinson em FORTRAN, produzindo o EISPACK, seguido para LINPACK, um pacote de programas em FORTRAN para resolver equacoes lineares.
  15. 15. Histórico A Origem do MATLAB ! • Cleve queria possibilitar o uso de novos pacotes sem escrever programas em FORTRAN, então estudou o livro de Niklaus Wirth para aprender sobre analise de linguagens de computador. • Em 1970, usando a metodologia de Niklaus e porções do LINPACK e EISPACK Cleve desenvolveu a primeira versão do MATLAB. • -Com apenas 80 funções, ainda sem m-files ou toolboxes, se vc quisesse adicionar funcoes, teria que modificar o codigo fonte FORTRAN e recompilar.
  16. 16. Histórico A Origem do MATLAB ! Niklaus Wirth, foi o inventor e desenvolvedor da linguagem PASCAL Help command
  17. 17. Histórico O Primeiro MATLAB ! • -O primeiro Matlab rodou em um Tektronix 4081, que Argonne Lab adquiriu em 1978, tinha 64k d memoria. • -Em 1981, Jack Little um engenheiro do MIT e Stanford, foi o principal desenvolvedor do produto comercial baseado em Fortran MATLAB. Quando a IBM anunciou seu primeiro PC em 81, Jack Little anteviu a possibilidade d uso do MATLAB nesse sistema. • -Ele e um amigo, Steve Bangert reprogramaram o MATLAB em C e adicionou m-files, toolboxes e muitos graficos poderosos. • Os 3 foram os fundadores da Mathworks em 1984.
  18. 18. PARTE 3: • Declaração de Variáveis • Números,Vetores e Matrizes • Operadores e Funções • Comandos Básicos • Vetores Sequenciais • Funções Matriciais PARTE 1 : • Histórico MATLAB/Simulink/CVX PARTE 2: • Overview Matlab • Comparações • Potencialidade PARTE 4: • Operadores Booleanas • Condicionais • Controles de Fluxos (Laços) • Scripts e Funções • Gráficos Segunda-Feira: Introdução ao MATLAB Terça-Feira: Programação no MATLAB PARTE 5: Técnicas de Programação
  19. 19. O MATLAB • MATLAB não é somente uma toolkit é um workbench segundo Doug Hull • O MATLAB (abreviatura de Matrix Laboratory) é um programa para desenvolvimento e implementação de algoritmos numéricos ou simbólicos que oferece ao usuário um ambiente interativo de programação para estudo e pesquisa nas diversas áreas das ciências exatas. • O MATLAB tem matrizes como elemento basico para manipulacao de dados. • Robusto quando se requer tratamento de sistemas criticos com grande exigencia de capacidade numerica. • MATLAB é uma linguagem orientada a objeto ,possui a linguagem procedural como base , e a programação estruturada como veículo.
  20. 20. Comparação: MATLAB e Linguagem C: MATLAB C Tradutor Interpretável Compilável Linguagem de Programação Dynamic Typing (verificação em tempo de execução) Static Typing (verificação em tempo de compilação) Leitura Top Down Top Down Variáveis Em tempo de programação Globais e Locais no escopo Internamente LAPACK e outros Bibliotecas para funções Elemento Básico Matriz Byte Formato Maximo LongE Long double Indicador de fim de função Linha abaixo ponto e vírgula Plataformas Somente em MATLAB Multi-plataformas
  21. 21. Comparação: MATLAB e Linguagem C: MATLAB C Complexidade de Sistemas baixa alta Funcoes Alta (inclusive contando com ANSI C) + proprias ANSI C / Borland / + proprias Funcionalidades Workbench + Toolkit + Linguagem Linguagem Tempo de Programação Baixo alto Apontadores Cell Array Ponteiros Robustez Matematica Alto devido a herança do FORTRAN baixo Robustez Computacional Alto (JIT) alto Embarcação possibilidade (HDL) finalidade Executável VB + compilador + .mex Finalidade (obj + exe)
  22. 22. Comparação: MATLAB e MATHEMATICA: MATLAB MATHEMATICA Funcoes Matriciais Maior Menor Funcoes Gerais Mais funções implementadas Menor que o MATLAB Matemática Numerica menor Maior de todas ferramentas Funcoes de Probab. e Estatistica menor Maior de todas ferramentas Funcoes de DSP maior menor Funcoes Algebricas maior menor Capacidade Grafica maior menor Funcionalidade de Programação maior menor
  23. 23. Comparação: MATLAB e MATHEMATICA: MATLAB MATHEMATICA Importação e Exportação de Dados menor maior Capacidade de Processamento de Dados maior menor Tempo de Processamento maior menor Similaridade de Programação BASIC, FORTRAN LISP,APL Testes Gerais¹ 69.58% 71.05% Usabilidade,Facilidade menor maior ¹ http://www.scientificweb.com/ncrunch/ncrunch5.pdf
  24. 24. Potencialidades do MATLAB e Simulink [JPL NASA] - Projeto Curiosity -Engenheiros da JPL usaram MATLAB e Simulink para numerosas fases do MER (Mars Exploration Rover), incluindo navegação e analise de dados. -Usaram o Matlab para entender mais sobre os dados geologicos que o Curiosity coletará.
  25. 25. Potencialidades do MATLAB e Simulink [U.S Airforce] – Projeto F-22 Raptor -Projeto: Propulsores do F-22, calcular a recuperacao de entrada e de distorção espacial e planar.Testes de desempenho do motor. -Projeto: Usaram Signal Processing Toolbox para remover o ruído e extrair frequencias de dados de séries temporais. "We need to identify the cause of an anomaly in test data to determine if we can fly the next day. We don’t have enough time to conduct our analysis with C++. MATLAB helps us get answers immediately because it is quick, easy, and intuitive.“
  26. 26. Potencialidades do MATLAB e Simulink [European Aeronautic Defence and Space Company (EADS)] – Projeto Astrium System -Laser Optical Link Aircraft/Communication Satellite (50Mbp/s) -Engenheiros usaram Simulink e Optimization Toolbox do MATLAB para simular e verificar os algoritmos de controle, e implantação de sistemas em tempo real. “With Simulink we can make the necessary modification, re-generate the software using Simulink Coder, and start the test again in a half- day.
  27. 27. Potencialidades do MATLAB e Simulink [Smithsonian Astrophysical Observatory (SAO)] - Projeto: X-Ray Telescope (XRT) -Ajudar a compreender a dinamica da atmosfera do Sol, do plasma solar, corona -Uso do Simulink para modelar efeitos de imagem com várias fontes de distorção
  28. 28. Potencialidades do MATLAB e Simulink As Aplicações são infinitas: Controle de Sistemas, DSP, Processamento de Imagens, Mecatronica, Robôtica, IA, Sistemas de Telecomunicações, Energia, Areas biológicas, médicas, aeroespaciais, defesa, mineração, automobilística, economia, etc...
  29. 29. Produtos – Plataformas Mathworks
  30. 30. Interface com outras Plataformas
  31. 31. PARTE 3: • Declaração de Variáveis • Números,Vetores e Matrizes • Operadores e Funções • Comandos Básicos • Vetores Sequenciais • Funções Matriciais PARTE 1 : • Histórico MATLAB/Simulink/CVX PARTE 2: • Overview Matlab • Comparações • Potencialidade PARTE 4: • Operadores Booleanas • Condicionais • Controles de Fluxos (Laços) • Scripts e Funções • Gráficos Segunda-Feira: Introdução ao MATLAB Terça-Feira: Programação no MATLAB PARTE 5: Técnicas de Programação
  32. 32. Enfim...O MATLAB !
  33. 33. Ambiente de Desenvolvimento Command Window Workspace Directory-Folder Command History
  34. 34. Criação de Variáveis Worksapce
  35. 35. Conceitos Básicos Declaração de Variáveis No MATLAB o nome da variável deve ser Alfanumérico começado com letra e Sucedido do = que significa atribuição É case senstive, isto é diferencia maiúsculas de minúsculas Ficam armazenadas em memória em uma região denominada workspace >> x = 12 x = 12 Isso é um escalar !
  36. 36. Conceitos Básicos <<Números , Vetores e Matrizes >> - O elemento básico do MATLAB é a matriz - um número (escalar) no MATLAB é uma matriz com dimensão 1x1 - O MATLAB utiliza: . para indicar a casa decimal e para notação científica i e j para números complexos.
  37. 37. Conceitos Básicos <<Números , Vetores e Matrizes >> - FORMATOS: short 4 digitos decimais long 15 digitos decimais short e 4 digitos notacao exponencial long e 15 digitos notacao exponencial long g escolhe o melhor long shor g escolhe o melhor short bank 2 digitos decimais (centavos) >> format short >> pi ans = 3.1416 >> format long e >> pi ans = 3.141592653589793e+000
  38. 38. Conceitos Básicos <<Números , Vetores e Matrizes >> - VETORES e MATRIZES: - - Vetores e Matrizes sao definidos entre [ ] - - as colunas sao delimitadas por , ou espaço - - as linhas sao delimitadas por ; dentro dos colchetes >> vetor_linha = [1 2 3 4] vetor_linha = 1 2 3 4 >> vetor_coluna = [1;2;3;4] vetor_coluna = 1 2 3 4
  39. 39. Conceitos Básicos <<Números , Vetores e Matrizes >> - VETORES e MATRIZES: >> matriz_3x3 = [1 2 3 ; 4 5 6 ; 7 8 9] matriz_3x3 = 1 2 3 4 5 6 7 8 9 - é possivel na regiao workspace editar a variável utilizando o Array Editor
  40. 40. Conceitos Básicos <<Operadores e Funcoes>> - OPERADORES Os operadores no MATLAB lidam com situacoes matriciais e escalares. + soma - subtracao * multiplicação matricial .* multiplicação escalar / divisao matricial (a/b equivale a*b^-1) divisao matricial (ab equivale a^-1 *b) ./ divisao escalar ^ potenciacao .^ potencia escalar >> a = 1 a = 1 >> b = 2 b = 2 >> soma = a+b soma = 3 >> multiplica = a*b multiplica = 2
  41. 41. Conceitos Básicos <<Operadores e Funcoes>> - OPERADORES Os operadores no MATLAB lidam com situacoes matriciais e escalares. + soma - subtracao * multiplicação matricial .* multiplicação escalar / divisao matricial (a/b equivale a*b^-1) divisao matricial (ab equivale a^-1 *b) ./ divisao escalar ^ potenciacao .^ potencia escalar >> a = [1 2 ; 3 4] a = 1 2 3 4 >> b = [5 6; 7 8] b = 5 6 7 8 >> multiplica = a*b multiplica = 19 22 43 50
  42. 42. Conceitos Básicos <<Operadores e Funcoes>> - EXPRESSOES Expressoes no MATLAB são compostas de numeros, vetores, matrizes, variaveis, operadores, funcoes. As expressoes sao avaliadas pela precedencia. A precedencia no MATLAB é o ( ) O MATLAB irá resolver o que está dentro do parênteses primeiro. >> a = 2+(4/2)+1 a = 5 >> b = (2+4)/2+1 b = 4 >> c = (2+4)/(2+1) c = 2
  43. 43. Conceitos Básicos <<Operadores e Funcoes>> - FUNCOES TRIGONOMETRICAS O MATLAB fornece uma completa lista de funções trigonométricas. Há as relações elementares e as relações em graus. Para mais detalhes digite: >>help elfun Mais procurados: sin(x) , cos(x), tan(x), sec(x) sind(x), cosd(x), tand(x) ... >> sind(45) ans = 0.7071 >> tand(90) ans = Inf >> sin(0.5) ans = 0.4794
  44. 44. Conceitos Básicos <<Operadores e Funcoes>> - FUNCOES EXPONENCIAIS O MATLAB fornece uma completa lista de funções exponenciais. Para mais detalhes digite: >>help elfun Mais procurados: sqrt() log() log10() log2() exp() >> exp(2) ans = 7.3891 >> sqrt(4) ans = 2 >> log(3) ans = 1.0986
  45. 45. Conceitos Básicos <<Comandos Básicos>> ! chama um comando do sistema operacional. a cor muda pra identificar que se esta chamando um shell clc limpa a tela who retorna as variaveis q foram usadas >> ! ping www.google.com Disparando www.google.com [74.125.234.51] com 32 bytes de dados: Resposta de 74.125.234.51: bytes=32 tempo=20ms TTL=56 Resposta de 74.125.234.51: bytes=32 tempo=18ms TTL=56 Resposta de 74.125.234.51: bytes=32 tempo=18ms TTL=56 Resposta de 74.125.234.51: bytes=32 tempo=18ms TTL=56 >> clc >> who Your variables are: a b matriz_3x3 soma vetor_linha ans c multiplica vetor_coluna x
  46. 46. Conceitos Básicos <<Comandos Básicos>> ans retorna o valor da ultima variavel, significa answer clear elimina todas variáveis do sistema ou algumas em especial whos lista as propriedades da variável (nome,tamanho,número de bytes e classe) >> ans ans = 1.0986 >> clear b >> whos Name Size Bytes Class Attributes a 1x1 8 double Ans 1x1 8 double
  47. 47. Conceitos Básicos <<VETORES SEQUENCIAIS>> O simbolo : pode ser utilizado para definir vetores sequenciais -de:até >>v=0:10 >> v=0:10 v = 0 1 2 3 4 5 6 7 8 9 10 >> v=0:10 v = 0 1 2 3 4 5 6 7 8 9 10 >> v1=0:2:10 v1 = 0 2 4 6 8 10 >> v2=30:-3:10 v2 = 30 27 24 21 18 15 12 -de:espaçados:até >>v1=0:2:10 >>v2=30:-3:10
  48. 48. Conceitos Básicos <<VETORES SEQUENCIAIS>> -função linspace -cria vetores linearmente espaçados - de,até,com N elementos >>linspace(1,10,5) >>linspace(1,10,10) - se o numero de elementos nao for declarado, o MATLAB assume por default 100 >>linspace(1,10) >> linspace(1,10,5) ans = 1.0000 3.2500 5.5000 7.7500 10.0000 >> linspace(1,10,10) ans = 1 2 3 4 5 6 7 8 9 10
  49. 49. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Como ja visto, matrizes sao delimitadas por [ ] >>A = [1 2 3;3 4 5;3 8 3] -Transposta da Matriz A' -Inversa da Matriz inv(A) >> A = [1 2 3;3 4 5;3 8 3] A = 1 2 3 3 4 5 3 8 3 >> A' ans = 1 3 3 2 4 8 3 5 3 >> inv(A) ans = -1.4000 0.9000 -0.1000 0.3000 -0.3000 0.2000 0.6000 -0.1000 -0.1000
  50. 50. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Determinante da Matriz det(A) -Diagonal principal da Matriz diag(A) -Traço (soma dos elementos da diagonal) da Matriz trace(A) -Criando uma matriz identidade eye(2) %dimensao quadrada eye(2,3) %dimensao informada >> det(A) 20.0000 >> diag(A) 1 4 3 >> trace(A) ans = 8 >> eye(2) ans = 1 0 0 1
  51. 51. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Acessando elementos: >>A(1,1) >>A(3,3) -Acessando elementos particulares -B recebe os elementos da 2a linha começando da 2a até a 3a coluna >>B = A(2,2:3) -B recebe os elementos da 2a linha, a 1a coluna E a 3a coluna somente >>B = A(2,[1 3]) -C recebe a 3a coluna de A >>C = A(:,3) -D recebe a 1a linha de A >>D = A(1,:) >> A A = 1 2 3 3 4 5 3 8 3 >> A(1,1) ans = 1 >> A(2,2:3) ans = 4 5
  52. 52. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Reformatando as dimensões de uma matriz (mantendo o numero original de elementos) >>Y = [4 3 2 ;1 2 9] >>YY = reshape(Y,1,6) -Organizando a nova matriz >> sort(Y) >> sort(Y,'ascend') >> sort(Y,'descend') >> Y Y = 4 3 2 1 2 9 >> sort(Y) ans = 1 2 2 4 3 9 >> sort(Y,'descend') ans = 4 3 9 1 2 2
  53. 53. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Numero de elementos da matriz >>numel(Y) -Dimensao da Matriz (linhas x colunas) >>size(Y) >>[i,j] = size(Y) -Dimensao das colunas >>length(Y) -Dimensao das linhas >>ndims(Y) >> Y Y = 4 3 2 1 2 9 >> numel(Y) 6 >> size(Y) 2 3 >> length(Y) 3 >> ndims(Y) 2
  54. 54. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Retorna matriz triangular >> tril(A) %inferior >> triu(A) %superior >> A = [1 2 3 4; 5 6 7 8; 9 2 3 4; 5 6 7 8] A = 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 >> tril(A) ans = 1 0 0 0 5 6 0 0 9 2 3 0 5 6 7 8
  55. 55. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Analise de elementos >> mean(A) >> sum(A) >>min(A) >>max(A) >> A A = 1 2 3 4 5 6 >> mean(A) ans = 2.5000 3.5000 4.5000 >> sum(A) ans = 5 7 9
  56. 56. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Comando find -Retorna os indices dos elementos da matriz que forem diferentes de 0 ou q satisfaçam a condição determinada >>find(H) >>find(H < 20) >> H = [30 20 10 0 10] H = 30 20 10 0 10 >> find(H<20) ans = 3 4 5
  57. 57. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Comando find -Retorna os indices dos elementos da matriz que forem diferentes de 0 ou q satisfaçam a condição determinada >>ones(2,5) >>zeros(2,5) >> ones(2,5) ans = 1 1 1 1 1 1 1 1 1 1 >> zeros(2,5) ans = 0 0 0 0 0 0 0 0 0 0
  58. 58. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Comando find -Retorna os indices dos elementos da matriz que forem diferentes de 0 ou q satisfaçam a condição determinada >>ones(2,5) >>zeros(2,5) >> ones(2,5) ans = 1 1 1 1 1 1 1 1 1 1 >> zeros(2,5) ans = 0 0 0 0 0 0 0 0 0 0
  59. 59. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Vetor multidimensional (2 planos) >>X = [1 2 3; 4 5 6; 7 8 9] >>X(:,:,2) = [2 3 4; 5 0 2; 8 3 3] %Quer acessar o elemento da 2a linha, da 3a coluna, da matriz 2 >> X(:,:,2) = [2 3 4;5 0 2;8 3 3] X(:,:,1) = 1 2 3 4 5 6 7 8 9 X(:,:,2) = 2 3 4 5 0 2 8 3 3
  60. 60. Conceitos Básicos <<FUNCOES MATRICIAIS>> -Celulas (Indexam vários elementos em uma celula, considerada uma matriz de elementos de natureza distinta - Tabela de apontadores - funcionam como a struct em C , inclusive há no Matlab tb a struct, q é semelhante a cell) >> cell = {pi 2 eye(3) [1 2 3] [0:5]} cell = [3.1416] [2] [3x3 double] [1x3 double] [1x6 double] >> cell{5} ans = 0 1 2 3 4 5 >> celula = cell{5} celula = 0 1 2 3 4 5 >> celula(3) ans = 2
  61. 61. Conceitos Básicos <<FUNCOES MATRICIAIS>> E da pra piorar.... Cell Array Multidimensional !!!
  62. 62. PARTE 3: • Declaração de Variáveis • Números,Vetores e Matrizes • Operadores e Funções • Comandos Básicos • Vetores Sequenciais • Funções Matriciais PARTE 1 : • Histórico MATLAB/Simulink/CVX PARTE 2: • Overview Matlab • Comparações • Potencialidade PARTE 4: • Operadores Booleanas • Condicionais • Controles de Fluxos (Laços) • Scripts e Funções • Gráficos Segunda-Feira: Introdução ao MATLAB Terça-Feira: Programação no MATLAB PARTE 5: Técnicas de Programação PARTE 6: Aplicação DSP
  63. 63. Por hoje chega... ;D

×