Escolar Documentos
Profissional Documentos
Cultura Documentos
MATLAB Comandos bsicos Variveis e Constantes Expresses Funes e Operadores Vectores e Matrizes
Instituto Superior Tcnico, Dep. de Engenharia Mecnica - ACCAII
Mathworks
Site oficial da Mathworks
LINK
LINK
LINK
LINK
A ferramenta MATLAB
MATLAB (MATrix LABoratory) Programa optimizado para clculos de engenharia e cientficos Programa MATLAB implementa a linguagem de programao MATLAB. Conjunto alargado de funes pr-definidas, normalmente agrupadas em toolboxes. Objectivo: escrever, depurar e optimizar programas em MATLAB.
Jos Borges - Miguel Pedro Silva
Vantagens do MATLAB
Fcil de utilizar: uma linguagem interpretada, sendo fcil de escrever e testar programas. Independente da Plataforma: o cdigo desenvolvido corre em diferentes SOs: Windows Linux Unix Macintosh O cdigo pode ser compilado, mas mais lento que Fortran ou C (C++), por exemplo.
Jos Borges - Miguel Pedro Silva
Vantagens do MATLAB
Grande nmero de toolboxes desenvolvidas pela Mathworks em diversas especialidades: engenharia, economia, bioinformtica, finanas, etc Utilizado por uma vasta comunidade: Aproximadamente 15.400.000 entradas no google.com Existncia de toolboxes resultantes de vria contribuies Clculo matemtico / manipulao numrica de matrizes Gerao de grficos Pode ser utilizado para construir aplicaes do tipo Graphical User Interfaces (GUI)
Jos Borges - Miguel Pedro Silva
Desvantagens do MATLAB
uma linguagem interpretada, logo a execuo mais lenta que as linguagens compiladas (Este problema poder ser reduzido usando o compilador do MATLAB para gerar um executvel) A licena do MATLAB cara.
Ambiente do MATLAB
Directoria de trabalho Windows Menu
Command History
Comandos bsicos
Comando info demo help helpbrowser lookfor nome clock quit Descrio apresenta informao da aplicao abre a janela de demonstraes apresenta ajuda por palavra chave abre a janela de ajuda faz pesquisa por palavra chave informao da data e hora termina o MATLAB
8
Variveis
Objectos utilizados para armazenar valores na memria do computador, sendo caracterizadas pelo par,
Identificador: um nome dado varivel para possibilitar sua manipulao Contedo: o valor a reter, que poder ser numrico ou alfanumrico Temperatura = 45; Dia = 12
As variveis s so vlidas durante a execuo da aplicao. O contedo destas perde-se quando a aplicao encerrada, podem no entanto ser gravadas em suporte fsico permanente A cada varivel existente na aplicao corresponde uma zona exclusiva na memria principal do computador, sendo esta ligao gerida pelo conjunto aplicao & SO
Jos Borges - Miguel Pedro Silva
10
11
12
13
14
15
Constantes
Aplica-se a generalidade das caractersticas enunciadas para as variveis A diferena para estas que o valor da constante fixo e atribudo no momento da sua definio Exemplos:
pi = 3,1416 acelerao da gravidade, c = 299 792 458 ms1 velocidade da luz, g = 9,78 ms2
16
Constantes em MATLAB
Comando pi i j inf NaN Descrio constante Pi ( = 3.141592654... ) representao de nmero imaginrio representao de nmero imaginrio infinito ( ) not a number ( 0 / 0 )
17
18
Operadores matemticos
help matlab\ops Comando + * / \ rem ^
Jos Borges - Miguel Pedro Silva
Descrio adio subtraco negao produto diviso por ( 10 / 5 = 2 ) diviso para ( 5 \ 10 = 2 ) resto da diviso inteira ( 11 / 5 = 2, resto = 1 ) exponenciao
Computao e Programao 2009 / 2010
19
Descrio funes trigonomtricas raiz quadrada funes de logaritmo e exponenciao valor absoluto funes de arredondamento
20
10
Expresses
As expresses podem ser criadas utilizando:
Valores numricos e/ou variveis (desde que j criadas!) Operadores Funes pr-definidas e/ou criadas pelo utilizador Parntesis Operador Ellipsis (... )
>> resultado = ( 3 + 5 ) + sin(1.5708) ... * 2 resultado = 10.0000
Jos Borges - Miguel Pedro Silva
21
22
11
Tipos de dados
Reais (nmeros fraccionrios) Inteiros (com ou sem negativos) Caracteres (letras, dgitos, smbolos, sinais de pontuao) Lgicos (valores lgicos true e false) No MATLAB os tipos so genericamente definidos como classes, as quais so constitudas por,
tipo de dados operaes que podem ser executadas sobre o tipo de dados
23
Descrio nmeros reais (by default) nmeros inteiros sem signal nmeros inteiros com signal cadeias de caracteres tipo lgico
24
12
Size 1x1
Bytes 8
Class double
Attributes
Bytes 4 4
Attributes
25
26
13
27
28
14
Exemplos de utilizao
Gerar vector (tamanho N) de nmeros inteiros a partir da distribuio uniforme discreta com valor mximo m: r = randi(N,m,1); Gerar vector de nmeros reais a partir da distribuio normal com desvio padro dp e mdia m: r = m + dp.*randn(N,1) Gerar vector de nmeros reais a partir da distribuio uniforme no intervalo [a, b] : r = a + (b-a).*rand(N,1);
Jos Borges - Miguel Pedro Silva
29
30
15
98
99
100
>> char('abcd' + 1)
Vectores e Matrizes
Variveis utilizadas para armazenar conjuntos de dados do mesmo tipo na forma de: vector coluna com dimenso [ n 1 ] vector linha com dimenso [ 1 x m ] matrizes com dimenso [ n x m ]
Vector Coluna Escalar 13 11 31
Jos Borges - Miguel Pedro Silva
Vector Linha
Matriz
33
Computao e Programao 2009 / 2010
32
16
33
34
17
35
36
18
Criao de matrizes
>> mat = [4 3 1; 2 5 6] mat = 4 2 3 5 1 6
>> mat = [3 5 7; 1 2] ??? Error using ==> vertcat CAT arguments dimensions are not consistent. >> mat = [2:4; 3:5] mat = 2 3
Jos Borges - Miguel Pedro Silva
3 4
4 5
Computao e Programao 2009 / 2010
37
Criao de matrizes
>> randi([10,30],2,3) ans = 17 27 >> rand(2) ans = 0.7572 0.7537 >> zeros(2) ans = 0 0
Jos Borges - Miguel Pedro Silva
22 21
29 16
0.3804 0.5678
0 0
Computao e Programao 2009 / 2010
38
19
3 5
1 6
>> mat(2,2:end) 6
Computao e Programao 2009 / 2010
39
Modificao de matrizes
>> mat = [4 3 1; 2 5 6] mat = 4 2 3 5 1 6
3 13
1 15
40
20
Informao dimensional
Comando Descrio size dimenses da matriz length tamanho de um vector maior dimenso de uma matriz numel nmero de elementos de uma matriz
41
Exemplos de utilizao
>> mat = [4 3 1; 2 5 6]; >> size(mat) ans = 2 3
42
21
Rearranjo de matrizes
Comando Descrio reshape modifica as dimenses da matriz rearranjando os elementos desta fliplr rearranja os elementos da matriz pela troca da esquerda para a direita flipud rearranja os elementos da matriz pela troca de baixo para cima rot90 roda os elementos da matriz 90 no sentido contrrio aos ponteiros do relgio
Jos Borges - Miguel Pedro Silva
43
Exemplos de utilizao
>> mat = [4 3 1; 2 5 6]; >> fliplr(mat) ans = 1 6 3 5 4 2
44
22
Exemplos de utilizao
>> mat = [4 3 1; 2 5 6]; >> reshape(mat,3,2) ans = 4 2 3 5 1 6
6 5 2
Computao e Programao 2009 / 2010
45
Referncias
Capitulo 1 de Matlab: A Practical Introduction to Programming and Problem Solving, Stormy Attaway (2009) Elsevier. Site do MATLAB@Mathworks: http://www.mathworks.com/
46
23