SlideShare ist ein Scribd-Unternehmen logo
1 von 63
MATLAB/Simulink/CVX
Ramon Mayor Martins - mayor@mtel.inatel.br
Ricardo Augusto da Silva Junior - ricardojunior@inatel.br
Rodrigo Cogliatti – rodrigocogliatti@hotmail.com
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 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
Histórico
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
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)
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.
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).
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
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
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).
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 !!!
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 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.
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.
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 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.
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
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.
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
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)
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
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
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á.
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.“
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.
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
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...
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 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
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 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 !
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 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
Por hoje chega... ;D

Weitere ähnliche Inhalte

Was ist angesagt?

Filtro_matlab_toobox
Filtro_matlab_tooboxFiltro_matlab_toobox
Filtro_matlab_tooboxDiego Menezes
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoElaine Cecília Gatto
 
Matlab - Conceitos Básicos
Matlab - Conceitos BásicosMatlab - Conceitos Básicos
Matlab - Conceitos BásicosRodolfo Almeida
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlabblogmaxima
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programaçãoElaine Cecília Gatto
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosElaine Cecília Gatto
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao OctavePeslPinguim
 
SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorialblogmaxima
 
FIS146 - Informática Aplicada a Fı́sica
FIS146 - Informática Aplicada a Fı́sicaFIS146 - Informática Aplicada a Fı́sica
FIS146 - Informática Aplicada a Fı́sicaMarcilio Guimarães
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 

Was ist angesagt? (20)

Filtro_matlab_toobox
Filtro_matlab_tooboxFiltro_matlab_toobox
Filtro_matlab_toobox
 
Apostila vol1 matlab
Apostila vol1 matlabApostila vol1 matlab
Apostila vol1 matlab
 
Simulink -oliveira
Simulink  -oliveiraSimulink  -oliveira
Simulink -oliveira
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
Matlab - Conceitos Básicos
Matlab - Conceitos BásicosMatlab - Conceitos Básicos
Matlab - Conceitos Básicos
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlab
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programação
 
apostila matlab
apostila matlabapostila matlab
apostila matlab
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao Octave
 
SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorial
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Construcao de Algoritmos - Aula 04
Construcao de Algoritmos - Aula 04Construcao de Algoritmos - Aula 04
Construcao de Algoritmos - Aula 04
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03
 
Construcao de Algoritmos - Aula 10
Construcao de Algoritmos - Aula 10Construcao de Algoritmos - Aula 10
Construcao de Algoritmos - Aula 10
 
FIS146 - Informática Aplicada a Fı́sica
FIS146 - Informática Aplicada a Fı́sicaFIS146 - Informática Aplicada a Fı́sica
FIS146 - Informática Aplicada a Fı́sica
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Simulink 4
Simulink 4Simulink 4
Simulink 4
 

Ähnlich wie INATEL - Matlab introdução

Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015André Curvello
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfAmlieOGalaxias
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorFelipe Hummel
 
47612195 apostila-de-scilab
47612195 apostila-de-scilab47612195 apostila-de-scilab
47612195 apostila-de-scilabMarco Antônio
 
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeça
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeçaTrês anos de Scala em Produção: desafios, aprendizados e dores de cabeça
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeçaFelipe Hummel
 
aula_01_tec_programacao_python_programacao.pdf
aula_01_tec_programacao_python_programacao.pdfaula_01_tec_programacao_python_programacao.pdf
aula_01_tec_programacao_python_programacao.pdfandersonsoares275191
 
Arquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMGArquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMGdjonatascostsa
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Conceitos de Tecnologia da Informação: Conceitos e Precurssores
Conceitos de Tecnologia da Informação: Conceitos e PrecurssoresConceitos de Tecnologia da Informação: Conceitos e Precurssores
Conceitos de Tecnologia da Informação: Conceitos e PrecurssoresMarcelo Fabiano N. de Oliveira
 

Ähnlich wie INATEL - Matlab introdução (20)

Apostila matlab
Apostila matlabApostila matlab
Apostila matlab
 
