Você está na página 1de 31

MATLAB

Apresentao Eron Miranda 19910284 Leandro Leo 20010414 Josival Alecrim 20110509

Histrico
Matlab, de Matrix Laboratory, um ambiente interativo para computao envolvendo matrizes. Matlab foi desenvolvido no incio da dcada de 80 por Cleve Moler, no Deptto de Cincia da Computao da Universidade do Novo Mxico, EUA. baseado em dois pacotes:LINPACK e pacotes:LINPACK EISPACK

Histrico Pacotes
Ambas colees de rotinas em Fortran: 1. LINPACK
para soluo de sistemas de equaes lineares e problemas de mnimos quadrados Orienta os algortmos a colunas, baseado na forma que o Fortran armazena as matrizes na memria

2. EISPACK
para clculo de autovalores e autovetores Inicialmente criada em ALGOL em nos anos 60, mas reformulada em FORTRAN em 1972

Caractersticas
Paradigma Imperativo Mtodo de Implementao:
interpretao compilao

Ambiente de Programao:
Linha de comando Editor Debugador Visualizador Grfico Editor de GUI

Avaliao da Linguagem
Boa Legibilidade Simplicidade na Escrita Confiabilidade
Garante acuracidade nos resultados

Portabilidade
As funes e aplicaes podem ser rereutilizadas nas plataformas PC, Unix, Linux, Macintoch

Aplicabilidade
Domnio de Programao
Aplicaes Cientficas Estatstica: Anlise de Dados Teste e Mensurao Computao Numrica
Centenas de funes matemticas e estatsticas Alta performance em computao

Desenho Grfico Avanado Processamento de Imagens e Sinais

Aplicabilidade
Pesquisa Gentica Finanas Indstria Explorao da Terra e Espao Simulao e prototipagem de Sistemas

Aplicabilidade

Aplicabilidade

Participou desenvolvimento do prottipo de vo e pouso no tripulado da no projeto GN&C Boeing Permitiu o desenvolvimento a baixo custo e rapidez

Variveis
Varives:
Palavras nicas sem espaos Com at 31 chars Comea com letra Case sensitive

Nomes Reservados de Variveis


pi razo entre o permetro da circunferncia e seu dimetro. eps inf infinito, por exemplo, 1/0 NaN No-numrico, por exemplo, 0/0 No iej i=j=sqrt(-1) (raiz quadrada de 1) i=j=sqrt( realmin menor nmero real positivo utilizvel realmax maior nmero real positivo utilizvel

Tipos
Tipo bsico uma matriz que no requer dimensionamento Por isso agiliza o processo de soluo de problemas computacionais que envolvem matrizes Executa operaes com matrizes sem a necessidade de loops

Tipos
O tipo de uma varivel definido na atribuio Uma varivel declarada na sua atribuio de valores Uma varivel pode ser de tipos:
Inteiro, Float : so criados como double Complexo: ex: c = 1 2i (double complex) Texto : entre aspas simples (char)

Atribuio
Lista explcita de elementos > A = [ 1 2 3; 3 4 5; 6 7 8] que a mesma coisa que entrar como a seguir: > A=[123 345 6 7 8] Os elementos de uma linha podem ser separados por vrgula (,) ou espao ( ). Nmeros na forma exponencial, deve-se evitar deveespaos em branco (exemplo, 3.19e-3). 3.19e Matrizes grandes usar um arquivo M onde possvel editar os erros facilmente

Atribuio
Para especificar um nico elemento da matriz usa-se usandices entre parnteses. Ex: x(2,3) , - mostra resultado ; - suprime visualizao Comentrio %

Operaes
+ Adio - Subtrao * Multiplicao ^ Potncia ' Transposio (por exemplo, se A uma matriz, ento A' sua transposta) / Diviso

Operadores
Operadores relacionais no Matlab so: < menor > maior <= menor ou igual >= maior ou igual == igual ~= diferente Observe que '=' usado para atribuio a variveis, variveis, enquanto '==' usado em uma relao. As relaes podem ser conectadas ou quantificadas atravs de operadores lgicos: & and | or ~ not

Expresses
varivel = expresso, ou simplesmente expresso, expresso Expresses - compostas por operadores, funes e variveis. A avaliao da expresso produz uma matriz, que ento exibida na tela e atribuda varivel para uso posterior. Se a varivel e o sinal de igual ( = ) so omitidos, o Matlab cria uma varivel ( ans de answer ) e atribui answer o resultado a ela. Declarao termina com <carriage return> (enter). <carriage return> Vrias declaraes podem ser colocadas em uma nica linha se separadas por vrgulas ou ponto e vrgula.

