iniciação ao matlab

105
Iniciação ao MatLab Eugênio Silva E Adriano Cruz

Upload: tobit

Post on 25-Jan-2016

31 views

Category:

Documents


1 download

DESCRIPTION

Eugênio Silva E Adriano Cruz. Iniciação ao MatLab. Introdução. Introdução. MatLab – Matrix Laboratory (Universidades de Stanford e Novo México - 1970) originalmente escrito para trabalhar com matrizes e vetores evoluiu ao longo do anos até se tornar uma ferramenta de ampla abrangência. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Iniciação ao MatLab

Iniciação ao MatLab

Eugênio SilvaE

Adriano Cruz

Page 2: Iniciação ao MatLab

Introdução

Page 3: Iniciação ao MatLab

Introdução• MatLab – Matrix Laboratory (Universidades

de Stanford e Novo México - 1970)

• originalmente escrito para trabalhar com matrizes e vetores

• evoluiu ao longo do anos até se tornar uma

ferramenta de ampla abrangência.

Page 4: Iniciação ao MatLab

Introdução• o MatLab é uma poderosa ferramenta

matemática e uma linguagem de programação de alto-desempenho para a computação científica

• integra cálculos matemáticos, visualização e programação em um ambiente interativo

• é de fácil utilização

Page 5: Iniciação ao MatLab

Exemplo – transpor uma matriz

• Pascal

var a, b : array [1..3, 1..3] of integer; i, j : integer;begin . . . for i = 1 to 3 for j = 1 to 3 b(j,i) := a(i,j); end; end;end.

• MatLab

>> a = [1 2 3; 4 5 6; 7 8 9]a = 1 2 3 4 5 6 7 8 9

>> b = a’b = 1 4 7 2 5 8 3 6 9

Page 6: Iniciação ao MatLab

Introdução

• o elemento de dados básico é uma matriz

• matrizes e vetores são manipulados com mais facilidade e rapidez que em programas escritos em linguagens não-interativas como Pascal, C ou Fortran

Page 7: Iniciação ao MatLab

Introdução

• Linha de comandos – é possível usar o matlab através de comandos emitidos a partir de linha de comandos

• scripts – arquivos que contém comandos matlab

Page 8: Iniciação ao MatLab

Introdução

• toolboxes - bibliotecas de funções que permitem a resolução de classes particulares de problemas

• simulink - acessório que acrescenta uma interface de diagramas de blocos e recursos de simulação real aos demais recursos numéricos, gráficos e de linguagem

Page 9: Iniciação ao MatLab

Aplicações

• matemática e computação

• desenvolvimento de algoritmos

• modelagem, simulação e prototipação

• análise de dados, exploração e visualização

• gráficos científicos em duas e três dimensões

Page 10: Iniciação ao MatLab

Help• On line

• Linha de comandos - – help– help elfun– help abs

• demos - – demo

Page 11: Iniciação ao MatLab

Comandos

Page 12: Iniciação ao MatLab

Operações Elementares

>> 4 + 6 – 2

ans =

8

>> 4 * 2 + 6 * 5 + 2 * 9

ans =

56

>> 25 / 5 + 5 \ 25

ans =

10

>> 3 ^ 2 * 2 ^ 2 + 2

ans =

38

Page 13: Iniciação ao MatLab

Prioridades• Parênteses• Potência

– 3 * 2 ^ 3 = 24• * e /

– Resolvendo da esquerda para direita– 8 / 4 * 3 = 6

• + e -– Resolvendo da esquerda para direita

Page 14: Iniciação ao MatLab

Números• Inteiros: 32, -12345• Reais: 3.1789, -23.0, 1.0e-3• Complexos: 3.2 – 23.5i • Inf: Infinito (resultado da divisão por 0)• NaN: Not a number 0/0• Contas são feitas com 15 dígitos

aproximadamente• Comando format controla impressão dos

resultados.

Page 15: Iniciação ao MatLab

