Iniciação ao MatLab Eugênio Silva [email protected].
Transcript of Iniciação ao MatLab Eugênio Silva [email protected].
![Page 2: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/2.jpg)
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 3: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/3.jpg)
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 4: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/4.jpg)
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 5: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/5.jpg)
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 6: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/6.jpg)
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 7: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/7.jpg)
Scripts em Matlab• Um script em Matlab é um arquivo texto que contém
uma seqüência de de um mais comandos. • 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 8: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/8.jpg)
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 9: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/9.jpg)
Scripts em Matlab
![Page 10: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/10.jpg)
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 11: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/11.jpg)
Funções em Matlabfunction [membership] = triangle(x,tri_def);%TRIANGLE Triangular Membership Function% [membership] = triangle(x,[a b c])%% Returns the membership to a universe of discourse defined% by [a,b,c]. Note: a,b,c must be in the universe of
discourse.%% x : universe of discourse% a : left point of the triangular membership function % b : center of the triangular membership function% c : right point of the triangular membership function% y : membership function%% Wes Hines% The University of Tennessee% Copyright 1997
![Page 12: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/12.jpg)
Funções em Matlaba = tri_def(1); b = tri_def(2); c = tri_def(3);membership=zeros(size(x));A=find(x==a); B=find(x==b); C=find(x==c);if isempty(A&B&C);
error('a,b, and c must be defined in the universe of discourse: x.')
endfor i=A:B
membership(i)=(i-A)/(B-A+eps);endfor i=B:C
membership(i)=(C-i)/(C-B+eps);endif B==C
membership(B)=1;end
![Page 13: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/13.jpg)
Funções em Matlab% Matlab mantem um workspace, assim apaga tudo do workspaceclear all;temperatura = -30:1:60; eixos = [-30 60 0 1.5];MuitoFrio = trapzoid (temperatura, [-30 -30 5 15]);Frio = triangle (temperatura, [5 15 25]);Normal = triangle (temperatura, [15 25 35]);Quente = triangle (temperatura, [25 35 45]);MuitoQuente = trapzoid (temperatura, [35 45 60 60]);
plot (temperatura, MuitoFrio, temperatura, Frio, temperatura, Normal, temperatura, Quente, temperatura, MuitoQuente);
axis (eixos);legend('MuitoFrio','Frio', 'Normal','Quente','MuitoQuente');title('Graficos de Frio.');xlabel('Temperaturas');ylabel('Frio');
![Page 14: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/14.jpg)
Scripts em Matlab
-30 -20 -10 0 10 20 30 40 50 600
0.5
1
1.5Graficos de Frio.
Temperaturas
Frio
MuitoFrioFrioNormalQuenteMuitoQuente
![Page 15: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/15.jpg)
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 16: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/16.jpg)
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 17: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/17.jpg)
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 18: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/18.jpg)
Variáveis Pré-Definidas>> ans variável padrão usada para resultados
>> pi
>> i ou j
>> realmax maior número real positivo utilizável
>> realmin menor número real positivo utilizável
>> nargin número de argumentos de entrada
>> nargout número de argumentos de saída
>> inf infinito
1
![Page 19: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/19.jpg)
Funções Elementares
abs(x) módulo gcd(x,y) MDC
sin(x) seno lcm(x,y) MMC
asin(x) arco seno log(x) logaritmo natural
cos(x) co-seno log10(x) logaritmo na base 10
tan(x) tangente max(x) valor máximo
exp(x) exponencial min(x) valor mínimo
inv(x) matriz inversa de x sqrt(x) raiz quadrada
![Page 20: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/20.jpg)
Espaço de Trabalho
>> who lista variáveis existentes na memória
>> whos lista variáveis com informações detalhadas
>> clear apaga as variáveis da memória
>> save salva as variáveis em um arquivo .mat
>> load carrega as variáveis contidas em um .mat
>> format formato de apresentação dos resultados
![Page 21: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/21.jpg)
Comandos do Sistema Operacional>> 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 22: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/22.jpg)
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 23: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/23.jpg)
Vetores
>> x(3) >> y([8 2 9 1])
>> x(1:5) >> z = [x(1:5) 2 5 7]
>> x(7:end) >> t = [x y]
>> y(3:-1:1) >> t = [x; y]
>> x(2:2:7) >> z = z’
![Page 24: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/24.jpg)
Matrizes
>> A = [1 2 3; 4 5 6; 7 8 9] >> B = A(3:-1:1, : )
>> A(3,3) = 9 >> C = [A B( : , [1 3])]
>> A(2,2:3) = 5 6 >> B(:,2) = [ ]
>> A(3,:) = 7 8 9 >> B = A( : , [2 2 2 2])
![Page 25: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/25.jpg)
Matrizes
>>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 26: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/26.jpg)
Matrizes
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
matriz(10) ou matriz(2,3)
![Page 27: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/27.jpg)
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 28: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/28.jpg)
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 29: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/29.jpg)
Operações com Vetores e Matrizesa = [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 30: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/30.jpg)
Operações com Vetores e Matrizesa = [a1 a2 ... an] , b = [b1 b2 ... bn] , c = <um escalar>
divisão de vetores (direita) a . / b = [a1 / b1 ... an / bn]
divisão de vetores (esquerda) a . \ b = [a1 \ b1 ... an \ bn]
potenciação vetorial
c .^ a = [c ^ a1 ... c ^ an]
a .^ c = [a1 ^ c ... an ^ c]
a .^ b = [a1 ^ b1 ... an ^ bn]
![Page 31: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/31.jpg)
Operadores Relacionais e Lógicos
< menor que
<= menor ou igual
> maior que
>= maior ou igual
= igual
~= diferente
& e
| ou
~ não
![Page 32: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/32.jpg)
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 33: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/33.jpg)
Estrutura Condicional – if
>> if expressão_1
comandos_1;
elseif expressão_2
comandos_2;
else
comandos_3;
end
![Page 34: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/34.jpg)
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 35: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/35.jpg)
Laços de Repetição – for / while
>> for x = vetor
comandos;
end
>> while expressão
comandos;
end
![Page 36: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/36.jpg)
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 37: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/37.jpg)
Arquivos M de comandos
• úteis quando o número de comandos é grande, ou caso seja necessário alterar os valores das variáveis e re-executar alguns comandos
• armazenam uma seqüência de comandos em um arquivo texto que é executado a partir do prompt
![Page 38: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/38.jpg)
Funções dos Arquivos M
disp(x) mostra o resultado sem identificar a variável
echo controla a exibição dos comandos
input solicita ao usuário que forneça a entrada
keyboard transfere o controle para o teclado
pause(n) suspende a execução por n segundos
pause suspende até que uma tecla seja pressionada
![Page 39: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/39.jpg)
Arquivos M de funções
• o nome da função deve ser idêntico ao nome do arquivo
• 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 40: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/40.jpg)
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 41: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/41.jpg)
Análise de Dados
cov(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 distribuídos
var(x) variância
std(x) desvio padrão
sum(x) soma dos elementos de cada coluna
![Page 42: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/42.jpg)
Gráficos Bidimensionais
>> x = linspace(0, 2 pi, 30);
>> y = sin(x);
>> z = cos(x);
>> plot(x,y,x,z)
![Page 43: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/43.jpg)
Gráficos Bidimensionais
>> 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 44: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/44.jpg)
Gráficos Bidimensionais
>> x = -2.9 : 0.2 : 2.9;
>> y = randn(5000,1);
>> hist(y,x)
![Page 45: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/45.jpg)
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 46: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/46.jpg)
Gráficos Tridimensionais
>> mesh(peaks)
![Page 47: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/47.jpg)
Gráficos Tridimensionais
>> surf(peaks)
![Page 48: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/48.jpg)
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 49: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/49.jpg)
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 50: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/50.jpg)
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 51: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/51.jpg)
Matrizes Celulares
>> cellplot(A);
![Page 52: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/52.jpg)
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 53: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/53.jpg)
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 54: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/54.jpg)
Ajuda On-Line
• help
• helpwin
• helpdesk
• lookfor
• demo
• arquivos de ajuda
![Page 55: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/55.jpg)
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 56: Iniciação ao MatLab Eugênio Silva eugenio@posgrad.nce.ufrj.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc174497959413d8eefff/html5/thumbnails/56.jpg)
Demonstrações
matrices/graphs and matrices
matrices/matrix manipulation
visualization/vibration movie
visualization/visualizing sound
gallery/knot
gallery/slosh
gallery/logo
games/sliding puzzle