Funes de Matrizes
eye matriz identidade Ex.: eye(2) zeros matriz de zeros Ex: zeros(2,2) ones matriz de 1's Ex: ones(2,2) diag matriz diagonal Se x um vetor, diag(x) a matriz diagonal com x na diagonal; Rand() gera randomiza Magic() gera quadrado mgico

Loops While
n=0;a=3; while(2^n<a) n=n+1; end n

Loops For
x=[];n=5; for i=1:n, x=[x,i^2], end ou x=[];n=5; for i=1:n x=[x,i^2] end

If
if n<0 parity=0; elseif rem(n,2)==0 parity=2; else parity=1; end parity

Funes
Toda variavel tem escopo global nos scripts So usadas nos M-Files M-

function a = mdc(a,b) % MDC Mximo Divisor Comum % mdc(a,b) o mximo divisor comum dos inteiros a e b, % com a e b diferentes de zero. a=round(abs(a)); b=round(abs(b)) if a==0 & b==0 error('O mdc no definido quando ambos os nmero so zero') else while( b~=0) r = rem(a,b); a = b; b = r; end end

Ambiente
Linhas de Comando (Calculadora) M-Files
Incorpora facilmente diversas estruturas do ambiente, tais como: Matrizes e Programas Editor / Debugger

GUI Builder facilita a criao de interfaces, com a incluso de componentes, multi-window, animao, multisom e imagem Permite escrita de scrips para automatizar rotinas

Ambiente
Permite interagir com outras linguagens, chamando rotinas diretamente do C, C++, Java, Fortram
O usurios pode embutir suas chamadas externas nos M-files M-

Converte programas MATLAB em aplicaes Stand-Alone Stand Desevolvimento de End-User Software End-

Ambiente - Toolbox
Toolboxes
Traz uma srie de bibliotecas padro com funes para progamao na linguagem do MATLAB, criao de grficos, anlise de dados, funes matemticas, funes grficas Interface com o SO, File IO O usurio tambm pode criar suas prprias Toolboxes

Ambiente Toolbox
Existe no mercado uma srie de Toolbox criadas por vrios especialistas em suas rea de pesquisa As funes das Toolbox so escritas na linguagem do MATLAB e seus podem ser vistas e alteradas pelos usurios

Ambiente Toolbox
Processamento de sinais
projeta filtros no domnio do tempo e no domnio da freqncia, anlise do atraso de fase produzido pelo filtro, transformao de filtros passa baixo - mdio - alto (com representaes em funes de transferncia e varivel de estado). possvel determinar espectros de potncia de sinais

Controle de processos
Anlise da dinmica de processos e projeto de controladores. Anlise de sistemas dinmicos com mtodos clssicos

Splines
Permite a construo de funes por partes com polinmios de diferentes graus (splines). Funes de vrias variveis podem ser obtidas como produtos tensoriais de splines monovariveis. Usadas em interpolao, soluo de equaes diferenciais, funes de ativao em redes neuronais. So curvas suaves (com derivadas at ordem n, com n dado pelo usurio).

Ambiente - Toolbox
Otimizao
Permite realizar otimizaes com restries utilizando diferentes mtodos, programao linear, programao quadrtica. Podem ser utilizados gradientes analticos ou numricos e at 18 parmetros de controle na otimizao. Tambm podem ser abordados problemas de otimizao multimulti-objetivo.

Redes neuronais
possvel criar redes neuronais, trein-las e utiliz-las para treinutilizpredio. H vrios modelos de neurnios que podem ser utilizados (funes de ativao). Podem ser geradas redes de uma camada, vrias camadas e redes recorrentes. As redes neuronais podem ser utilizadas para modelagem (identificao) e predio de comportamento de processos.

Outras Bibliotecas
Clculo algbrico ("symbolic math") Estatstica Controle no linear - Controle preditivo Lgica difusa - etc.

Referncias
RIBEIRO, Paulino Villas Boas. Construo de Softwares numricos para computao de autodesempenho. Instituto de Fsica de So Carlos. 6 de dezembro de 2002 HANSELMAN, Duane e LITTLEFIELD, Bruce. MATLAB 5 Guia do Usurio, Verso do Estudante. So Paulo: Makron Books, 1999