Você está na página 1de 71

Fernando Esquírio Torres

Fernando Esquírio Torres


• Um computador é uma ferramenta essencial
na resolução de problemas de Engenharia.
• O MATLAB é um "software" interativo de alta
performance voltado para o cálculo numérico.
• O software MATLAB foi originalmente
desenvolvido para um uso específico e daí a
origem do seu nome “MATrix LABoratory”.

Fernando Esquírio Torres 2


• Atualmente as suas capacidades vão muito
além das originalmente pensadas: é um
sistema interativo e permite todas as
capacidades de uma linguagem de
programação.
• Como propriedade fundamental o fato de que
o MATLAB faz uso de matrizes como
estrutura de dados básica.

Fernando Esquírio Torres 3


• O MATLAB integra análise numérica, cálculo
com matrizes, processamento de sinais e
construção de gráficos em ambiente fácil de
usar onde problemas e soluções são expressos
somente como eles são escritos
matematicamente, ao contrário da
programação tradicional.

Fernando Esquírio Torres 4


• A versão atual do MATLAB é a R2010a.
• Mas versão anteriores poderão ser usadas
nesta aula, tais como:
– 6.5, 2006, 2008 e 2009.
• Esta aula foi montada usando o Matlab versão
7.8.0 (R2009a).
• Site oficial: http://www.mathworks.com/

Fernando Esquírio Torres 5


• Ao iniciarmos o MATLAB
Barra
 aparecerá a janela:
Barra
Barra
de Ferramentas
de
deMenus
Título
Diretório corrente
Padrão
Janelado
Janela Histórico
Workspace deCorrente
Diretório Comandos
É o diretório atual aberto no MATLAB.
Nesta
EstaJanela
Nesta
janela, estão listados todos osoarquivos
(Janela superior esquerda)espaço
Janela
normalmente,
estão listados
dividi
todos os
que podem
comandos ser abertos
comjáoexecutados pelo MATLAB
diretório corrente.
pelo MATLAB. .
Serve para visualizar a Variáveis já criadas
(inicializadas) no MATLAB.

Fernando Esquírio Torres 6


• Ao iniciarmos o MATLAB  aparecerá a janela:
Command Window

Nesta Janela é que serão digitados os


camandos do MATLAB.
Depois de inicializar uma sessão em Matlab é
visualizado o sinal de prompt (>>)
que significa que o Matlab está pronto a
receber um comando do utilizador.

Fernando Esquírio Torres 7


• O Matlab trabalha fundamentalmente com
um tipo de dados: matrizes de números reais
ou complexos.
• Casos especiais de matrizes são escalares
(matriz 1x1) e vetores (matriz linha 1xn ou
matriz coluna nx1).

Fernando Esquírio Torres 8


• Quando se pretende resolver um problema de
engenharia é importante ter em conta a
forma como vão ser visualizados os dados
relativos ao problema em questão.
• No MATLAB, quaisquer que sejam os dados,
é sempre possível representá-los usando a
notação matricial. Uma matriz não é senão
um conjunto de números ordenados em
linhas ou colunas.

Fernando Esquírio Torres 9


• Queremos inicializar as matrizes:

Digite esse comando no prompt (>>) da


• A forma mais simples de definir uma matriz é
Janela Command Window.
usar uma lista de números entre COLCHETES.
Pressione ENTER.
Assim a matriz A pode ser definida como:

Fernando Esquírio Torres 10


• Na tela aparecerá:

Fernando Esquírio Torres 11


• Vamos entender esse comando:

O nome de uma matriz deverá começar por uma letra e


conter até um máximo de 19 caracteres.
Podem ser utilizadas vírgulas ou espaços em branco para
separar colunas e para separar linhas devem ser
utilizados pontos e vírgulas ou mudanças de linha.

Fernando Esquírio Torres 12


• Outra alternativa que produz o mesmo efeito:

Uso de vírgulas para separar colunas e para separar linhas


mudanças de linha (SHIFT + ENTER).
Com um desses dois comandos, nós criamos uma matriz
associada a variável (letra) A.
Fernando Esquírio Torres 13
• Agora que você aprendeu a inicializar
matrizes, crie a matriz B:

Fernando Esquírio Torres 14


• É também possível definir uma matriz como o
resultado de alguma operação.
• Por exemplo se desejar conhecer o dobro da
matriz A, então pode-se definir uma nova
matriz C.

Fernando Esquírio Torres 15


• Em aula

Fernando Esquírio Torres 16


• Outra forma de definir matrizes é a partir de
informação previamente armazenada em
arquivos de dados.
• É possível lidar com dois tipos de arquivos em
MATLAB:
– MAT-files e ASCII.
• No primeiro caso os dados são armazenados segundo
um formato binário;
• no segundo caso os dados são constituídos por
caracteres ASCII.