Definição de Variáveis>> a = 10a =

10

>> b = 20; O ‘;’ evita que o resultado apareça na tela.

>> c = 1 + 2i ou c = 1 + 2jc =

1.0000 – 2.0000i

Page 16: Iniciação ao MatLab

Nomes de Variáveis• Combinações de letras e números,

começando com letra

– n1, ab, temp• Nomes especiais

– eps = 2.220446049250313e-16 (o menor número tal que 1 + eps é indistinguível de 1)

– pi

– i, k

Page 17: Iniciação ao MatLab

Variáveis Pré-definidas• ans: váriavel padrão usada para resultados

de expressões do tipo– >> 3 + 5

• pi

• i ou j: igual a raiz quadrada de -1

• realmax: maior número real utilizável

– 1.797693134862316e+308

• realmin: menor número real utilizável

– 2.225073858507201e-308

Page 18: Iniciação ao MatLab

Variáveis Pré-definidas

• nargin: número de argumentos de entrada

• nargout: número de argumentos de saída

Page 19: Iniciação ao MatLab

Funções Elementares• abs(x) valor absoluto de x

• sin(x) seno de x

• asin(x) arc seno x

• cos(x) co-seno x

• acos(x) arc co-sen x

• tan(x) tangente x

• exp(x) e elevado a x

Page 20: Iniciação ao MatLab

Funções Elementares• log(x) log inverso de exp(x)

• log10(x) log base 10 de x

• gcd(x,y) mdc de x e y

• lcm(x,y) mmc entre x e y

• max(x) máximo de x

• min(x) mínimo de x

• inv(x) matriz inversa de x

• ...

Page 21: Iniciação ao MatLab

Espaço de Trabalho>> who lista variáveis na memória

>> whos lista variáveis detalhadamente

>> clear apaga variáveis da memória

>> save salva variáveis em arq .mat

>> load carrega variáveis de um .mat

>> format formato de apresentação dos resultados

Page 22: Iniciação ao MatLab

Comandos do SO>> dir ou ls arquivos do diretório

>> cd ou pwd diretório corrente

>> cd . . diretório acima do corrente

>> cd \ diretório raiz

>> delete <arquivo> apaga arquivo

>> edit <arquivo> abre arquivo para edição

>> type <arquivo> mostra o conteúdo do arquivo

>> quit ou exit sai do ambiente

Page 23: Iniciação ao MatLab

Vetores

Page 24: Iniciação ao MatLab

Vetores em linha>> x = [ 1 3 5 ];

>> lenght(x)

ans =

3

>> y = [ 3 4 5 ];

>> x + y

ans =

4 7 10

>> z = 3 * y

ans =

9 12 15

Page 25: Iniciação ao MatLab

Vetores>> x = [ 1 3 5 ];

>> v1 = [ 3 4 5 6];

>> x + v1

??? Error using ==> plus

Matrix dimensions must agree.

Page 26: Iniciação ao MatLab

Gerando vetores

>> x = [0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1] .* pi

ou

>> x = (0:0.1:1).* pi

ou

>> x = linspace(0,pi,11)

>> y = sin(x)

Page 27: Iniciação ao MatLab

Gerando vetores• linspace(x1,x2) gera um vetor linha com 100 pontos

igualmente espaçados.

• linspace(x1,x2,n) gera vetor com n pontos entre x1 e x2

>>linspace(0,pi,11)

Page 28: Iniciação ao MatLab

Gerando vetores

• a : b : c gera vetor começando em a, incrementando por b, até chegar em c. Não gera além de c.

>> 0:0.1:1

ans =

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

• a : b gera vetor começando em a até chegar em b incrementando por 1

Page 29: Iniciação ao MatLab

Manipulando vetores• x = (0:0.1:1)*pi

x = 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 2.8274 3.1416

• x(6) = 1.5708

• x(1:5) = 0 0.3142 0.6283 0.9425 1.2566