Apostila 20 matlab
Apostila 20 matlabApostila 20 matlab
Apostila 20 matlab
 
Seminário: Lisp
Seminário: LispSeminário: Lisp
Seminário: Lisp
 
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitor
 
47612195 apostila-de-scilab
47612195 apostila-de-scilab47612195 apostila-de-scilab
47612195 apostila-de-scilab
 
Functional Programming - Scala
Functional Programming - ScalaFunctional Programming - Scala
Functional Programming - Scala
 
AulaAula1(introducao)
AulaAula1(introducao)AulaAula1(introducao)
AulaAula1(introducao)
 
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeça
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeçaTrês anos de Scala em Produção: desafios, aprendizados e dores de cabeça
Três anos de Scala em Produção: desafios, aprendizados e dores de cabeça
 
LabTeX Presentation
LabTeX  PresentationLabTeX  Presentation
LabTeX Presentation
 
SDAC 12º - M9 TGEI
SDAC 12º - M9 TGEISDAC 12º - M9 TGEI
SDAC 12º - M9 TGEI
 
Java8
Java8Java8
Java8
 
Pi raciocinio lógico
Pi   raciocinio lógicoPi   raciocinio lógico
Pi raciocinio lógico
 
aula_01_tec_programacao_python_programacao.pdf
aula_01_tec_programacao_python_programacao.pdfaula_01_tec_programacao_python_programacao.pdf
aula_01_tec_programacao_python_programacao.pdf
 
Apostila_MATLAB.pdf
Apostila_MATLAB.pdfApostila_MATLAB.pdf
Apostila_MATLAB.pdf
 
Apostila matlab
Apostila matlabApostila matlab
Apostila matlab
 
Arquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMGArquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMG
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Conceitos de Tecnologia da Informação: Conceitos e Precurssores
Conceitos de Tecnologia da Informação: Conceitos e PrecurssoresConceitos de Tecnologia da Informação: Conceitos e Precurssores
Conceitos de Tecnologia da Informação: Conceitos e Precurssores
 

Mehr von Ramon Mayor Martins

IES GF Circuitos Digitais Parte 3
IES GF Circuitos Digitais Parte 3IES GF Circuitos Digitais Parte 3
IES GF Circuitos Digitais Parte 3Ramon Mayor Martins
 
IES GF - Linguagem de Programação Estruturada - Parte 3
IES GF - Linguagem de Programação Estruturada - Parte 3 IES GF - Linguagem de Programação Estruturada - Parte 3
IES GF - Linguagem de Programação Estruturada - Parte 3 Ramon Mayor Martins
 
IES GF - Linguagem de Programação Estruturada - Parte 2
IES GF - Linguagem de Programação Estruturada - Parte 2IES GF - Linguagem de Programação Estruturada - Parte 2
IES GF - Linguagem de Programação Estruturada - Parte 2Ramon Mayor Martins
 
IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1Ramon Mayor Martins
 
IES GF - Circuitos Digitais - Parte 2
IES GF - Circuitos Digitais - Parte 2IES GF - Circuitos Digitais - Parte 2
IES GF - Circuitos Digitais - Parte 2Ramon Mayor Martins
 
IES GF - Circuitos Digitais - Parte 1
IES GF - Circuitos Digitais - Parte 1IES GF - Circuitos Digitais - Parte 1
IES GF - Circuitos Digitais - Parte 1Ramon Mayor Martins
 
IFSC SJ - Grupo de estudos em rádio definido por software
IFSC SJ - Grupo de estudos em rádio definido por softwareIFSC SJ - Grupo de estudos em rádio definido por software
IFSC SJ - Grupo de estudos em rádio definido por softwareRamon Mayor Martins
 
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...Ramon Mayor Martins
 
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...Ramon Mayor Martins
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
 
Nova geração de satélites brasileiros
Nova geração de satélites brasileirosNova geração de satélites brasileiros
Nova geração de satélites brasileirosRamon Mayor Martins
 
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...Ramon Mayor Martins
 