Fernando Esquírio Torres 17


• Os arquivos MAT são gerados no Matlab a
partir do comando Save, que deve conter o
nome da matriz a guardar e o respectivo
nome do arquivo.
• Automaticamente o MATLAB atribui-lhe a
extensão .MAT.

Fernando Esquírio Torres 18


• Por exemplo o comando:

• permite armazenar num arquivo de nome


dados a matriz A. Variável (Matriz) armazenada
Comando save no arquivo .mat
Nome do
arquivo .mat
Fernando Esquírio Torres 19
• Assim é possível, mesmo numa sessão futura,
acessar novamente ao valor de A, tendo que
para isso executar o comando Load.

• Automaticamente o MATLAB permite usar a


matriz A. Nome do
arquivo .mat
Comando load
Fernando Esquírio Torres 20
• Se forem utilizados arquivos ASCII então os
valores a armazenar terão obrigatoriamente
de conter
Digite apenas informação
esse comando no prompt (>>) numérica
da
possívelJanela
de ser facilmente
Command gerada com um
Window.
qualquer editor ou Salva os dados
processador de em formato
texto.
Comando save Pressione ENTER. ASCII de 8 dígitos.
• Outra alternativa é gerar o arquivo pelo
 Nome do
MATLAB usando o comando:
arquivo .dat
– save e a opção /ascii.

Fernando Esquírio Torres 21


• O resultado da operação anterior seria a criação
de um arquivo de texto com a seguinte
informação:
Contudo neste caso o nome da matriz
que é definida Nomeseriadodados1 e não B,
arquivo .dat
portanto
Comando o nome do arquivo em questão
load
•e Tal
nãocomo
a variável
no casoque aí foi éarmazenada.
anterior possível aceder à
posteriormente a esta informação usando o
comando load.

Fernando Esquírio Torres 22


• Os valores de Comando
uma inputmatriz podem ser
Permite que o usuário defina o valor do dado.
introduzidos através do teclado diretamente
pelo utilizador usando o comando input. Por
exemplo a seguinte instrução:

Variável/Matriz
que armazenará o Mensagem escrita para o
valor introduzido usuário.
pelo usuário. Interação com o usuário.

Fernando Esquírio Torres 23


• Se o comando não for finalizado por (;) o valor
de número será mostrado na tela, caso
contrário o valor de numero é apenas
armazenado na variável e não é mostrado.

• Este uso do operador (;) no final de cada


instrução é válido para qualquer comando
MATLAB.

Fernando Esquírio Torres 24


• Uma vez que uma matriz é um conjunto de
valores organizados segundo linhas e colunas
deve ser possível acessar a um dos seus
elementos ou mesmo a um subconjunto dos
seus elementos.

Fernando Esquírio Torres 25


Número da
• Para acessar um elemento da matriz deve-se
Linha
indicar qual a linha e a coluna. Assim:

• permite aceder ao elemento localizado na


Nome/Símbolo
segunda linha eque Número
terceira coluna da da
matriz A,
representa
portanto a=6. aDe uma formaColuna
geral pode-se
Variável/Matriz
escrever:
Fernando Esquírio Torres 26
• Para acessar a um subconjunto de elementos é
usado o operador dois pontos (:).
• A seguir alguns exemplos que permitem
compreender o seu funcionamento:

• Significa que se pretendem os elementos da


matriz A, desde a primeira à segunda linha e
desde a segunda até à terceira coluna. O
resultado seria portanto:

Fernando Esquírio Torres 27


O resultado obtido são todos os elementos da matriz A
• De uma forma geral pode-se escrever:
definidos pelas linhas imin até imax e pelas colunas jmin até
Limite inferior e
jmax.
superior da Linha

Nome/Símbolo que Limite inferior e


representa a superior da Coluna
Variável/Matriz
Fernando Esquírio Torres 28
• É possível também acessar a todos os elementos
de uma linha/coluna mesmo que não se conheça
a sua dimensão.
• Por exemplo:

• define a matriz C como sendo


• ou seja definidos pela primeira linha e todas as
colunas.

Fernando Esquírio Torres 29


• Uma expressão equivalente à anterior seria:

• No exemplo seguinte define-se a matriz C


como sendo igual à A.

Fernando Esquírio Torres 30


Nome/Símbolo que
• Vamos entender os comandos:
representa a Variável/Matriz

Limites para
a coluna.

Nome/Símbolo que Limites para a