• x(7:end) = 1.8850 2.1991 2.5133 2.8274 3.1416

• x(3:-1:1) = 0.6283 0.3142 0

• x(2:2:7) = 0.3142 0.9425 1.5708

Page 30: Iniciação ao MatLab

Manipulando vetores, matrizesx = 0 0.3142 0.6283 0.9425 1.2566

1.5708 1.8850 2.1991 2.5133 2.8274 3.1416

• x([8 2 9 1]) = 2.1991 0.3142 2.5133 0

• z = x[(2:5) 4 5 7] = 0.3142 0.6283 0.9425 1.2566 4.0000 5.0000 7.0000

• w = [ x y ] %vetor linha

• k = [ x; y ] % matriz com duas linhas

Page 31: Iniciação ao MatLab

Manipulando vetores, matrizes• A = [1 2 3; 4 5 6; 7 8 9];

• A(3,3) = 9

• A(2, 2:3) = 5 6

• A(3,:) = 7 8 9 % : todas as colunas

Page 32: Iniciação ao MatLab

Manipulando vetores, matrizes• B = A(3:-1:1, : )

• B = [7 8 9; 4 5 6; 1 2 3]

• C = [A B( : , [1 3])]– C = [1 2 3 7 9; 4 5 6 4 6; 7 8 9 1 3]

• B(:,2) = [ ]– B = [7 9; 4 6; 1 3]

• B = A(:,[2 2 2 2])– B = [2 2 2 2; 5 5 5 5; 8 8 8]

Page 33: Iniciação ao MatLab

Operações Especiais>>eye(linhas,colunas)

Cria matriz identidade

>> det(m)

Determinante de m

>> zeros(n1,n2,n3,...)

Matriz de zeros

>> inv(m)

Inversa de m

>> ones(n1,n2,...)

Matriz de uns

>> m’

Transposta de m

>> rand (n1,n2,...)

Matriz de rand entre 0 e 1.0

Page 34: Iniciação ao MatLab

Matrizes

1 5 9 13

2 6 10 14

3 7 11 15

4 8 12 16

matriz(10) ou matriz(2,3)

Page 35: Iniciação ao MatLab

Busca de Sub-Matrizes>> x = -3:3

x =

-3 -2 -1 0 1 2 3

>> k = find(abs(x) > 1)

k =

1 2 6 7

>> y = x(k)

-3 -2 2 3

>> A= [1 2 3; 4 5 6; 7 8 9]

A = 1 2 3

4 5 6

7 8 9

>> [ i , j ] = find(A > 5)

i = 3 j = 1

3 2

2 3

3 3

Page 36: Iniciação ao MatLab

Dimensões de Vetores e Matrizes

whos lista as variáveis e suas dimensões

s = size(A) retorna o número de linhas e colunas de A

[x,y] = size(A) x contém o núm de linhas e y o de colunas

x = size(A,1) retorna o número de linhas de A

y = size(A,2) retorna o número de colunas de A

n = length(A) retorna max(size(A))

Page 37: Iniciação ao MatLab

Operações com Vetores e Matrizes

a = [a1 a2 ... an], b = [b1 b2 ... bn], c = <um escalar>

adição a escalar a + c = [a1 + c ... an + c]

multiplicação por escalar a * c = [a1* c ... an* c]

soma de vetores a + b = [a1 + b1 ... an + bn]

multiplicação de vetores a .* b = [a1 *b1 ... an *bn]

Page 38: Iniciação ao MatLab

Operações com Vetores e Matrizes

a = [a1 a2 ... an], b = [b1 b2 ... bn], c = <um escalar>

Divisão vetores (a/b) a ./ b = [a1 /b1 ... an /bn]

Divisão vetores (b/a) a .\ b = [a1\b1 ... an\bn]

Potenciação vetorial c.^a = [c^a1 ... c^an]

Page 39: Iniciação ao MatLab

Alguns exemplos