Implementação da técnica VTLN - Estudo dos métodos
Implementação da técnica VTLN - Estudo dos métodosImplementação da técnica VTLN - Estudo dos métodos
Implementação da técnica VTLN - Estudo dos métodosRamon Mayor Martins
 
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...Ramon Mayor Martins
 
Aplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios CognitivosAplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios CognitivosRamon Mayor Martins
 
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e DamageRedes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e DamageRamon Mayor Martins
 

Mehr von Ramon Mayor Martins (19)

[2.2]ifsc integrado rdt_2015_1
[2.2]ifsc integrado rdt_2015_1[2.2]ifsc integrado rdt_2015_1
[2.2]ifsc integrado rdt_2015_1
 
[1]ifsc integrado rdt_2015_2
[1]ifsc integrado rdt_2015_2[1]ifsc integrado rdt_2015_2
[1]ifsc integrado rdt_2015_2
 
IES GF Circuitos Digitais Parte 3
IES GF Circuitos Digitais Parte 3IES GF Circuitos Digitais Parte 3
IES GF Circuitos Digitais Parte 3
 
IES GF - Linguagem de Programação Estruturada - Parte 3
IES GF - Linguagem de Programação Estruturada - Parte 3 IES GF - Linguagem de Programação Estruturada - Parte 3
IES GF - Linguagem de Programação Estruturada - Parte 3
 
IES GF - Linguagem de Programação Estruturada - Parte 2
IES GF - Linguagem de Programação Estruturada - Parte 2IES GF - Linguagem de Programação Estruturada - Parte 2
IES GF - Linguagem de Programação Estruturada - Parte 2
 
IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1
 
IES GF - Circuitos Digitais - Parte 2
IES GF - Circuitos Digitais - Parte 2IES GF - Circuitos Digitais - Parte 2
IES GF - Circuitos Digitais - Parte 2
 
IES GF - Circuitos Digitais - Parte 1
IES GF - Circuitos Digitais - Parte 1IES GF - Circuitos Digitais - Parte 1
IES GF - Circuitos Digitais - Parte 1
 
IFSC SJ - Grupo de estudos em rádio definido por software
IFSC SJ - Grupo de estudos em rádio definido por softwareIFSC SJ - Grupo de estudos em rádio definido por software
IFSC SJ - Grupo de estudos em rádio definido por software
 
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...
IES GF - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - P...
 
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
 
Nova geração de satélites brasileiros
Nova geração de satélites brasileirosNova geração de satélites brasileiros
Nova geração de satélites brasileiros
 
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...
[Apresentação de Defesa] Análise comparativa entre os métodos HMM e GMM-UBM n...
 
Implementação da técnica VTLN - Estudo dos métodos
Implementação da técnica VTLN - Estudo dos métodosImplementação da técnica VTLN - Estudo dos métodos
Implementação da técnica VTLN - Estudo dos métodos
 
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...
Application of Neural Network for Sensing Primary Radio Signals in a Cognitiv...
 
Aplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios CognitivosAplicações de Inteligência Artificial em Rádios Cognitivos
Aplicações de Inteligência Artificial em Rádios Cognitivos
 
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e DamageRedes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage
Redes Neurais - Poda Hessiana: Optimal Brain Surgeon e Damage
 
Redes Oportunistas: Haggle
Redes Oportunistas: HaggleRedes Oportunistas: Haggle
Redes Oportunistas: Haggle
 

INATEL - Matlab introdução

  • 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. 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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 !!!
  • 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. 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. Histórico A Origem do MATLAB ! Niklaus Wirth, foi o inventor e desenvolvedor da linguagem PASCAL Help command
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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...
  • 30. Interface com outras Plataformas
  • 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
  • 33. Ambiente de Desenvolvimento Command Window Workspace Directory-Folder Command History
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Conceitos Básicos <<FUNCOES MATRICIAIS>> E da pra piorar.... Cell Array Multidimensional !!!
  • 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