Introdução ao MATLAB (Aula 1)
Curso de Especialização em Teleinformática e
Redes de Computadores
Departamento Acadêmico de Eletrônica
Universidade Tecnológica Federal do Paraná
Command Window → área de trabalho na qual as instruções são
digitadas e os resultados exibidos.
; (ponto-e-vírgula) no final
da linha de comando é usado
para suprimir a saída.
Ambiente MatLab – 1os passos
Workspace
área na qual
são exibidas as
variáveis
utilizadas na
área de
trabalho do
MATLAB.
Ambiente MatLab – 1os passos
MATLAB é uma linguagem de alto nível desenvolvida para
trabalhos numéricos.
Integra ferramentas de:
Computação,
Visualização e
Programação
em um ambiente de desenvolvimento simples onde os
problemas e soluções são expressos em uma notação
matemática familiar
Matrizes
MATLAB – Matrix Laboratory – foi desenvolvido para trabalhos
com matrizes, portanto em MATLAB tudo é tratado como
matriz.
No MATLAB matriz é um conjunto de números dispostos na
forma retangular. Exceções são:
escalar: matriz de 1 x 1
vetores: matriz de uma linha ou uma coluna.
Sugestão: A melhor forma de aprender MATLAB é aprender a
lidar com matrizes.
Gerando matrizes
Existem várias formas de entrar com os elementos de uma
matriz no MATLAB:
A partir de uma lista de elementos;
A partir de dados de um arquivo externo;
Gerar matrizes a partir de funções “built-in”;
Criar matrizes a partir de funções próprias em M-files;
Assim como no Help do MATLAB
iniciemos analisando a matriz
presente na obra do artista
alemão Albrecht Dürer, chamada
de Melancholia I.
Entrando com os valores de uma matriz:
No obra existe a matriz:
Inserindo matriz
sum( )
Calculando a soma das linhas e colunas da matriz de Dürer:
>> sum(A)
Quando não especificada uma
variável de saída, MATLAB utiliza
a variável ans de answer.
Transposta A’
Soma das linhas da matriz
de Dürer:
-
Calcula-se a matriz
transposta;
-
Calcula-se a soma das
colunas.
Comando diag( )
diag ( ) retorna a diagonal principal
da matriz.
Cálculo da soma da diagonal
principal: utiliza-se dois comandos
Flip left: fliplr( )
Soma da diagonal secundária de
uma matriz:
Utiliza-se o comand
fliplr
(flip left
Rotacionando matrizes
Avaliar as funções
fliplr, flipup, tril, triu
flipud
Elementos da matriz
Os elementos da matriz são acessados pela notação
A( i , j ) i=linha e j=coluna, sempre i e j > 0.
O cálculo da soma da 4a-coluna seria expressa por:
A(1,4) + A(2,4) + A(3,4) + A(4,4)
A(k)
Pode-se referir aos elementos de uma
matriz com um único indice:
A(k)
nesse caso a matriz é tratada como um
vetor coluna formado pelas colunas da
matriz.
Erro no acesso aos elementos da matriz:
Caso tente-se acessar uma posição
fora da matriz, o MATLAB retorna
uma mensagem de erro:
Aumento das dimensões de uma matriz:
Atribuindo-se valor a uma posição fora
da matriz, as dimensões são
aumentadas para acomodar o novo
elemento:
Operador : (colon) – vetores seqüênciais
Sintaxe:
[ Vinic : Inc : Vfinal ]
Vinic = valor inicial
Inc = Incremento
Vfinal = valor final
Operador : (colon) – vetores seqüênciais
Algumas omissões são permitidas:
- [ ]
- se o parâmetro incremento for omitido, o MATLAB assume
incremento 1, por exemplo:
Operador : (colon) – vetores seqüênciais
Seqüência inválida:
Caso a seqüência solicitada esteja incorreta, o MATLAB
retorna uma matriz “vazia”:
A função linspace(Vinic , Vfinal , N)
linspace cria um vetor de Vinic a Vfinal com N elementos
A função linspace(Vinic , Vfinal , N)
Se o número de elementos for omitido, o MATLAB assume
100
elementos
:
Acessando linhas e colunas matrizes:
A(1:k,j) seleciona os k-ésimos primeiros
elementos a da j-ésima coluna.
end
Soma os elementos das
linhas de 1 a 4 da última
coluna.
Para uma matriz
4x4 essas notações
são equivalentes
Resumo dos comandos vistos até agora:
A=[1 2 3 ; 4 5 6 ; 7 8 9];
sum(A)
% soma das colunas
A’
% calcula a matriz transposta
sum(A’)
% soma das linhas
sum(A’)’
% soma das linhas na forma de um vetor coluna
diag()
% retorna a diagonal principal da matriz
fliplr()
% flip left-right
flipup()
% flip up-down
tril()
%retorna o lower-triangle da matriz
triu()
%retorna o upper-triangle da matriz
v1=[Vini:inc:Vfina];
%cria um vetor seqüêncial
linespace(Vinic,Vfinal,N);
Reshape(matrix,linhas,colunas);
O comando magic()
Magic é uma built-in function do
MATLAB utilizada para criar
matrizes quadradas com valores
inteiros entre 1 e N
2com iguais
somas das linhas, colunas e
diagonais (exceto para N=2).
Original:
Swapping lines & columns A( : , [1 3 2 4]):
Para cada linha da matriz A, re-ordene os elementos na ordem 1,
3, 2, 4.
Variáveis
-
Deve iniciar com caracteres alfanumérico
-
É case-sensitive
-
Aceita o caractere ‘_’ no meio do nome
-
Embora não exista limitação para o tamanho do nome da
variável, o MATLAB utiliza apenas os 31 primeiros
caracteres;
Comandos de consulta e manipulação do Workspace
who
Lista o nome das variáveis no Workspace
whos
Lista o nome e o tipo das variáveis no Workspace
clear
Elimina todas as variáveis do Workspace
clear var1 var2
Operadores Aritméticos
Para cada operação arimética
existem dois tipos de
procedimentos:
Operações aritméticas de
matrizes, e