• x = [ 1 2 3 4], y = [ 1 1/2 1/3 1/4];• x .* y % dot product

1 1 1 1• x * y' % scalar product

4• sqrt( x * x') %Comprimento vetor

5.4722

Page 40: Iniciação ao MatLab

Mais exemplos: resolução de sistemas de equações

• 2x1- x2 = 1

• X1 - 2x2 + x3 = 0

• - x2 + 2x3 = 1

• Ax = b; x = A-1b; x = A \ b

Page 41: Iniciação ao MatLab

Mais exemplos: resolução de sistemas de equações

• A = [ 2 -1 0; 1 -2 1; 0 -1 2];

• b = [1; 0; 1]• Em notação matricial Ax = b• x = A-1b;• X = inv(A) * b;• x = A \ b;

Page 42: Iniciação ao MatLab

Gráficos

Page 43: Iniciação ao MatLab

Gráficos Bidimensionais

>> x = linspace(0, 2 * pi, 30);

>> y = sin(x);

>> z = cos(x);

>> plot(x,y,x,z)

Page 44: Iniciação ao MatLab

Títulos, Rótulos e Grids

>> x = linspace(0, 2 * pi, 30);

>> y = sin(x);

>> plot(x,y,x,z);

>> title('Grafico de y = sen(x)');

>> xlabel('Eixo x');

>> ylabel('Seno(x)');

Page 45: Iniciação ao MatLab

Legendas>> x = linspace(0, 2 * pi, 30);

>> y = sin(x);

>> z = cos(x);

>> plot(x,y,x,z);

>> legend('curva sen', 'curva cos');

Page 46: Iniciação ao MatLab

Linhas: Estilos e Cores

>> x = linspace(0, 2 * pi, 30);

>> y = sin(x);

>> z = cos(x);

>> subplot(2,1,1)

>> plot(x,y,’go’)

>> subplot(2,1,2)

>> plot(x,z,’r*’)

Page 47: Iniciação ao MatLab

Hold• Comando plot limpa a janela do gráfico

antes de desenhar o novo gráfico• Isto não é conveniente se desejarmos

adicionar outros gráficos no futuro• Usar hold para evitar limpeza da janela• plot(x,y,'w-'), hold on• plot(x,y,'gx'), hold off• hold off não limpa a janela (usar clf)

Page 48: Iniciação ao MatLab

Subplots• A janela do gráfico é dividida em uma

matriz m x n de pequenas janelas.

• As janelas são contadas entre 1 e m x n

• Cada subfigura é tratada como uma figura podendo ter mais de uma curva, estilos, legendas, cores etc

Page 49: Iniciação ao MatLab

Subplotsx = linspace(0,2*pi,30);

y1 = sin(x);

y2 = sin(2*x);

y3 = sin(3*x);

y4 = sin(4*x);

subplot(221), plot(x,y1), legend('y = sen(x)');

subplot(222), plot(x,y2), legend('y = sen(2*x)');

subplot(223), plot(x,y2), legend('y = sen(3*x)');

subplot(224), plot(x,y4), legend('y = sen(4*x)');

Page 50: Iniciação ao MatLab

Subplots

Page 51: Iniciação ao MatLab

Gráficos Bidimensionais

>> x = -2.9 : 0.2 : 2.9;

>> y = randn(5000,1);

>> hist(y,x)

Page 52: Iniciação ao MatLab

Textos Formatados• Possível aumentar ou diminuir fontes• Alguns comandos latex podem ser

usados• É possível obter os valores de qualquer

propriedade através do “handle” da figura

• handle = plot(x,y);• get (handle, 'markersize');

Page 53: Iniciação ao MatLab

Controlando os eixos• Uma vez que um gráfico foi criado é

possível mudar a excursão dos valores x e y mostrados na figura.

• clf, N=100; h=1/N; x = 0:h:1;• y = sin(3*pi*x), plot(x,y);• axis([-0.5 1.5 -1.2 1.2]), grid;

Page 54: Iniciação ao MatLab

Controlando os eixos

Page 55: Iniciação ao MatLab

Gráficos Tridimensionais

>> t = 0 : pi / 50 : 10 * pi;

>> plot3(sin(t),cos(t),t);

>> title(‘hélice’)

>> xlabel(‘sen(t)’)

>> ylabel(‘cos(t)’)

>> zlabel(‘t’)

>> grid

Page 56: Iniciação ao MatLab

Gráficos Tridimensionais

%z = f(x,y)

x = -0.5*pi:0.1:0.5*pi;

y = x; % minusculas

[X Y] = meshgrid(x,y);

Z = sin(2*X)+sin(3*Y); % maiusculas

mesh(X,Y,Z);

title('Ex de graf 3D');

Page 57: Iniciação ao MatLab

Gráficos Tridimensionais

Page 58: Iniciação ao MatLab

O mesmo com surf

Page 59: Iniciação ao MatLab

O mesmo com surfl

Page 60: Iniciação ao MatLab

Gráficos Tridimensionais

>> surf(peaks)

Page 61: Iniciação ao MatLab

Scripts

Page 62: Iniciação ao MatLab

Arquivos M (Scripts)

• Armazenam uma sequência de comandos em um arquivo texto que é executado a partir do prompt

• Úteis quando o número de comandos a serem executados é grande, ou caso seja necessário alterar os valores das variáveis e re-executar alguns comandos

• Devem ter a extensão .m

Page 63: Iniciação ao MatLab

Scripts em Matlab• Scripts não aceitam e não retornam

argumentos. • Scripts podem alterar as variáveis do espaço

de trabalho (workspace) atual. • Scripts podem conter comandos que

interagem com o usuário e/ou arquivos. • Use scripts para:

– Automatizar a execução de uma seqüência de comandos frequentemente utilizados

– Documentar os passos de um processo

Page 64: Iniciação ao MatLab

Scripts em Matlab%Exemplo de script%clear all; x = 0:0.01:2*pi; eixos = [0 2*pi -2 +2];y1 = sin(x);y2 = cos(x);y3 = tan(x);y4 = zeros(size(x));

plot (x,y1,x,y2,x,y3,x,y4,'k');axis (eixos);legend('Seno', 'Coseno','Tangente');title('Graficos de seno, coseno e tangente.');xlabel('Angulos');ylabel('Seno, coseno e tangente');

Page 65: Iniciação ao MatLab

Scripts em Matlab

Page 66: Iniciação ao MatLab

Scripts

• Para executar um script armazenado em um arquivo digite o nome do arquivo sem o .m

• O que aparece na tela são os resultados da execução dos comandos.

• echo on faz com que os comandos apareçam antes da execução.

• echo off faz com que os comandos deixem de aparecer.

Page 67: Iniciação ao MatLab

Alguns Comandos e Funções

Page 68: Iniciação ao MatLab

Estrutura Condicional – if

>> if expressão_1

comandos_1;

elseif expressão_2

comandos_2;

else

comandos_3;

end

Page 69: Iniciação ao MatLab

Operadores Relacionais e Lógicos

< menor que

<= menor ou igual

> maior que

>= maior ou igual

= igual

~= diferente

& e

| ou

~ não

Page 70: Iniciação ao MatLab

Funções Relacionais e Lógicas

xor(x,y) ou exclusivo

ischar(x) 1 se x é um vetor de caracteres

isequal(x,y) 1 se x e y são iguais

isempty(x) 1 se x é vazio

ismember(x,y)

1 se os elementos de x pertencem a y

isstruct(x) 1 se x é uma estrutura

Page 71: Iniciação ao MatLab

Estrutura Condicional – switch - case

>> switch expressão

case teste_expressão_1

comandos_1

case teste_expressão_2

comandos_2

otherwise

comandos_3

end

Page 72: Iniciação ao MatLab

Laços de Repetição – for / while

>> for x = vetor

comandos;

end

>> while expressão

comandos;

end

Page 73: Iniciação ao MatLab

Laços de Repetição

clf;x = -2:0.1:2;hold on;for n = 1:8 plot(x,n*x .*x );endhold off;

Page 74: Iniciação ao MatLab

Laços de Repetição

Page 75: Iniciação ao MatLab

Otimização de Código

• o laço de repetição

for i = 0:999 x(i+1) = sin(2*pi*i/100); end

• pode ser substituído por

x = sin(2*pi*[0:999]/100);

Page 76: Iniciação ao MatLab

Funções dos Arquivos M

disp(x) Mostra resultado sem identificar variável

echo controla a exibição dos comandos

input solicita ao usuário a entrada

keyboard transfere o controle para o teclado

pause(n) suspende execução por n segundos

pause suspende até que tecla seja pressionada

Page 77: Iniciação ao MatLab

Análise de Dadoscov(x) matriz de covariância

min(x) componente mínima

max(x) componente máxima

mean(x) média

rand(x) núm. aleatórios uniformemente distrib

var(x) variância

std(x) desvio padrão

sum(x) soma dos elementos da coluna

Page 78: Iniciação ao MatLab

Funções criadas pelos usuários

Page 79: Iniciação ao MatLab

Funções em Matlab

• Uma função em Matlab é um arquivo de texto.

• Arquivos de funções devem ter um nome igual ao nome da função.

• Um conjunto de funções e scripts pode ser agrupado em um único diretório. O conjunto é chamado de toolbox.

• Toolboxes extendem as capacidades do Matlab

Page 80: Iniciação ao MatLab

Funções criadas pelo usuário

• a partir da segunda vez a execução de uma função é mais rápida que da primeira

• as linhas de comentário que antecedem a primeira linha sem comentário aparecem quando se pede ajuda

Page 81: Iniciação ao MatLab

Arquivos M de funções

• variáveis criadas dentro de uma função permanecem apenas no espaço de trabalho da função

• funções podem compartilhar variáveis com outras funções desde que sejam declaradas como globais

• arquivos M de funções podem conter mais de uma função, a função primária e as sub-funções

Page 82: Iniciação ao MatLab

Funções em Matlabfunction [d] = distPontos(p1,p2)%% Calcula a distancia entre dois pontos % p1 = [x1 y1] e p2 = [x2 y2] % em um espaco bi-dimensional% Entradas:% p1, p2: dois pontos% Saída:% d: distancia entre p1 e p2% Uso:% d = distPontos(p1, p2)% Autor:% Adriano Cruz% Data:% 2010/03/02d = sqrt((p1(1) - p2(2))^2 + (p1(2) - p2(2))^2);

Page 83: Iniciação ao MatLab

Funções em Matlab

p1 = [ 1 1 ];

p2 = [ 0 0 ];

d = distPontos(p1, p2)

Page 84: Iniciação ao MatLab

Arquivos

Page 85: Iniciação ao MatLab

Arquivos Formatados

• Parecido com C• Lembrar que matlab anda no sentido

da coluna.• Ao ler dados para uma matriz irá

preencher no sentido da coluna• Ao escrever dados de uma matriz irá

ler no sentido da coluna

Page 86: Iniciação ao MatLab

Arquivos Formatados

(1,1) = (1) (1,2) = (5) (1,3) = (9) (1,4)=(13)

(2,1) = (2) (2,2) = (6) (2,3)=(10) (2,4)=(14)

(3,1) = (3) (3,2) = (7) (3,3)=(11) (3,4)=(15)

(4,1) = (4) (4,2) = (8) (4,3)=(12) (4,4)=(16

Page 87: Iniciação ao MatLab

Arquivos Formatados

• Considere o arquivo

1 12 43 94 165 25

Page 88: Iniciação ao MatLab

Arquivos Formatados

• Será armazenado em um vetor como

1 1 2 4 3 9 4 16 5 25

Page 89: Iniciação ao MatLab

Arquivos Formatados

• Novamente Considere o arquivo 1 12 43 94 165 25

Page 90: Iniciação ao MatLab

Arquivos Formatados Leitura

fid=fopen('dadosin.txt', 'r');a = fscanf(fid, '%d');fclose(fid);a=reshape(a,2,size(a,1)/2)';

Page 91: Iniciação ao MatLab

Arquivos Formatados Escrita

x = -3:1:3;y = x.^2;fid = fopen('dados.txt', 'w');temp = [ x; y ]fprintf(fid,'%f %f\n', temp);fclose(fid);

Page 92: Iniciação ao MatLab

Arquivos Formatados Escrita

-3.000000 9.000000-2.000000 4.000000-1.000000 1.0000000.000000 0.0000001.000000 1.0000002.000000 4.0000003.000000 9.000000

Page 93: Iniciação ao MatLab

Extras

Page 94: Iniciação ao MatLab

Temporização

• tic: começa a contar o tempo.

• toc: termina de contar o tempo.

Page 95: Iniciação ao MatLab

Temporização

• tic: começa a contar o tempo.

• toc: termina de contar o tempo.

Page 96: Iniciação ao MatLab

Matrizes Celulares

• são matrizes cujos elementos são células

• qualquer célula da matriz pode conter qualquer tipo de dado (matrizes numéricas, texto, matrizes celulares, etc.)

Page 97: Iniciação ao MatLab

Matrizes Celulares

>> A(1,1) = { [1 2 3; 4 5 6; 7 8 9] };

>> A(1,2) = { 2 + 3i };

>> A(2,1) = { ‘um texto’ }

>> A(2,2) = {12 : -2 : 0};

>>A =

[3x3 double] [2.0000+ 3.0000i]

'um texto' [1x7 double]

Page 98: Iniciação ao MatLab

Matrizes Celulares

>> A{1,1} = [1 2 3; 4 5 6; 7 8 9];

>> A{1,2} = 2 + 3i;

>> A{2,1} = ‘um texto’

>> A{2,2} = 12 : -2 : 0;

>>A =

[3x3 double] [2.0000+ 3.0000i]

'um texto' [1x7 double]

Page 99: Iniciação ao MatLab

Matrizes Celulares

>> cellplot(A);

Page 100: Iniciação ao MatLab

Estruturas• são objetos que contêm “recipientes de

dados” com nomes diferentes• esses recipientes são chamados de campos• os campos podem conter qualquer tipo de

dado• ao se referir aos campos de uma estrutura

usa-se seus nomes em vez de usar índices• estruturas podem conter outras estruturas

Page 101: Iniciação ao MatLab

Estruturas

>> cliente.nome = ‘João da Silva’;

>> cliente.custo = 86.50;

>> cliente.teste.A1C = [6.3 6.8 7.1 7.0 6.7];

>> cliente.teste.CHC = [2.8 3.4 3.6 4.1 3.5];

Page 102: Iniciação ao MatLab

Ajuda On-Line

• help

• helpwin

• helpdesk

• lookfor

• demo

• arquivos de ajuda

Page 103: Iniciação ao MatLab

Para Saber Mais

• Hanselman, Duane; Littlefield, Bruce; Matlab 5 Guia do Usuário (versão do estudante), Makron Books, 1997.

• Matsumoto, Élia Yathie; Matlab 6 - Fundamentos de Programação, Editora Érica, 2001.

Page 104: Iniciação ao MatLab

Demonstrações

matrices/graphs and matrices

matrices/matrix manipulation

visualization/vibration movie

visualization/visualizing sound

gallery/knot

gallery/slosh

gallery/logo

games/sliding puzzle

Page 105: Iniciação ao MatLab

Temporização

• tic: começa a contar o tempo.

• toc: termina de contar o tempo.