O armazenará
operador : (dois pontos) sem acompanhar
o resultado. números,
linha (Inferior e igual foi
usando no intervalo da coluna, indica que estamos selecionando
Superior).
todo o intervalo, ou seja, todas as colunas existentes na matriz.

Fernando Esquírio Torres 31


Nome/Símbolo que
representa a Variável/Matriz

Limites para
a coluna.

Nome/Símbolo que Seleção da


O resultado
armazenará é o mesmolinha.
o resultado. do comando
anterior.

Fernando Esquírio Torres 32


Nome/Símbolo que
representa a Variável/Matriz

Seleção de todas
as colunas.

Nome/Símbolo que Seleção de


O resultado é matriz C igual a matriz
armazenará
A. o resultado. todas as linhas.

Fernando Esquírio Torres 33


• O operador (:)
Valor inicial do
permite emvetor
MATLAB definir
um vetor da seguinte forma:

• O resultado é um vetor cujo primeiro valor é


igual a início e os restantes serão
Nome/Símbolo que
incrementados/decrementados
Incremento ou com um valor
armazenará o vetor.
igual a incremento até ao último valor
decremento Limite que
final
será igual a fim. do vetor.
Fernando Esquírio Torres 34
Valor inicial do vetor
• Por exemplo executar o seguinte comando:

• teria o mesmo resultado que: Limite final


Nome/Símbolo que Número do vetor.
armazenará o vetor. positivo indica
Incremento

Fernando Esquírio Torres 35


Comando para criar um vetorValor inicial do vetor
• Por exemplo executar o seguinte comando:

Número de
Nome/Símbolo que Limite final do termos que
armazenará o vetor. vetor. terá o vetor.

Fernando Esquírio Torres 36





Fernando Esquírio Torres 37
• Existem várias formas de visualizar o conteúdo
de uma matriz.
• A mais simples é digitar o nome da matriz e
automaticamente o seu valor será mostrado.
• Existem vários formatos pré-definidos em
MATLAB 
. Referem-se
Os dois primeiros quatro:
utilizam uma formatação corrente e
os dois últimos científica.

Fernando Esquírio Torres 38


• Para perceber as diferenças entre eles
apresenta-se o seguinte exemplo:
– admite-se que existe uma variável com o valor de
1/7.
– A sua representação em cada um dos formatos
referidos seria:

Fernando Esquírio Torres 39


• Suponhamos agora que se pretende fazer um
gráfico com os valoresConsideremos
da matriz. que foram
observados
• Por hora vamos apresentar apenasos umavalores da
breve
temperatura do ar num
introdução indicando determinado
o modo delocal visualizar
durante asum
24
gráfico (x,y) a partir horas
de dados armazenados
do dia, de duas em duas
em dois vetores. horas.

Fernando Esquírio Torres 40


• Assumindo que os valores foram guardados
em dois vetores:
Vetor de tempo

• então o comando,
Vetor de temperatura

Fernando Esquírio Torres 41


• O comando:

Fernando Esquírio Torres 42


• Entendendo o comando:
Vetor do eixo das abscissas (x).

Comando plot. Vetor do eixo das


Usado para “plotar” o gráfico. ordenadas (y).

Fernando Esquírio Torres 43


• As operações de adição, subtração,
multiplicação e divisão são consideradas as
operações fundamentais.
• Além destas mostra-se como podem ser
efetuadas outras operações tais como, raiz
quadrada, logaritmos, etc., aplicadas a
escalares, vetores e matrizes.

Fernando Esquírio Torres 44


• O MATLAB dispõe de um número de valores
pré-definidos:

Fernando Esquírio Torres 45


• Tal como no caso de escalares o MATLAB
dispõe de matrizes com valores especiais.

• Aquelas com mais interesse são mostradas em


seguida.

Fernando Esquírio Torres 46


• Permite gerarpara
Comando uma
criar matriz com
a matriz de todos os
zeros.
elementos
ATENÇÃO: onulos.
comando é com letras minúsculas.
• Seu argumento pode ser um escalar, por
exemplo:

• então a matriz
Nome/Símbolo que A gerada é da
Dimensão uma matriz
quadrada,
armazenará neste caso de
a matriz. 6 linhas
matriz e 6 colunas.
quadrada.
Fernando Esquírio Torres 47
• Podem, Comando
no caso para
maiscriar a matriz de
genérico, serzeros.
definidos
ATENÇÃO: o comando é com letras minúsculas.
dois parâmetros. Por exemplo:

• permite gerar uma Dimensões


matriz A de 2 linhas
(linha, coluna)
e 3
Nome/Símbolo que
colunas aem
armazenará que todos os elementos
matriz. da matriz. são nulos.

Fernando Esquírio Torres 48


• A função ones é idêntica à zeros, diferindo
apenas no fato de que a matriz gerada não é
constituída porpara
Comando valores nulos de
criar a matriz mas
uns.todos os
elementos
ATENÇÃO: osão iguais éa com
comando 1. letras minúsculas.
• Assim, por exemplo:

Dimensões (linha, coluna)


• permite gerar uma matriz (escalar)
da A=1.
matriz.
Nome/Símbolo que
armazenará a Torres
Fernando Esquírio matriz. 49
Comando
• Criar uma para
matriz decriar
unsacom
matriz de uns. 2x5:
dimensões
ATENÇÃO: o comando é com letras minúsculas.

Dimensões (linha, coluna)


Nome/Símbolo que da matriz.
armazenará a matriz.

Fernando Esquírio Torres 50


• EstaComando
funçãoparapermite criar
criar a matriz uma matriz
identidade.
ATENÇÃO: o comando é com letras minúsculas.
identidade.
• Uma matriz identidade é uma matriz
quadrada de valores nulos com excepção dos
elementos da diagonal que são unitários.
• Um exemplo:
Nome/Símbolo que
Dimensões da matriz quadrada.
Atenção: a matriz deve ser
armazenará a matriz.
quadrada.

Fernando Esquírio Torres 51


• O comando abaixo permite gerar a seguinte
matriz:

Fernando Esquírio Torres 52


• As operações elementares possíveis de
efetuar com escalares mostram-se na tabela
seguinte:
Operações no MATLAB
com escalares

Fernando Esquírio Torres 53


• Admitamos que dispomos de dois vetores:

• Deseja-se definir um terceiro vetor que seja o


resultado da multiplicação elemento a
elemento deste dois vetores. Uma forma seria
efetuar repetidamente:
Fernando Esquírio Torres 54
Elemento 1 do vetor A.
Elemento 2 do vetor A.
Valores armazenados
nos vetores.
Nomes/Símbolos que
armazenará vetor. Elemento 1
do vetor B.
Nome/Símbolo com a Elemento 2
posição que armazenará do vetor B.
o resultado da operação.
Fernando Esquírio Torres 55
• Evidentemente tal processo seria inviável para
vetores de maiores dimensões.
• Utilizando o MATLAB tal operação pode ser
facilmente efetuada usando o seguinte
comando:

• O ponto final (.) antes do sinal de


multiplicação (*) representa portanto uma
operação elemento a elemento.
Fernando Esquírio Torres 56
• Caso o ponto fosse omitido estaria a fazer
uma multiplicação normal entre duas
Operações
matrizes. no MATLAB 

com vetores
• Uma vez explicado o que se entende por
operação elemento a elemento mostra-se na
tabela seguinte as operações possíveis em
MATLAB.

Fernando Esquírio Torres 57


• Para melhor entender este tipo de operações
mostram-se alguns exemplos considerando os
vetores A e B definidos anteriormente.
C = A.*B = [2*2 5*3 6*5]

C = A./B = [2/2 5/3 6/5]

Fernando Esquírio Torres 58


C = A.\B = [2/2 3/5 5/6]

C = A.^2 = [2^2 5^2 6^2]

Fernando Esquírio Torres 59


C = 3.^A = [3^2 3^3 3^5]

Neste último caso note que se o comando fosse


3.^A seria gerada uma mensagem de erro!!
Fernando Esquírio Torres 60
C = A.^B = [2^2 5^3 6^5]

Fernando Esquírio Torres 61





Fernando Esquírio Torres 62
• Além das operações comuns adição,
subtração, multiplicação e divisão, é por vezes
necessário outro tipo de operações com os
dados.
• O MATLAB permite uma grande
Note que x variedade
pode ser umde
funções das quais se destacam:
escalar, vetor ou matriz.

Fernando Esquírio Torres 63


• Caso seja por exemplo uma matriz a operação
seno é aplicada a cada um dos elementos da
matriz.
• Além disso, para qualquer uma das funções
assume-se que o valor de x se encontra na
faixa permitida, caso contrário será gerado
um erro.

Fernando Esquírio Torres 64


• Vamos praticar! Digite os comandos:

Fernando Esquírio Torres 65


• Vamos praticar! Digite os comandos:

Fernando Esquírio Torres 66


• Vamos praticar! Digite os comandos:

Fernando Esquírio Torres 67


• Vamos praticar! Digite os comandos:

Fernando Esquírio Torres 68


• Vamos praticar! Digite os comandos:
Produzem resultados iguais!

Fernando Esquírio Torres 69





Fernando Esquírio Torres 70
• Página 12

Fernando Esquírio Torres 71

Você também pode gostar