Você está na página 1de 27

Mini Curso

Introdução ao MATLAB

Aline Villela Chaia


Maria Ribeiro Daibert

GET – Engenharia de Produção - UFJF


Sumário:

Introdução ..........................................................................................................................3

Objetivos.............................................................................................................................3

Histórico..............................................................................................................................3

Layout .................................................................................................................................4

Help ....................................................................................................................................9

Dados ................................................................................................................................ 10

Funções ............................................................................................................................. 17

Gráficos ............................................................................................................................. 20

Programação ..................................................................................................................... 24
Introdução
O MATLAB, abreviação para MATrix LABoratory, é um software com linguagem simples
e direta, que realiza cálculos de engenharia, e por isso possui uma ampla biblioteca de funções
matemáticas pré-definidas. Essas funções permitem que problemas de programação sejam
resolvidos de maneira muito mais simples do que com outras linguagens computacionais.

Objetivos
Esta apostila tem como objetivo introduzir o MATLAB como ferramenta de
programação computacional, usando como base o cálculo de matrizes. Além disso, apresenta
algumas de suas aplicações nesta área e exemplos para melhor fixação do conteúdo.

Histórico
A linguagem foi desenvolvida na década de 70 por Clever Moler, então presidente do
departamento de Ciências da Computação da Universidade do Novo México. Pela simplicidade
e facilidade de uso, foi aderida por muitas universidades e logo se destacou na comunidade
matemática.
Em 1984, em parceria com Steve Bangert e o engenheiro Jack Little, a MathWorks
(detentora dos direitos autorais) foi fundada e o MATLAB foi reescrito na linguagem C.
Por ser um ambiente integrado de modelagem de sistemas e algoritmos, ideal para
implementação de projetos complexos, a ferramenta se tornou um produto líder na área de
computação numérica e científica.
Layout
Pode-se dizer que o MATLAB possui cinco janelas principais. Duas nas quais o usuário
trabalha: Command Window e Editor. E três que mostram dados importantes: Command
History Window, Workspace e Figure. A seguir, uma descrição detalhada de cada janela.

Command Window

É a janela dos cálculos e da programação. Nesta janela, são inseridos os dados,


que são interpretados pelo programa, e então os resultados são retornados. Caso o
usuário queira, esta janela também mostra o desenvolvimento dos cálculos realizados,
mostrando os valores de cada variável, após terem sido executadas as ações
referentes a elas.
Editor

É a janela onde são criados códigos que podem ser salvos como arquivos do
MATLAB. É a janela mais utilizada, uma vez que nela podem ser digitados códigos
completos para só depois serem rodados na Command Window. Além disso, com o
modo Debug, que será explicado mais adiante, pode-se rodar o código linha por linha,
para ver todos os passos realizados pelo programa.
Command History Window

Esta janela mostra todos os comandos inseridos na Command Window


recentemente, classificados por ordem cronológica. Ao apertar a seta pra cima do
teclado na Command Window, visualizamos os comandos armazenados na Command
History Window.
Workspace

O workspace mostra todas as variáveis utilizadas recentemente e seus


respectivos tipos e valores. Com ele, é possível verificar se alguma variável teve seu
valor modificado quando o código foi rodado, e assim encontrar eventuais erros na
programação.
Figure Window

A Figure Window é a janela que exibe gráficos. Estes podem ser criados em
duas ou três dimensões. Mais adiante, será explicado como plotar gráficos em duas
dimensões.
Help
O comando help consiste em uma ferramenta de ajuda sobre todas as funções,
comandos e operadores existentes no MATLAB. Para acessar, basta digitar na Command
Window:

>>help função/comando/operador

A partir do comando dado, aparecem informações sobre o termo pesquisado.


Primeiramente, é fornecida uma definição. Em seguida, são dados exemplos de uso e todas as
possibilidades de aplicação, bem como informações sobre tópicos relacionados à pesquisa.
A seguir, tem-se um exemplo do comando ‘help close’.
Dados
A linguagem
guagem do MATLAB, chamada M-código
M código é simples e objetiva, o que torna a
declaração de dados muito prática. A unidade fundamental é uma matriz (array), a qual se
trata da organização de elementos distribuídos
di em linhas e colunas.
Um escalar é uma matriz de dimensões 1x1 e um vetor é uma matriz de uma única
dimensão (linha ou coluna). Os índices dos elementos são sempre iniciados com 1.

Existem inúmeras funções pré-definidas


pré definidas armazenadas no software, prontas para serem
usadas. Também existe a possibilidade do usuário criar sua própria biblioteca de funções.
Neste item, serão abordados os seguintes temas:: salvar um arquivo, executar um
arquivo, criação de dados, operações entre matrizes e elemento a elemento.
elemento

Salvando um arquivo

É possível salvar um código em um arquivo de texto com extensão ‘.m’,


utilizando o Editor.. Para isso, basta clicar na barra de menu em File>>New>M-File. Veja
o exemplo abaixo:

Feito isso, o arquivo será salvo na pasta de destino desejada e as alterações


feitas também poderão ser salvas.
Executar um arquivo

Existem duas maneiras de executar um arquivo salvo, a primeira delas é


selecionando o que se deseja executar e em seguida clicar em F9 ou na barra de menu
em Text>Evaluate Selection.
A segunda opção é pelo nome que foi dado ao arquivo: basta digitá-lo na
janela de comando e em seguida apertar Enter, e o arquivo será executado.

Criando Dados

Declarar uma variável no MATLAB é muito simples, basta digitar o nome


desejado e o valor a ser atribuído a essa variável. Caso se deseja que a variável ainda
não tenha um valor atribuído, basta declará-la como vazio.

>>x=[];

Não é necessário declarar o tipo de variável, o próprio programa a identifica.


Ao declarar uma matriz utiliza-se espaço para separar elementos de uma
mesma linha e ponto e vírgula (;) para colunas.

>>nome_da_variável=[dados];

Exemplo:

>> a=10;

>> c=[1 2 3];

No exemplo acima, ao final da linha de código há o ponto e vírgula (;). Tal


mecanismo é utilizado caso não seja necessário exibir seu processamento na linha
abaixo. A seguir, um exemplo em que o desenvolvimento é mostrado:

>> m=[ 1 5 10; 2 10 30]

m=

1 5 10

2 10 30

Para acessar um elemento de uma matriz, basta digitar o nome da variável


seguido dos índices da linha e coluna desejada. Pode-se também acessar todos os
elementos de determinada linha ou coluna, como nos exemplos a seguir:

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

matriz1 =

2 3 6 7

8 6 4 0

5 1 3 9
>> matriz1(1,4)

ans =

>> matriz1(3,:)

ans =

5 1 3 9

O último elemento de uma linha ou coluna pode ser acessado por um


comando especial:

>> matriz1(end,2)

ans =

>> matriz1(end,end)

ans =

>> matriz1(3,end)

ans =

No primeiro caso, o elemento acessado foi o último da segunda coluna. No


segundo foi o último da última linha. E no terceiro, foi o último da terceira linha.
Para acessar x elementos de uma matriz, utilizam-se dois pontos (:) para
indicar entre que intervalo deve-se exibir os elementos. Caso seja necessário exibir
todos os elementos de uma linha ou coluna, utilizam-se apenas os dois pontos (:).
Exemplo:

>> matriz1(1,2:4)

ans =

3 6 7

>> matriz1(:,3)

ans =
6

Há outras formas de inicialização de matrizes, duas delas são apresentadas


abaixo:

>>nome_da_variável
nome_da_variável = primeiro:incremento:último

>>nome_da_variavel=linspace
nome_da_variavel=linspace (primeiro,último,número de elementos)

Exemplos:

>> a=1:2:10

a=

1 3 5 7 9

>> b=linspace(2,10,5)

b=

2 4 6 8 10

Operações com escalares

Todas as operações entre escalares são feitas de forma simples. São realizadas
da esquerda para a direita, obedecendo à ordem: potenciação, divisão/multiplicação,
divisão/m
adição/subtração.

Operações com matrizes

• Entre matrizes: Para realizar operações básicas entre matrizes é necessário


estar atento para algumas regras:

 Soma e Subtração: matrizes de mesma dimensão;


 Multiplicação: número de colunas da primeira igual ao número de
linhas da segunda;
 Divisão: matrizes com mesmo número de linhas;
 Potência: matrizes quadradas.
Exemplos:

>> a=[1 2 3];

>> b=[ 2 4 6];

>> c=a/b

c=

0.5000

>> c*a

ans =

0.5000 1.0000 1.5000

>> a= [1 2; 3 4]

a=

1 2

3 4

>> a^2

ans =

7 10

15 22

Existem alguns comandos especiais para operações com matrizes. Veja a tabela
abaixo:

• Elemento a elemento:
elemento As operações são feitas elemento a elemento de
matrizes quadradas. Para isto, basta colocar o sinal de ponto (.) antes do sinal
da operação
ração desejada. Exemplo:
E
>>a =

1 2

3 4

>> b=[ 5 67; 100 3]

b=

5 67

100 3

>> a.*b

ans =

5 134

300 12

• Operadores relacionais: Os operadores relacionais são utilizados quando se


necessita conhecer algum tipo de relação entre elementos seja de uma matriz,
vetor ou escalar. Os dados são retornados em forma de matriz, com 0 para
falso e 1 para verdadeiro.

Exemplo:

>> d= [12 56 78]

d=

12 56 78

>> e=[ 2 90 22]

e=

2 90 22

>> d>e

ans =

1 0 1

• Concatenação de matrizes: A concatenação de matrizes consiste em unir


partes de diferentes matrizes em uma nova matriz. Pode-se agrupar
horizontalmente (mesmo número de linhas), verticalmente (mesmo número
de colunas) ou somente alguns elementos.

>> A

A=

1 2 3

>> B

B=

3 4 5

>> C=[A B]

1 2 3 3 4 5

>> C=[A;B]

C=

1 2 3
3 4 5

>> D=[B(1,1);A(1,2)]

D=
3
2
Funções
Como já foi mencionado anteriormente, existem inúmeras funções pré-definidas
pré no
MATLAB. Nesta seção serão apresentadas algumas delas e suas principais aplicações, além de
como devem ser manipuladas.

Funções de inicialização de matrizes

O software apresenta funções que possibilitam inicializar matrizes com zeros,


um’s, identidade, entre outras. Essas funções estão reunidas na tabela abaixo.

A manipulação dessas funções é simples, basta digitá-las


digitá las e adicionar as
dimensões da matriz.

Funções Matemáticas

As funções matemáticas são de grande importância e permitem ao usuário


agilizar e simplificar seus cálculos. Em primeiro lugar, deve-se
deve se destacar
destac que as funções
devem ser declaradas como char, ou seja, deve-se se colocar o valor da função entre
apóstrofos.

Exemplo:

>> f='2*x^2'

f=

2*x^2
A seguir estão algumas tabelas contendo as principais funções de aproximação,
exponenciais, trigonométricas e complexas.

Funções de Aproximação

Funções Exponenciais

Funções Trigonométricas

Funções Complexas
As funções derivada (diff) e integral (int) merecem atenção especial por sua
grande aplicação na matemática. Como já foi dito, é necessário declarar a função sobre
a qual se deseja calcular a operação como char. Veja os exemplos abaixo:

>> f=‘x^2+3’
f=
x^2+3

>> derivada=diff(f)
derivada =
2*x

>> f = '3*x^2 - 15*x + 18' % Cria a função como char

f=

3*x^2 - 15*x + 18

>> integral = int(f) % faz a integral da função

integral =

x^3-15/2*x^2+18*x

Funções Aleatórias

As funções aleatórias são aquelas capazes de gerar uma determinada


quantidade de números aleatoriamente. É possível limitar o intervalo em que são
gerados e também o tipo de número gerado. Tais funções estão descritas abaixo com
sua nomenclatura:

• rand(i,j) : gera matriz de i linhas, j colunas, com elementos que variam de 0 a 1


• randint(i,j,[mínimo máximo]) : gera matriz de i linhas, j colunas, com
elementos inteiros que variam de mínimo a máximo

Para uma melhor compreensão, veja os exemplos que seguem:

>> matriz=rand(2,2)

matriz =

0.8147 0.1270

0.9058 0.9134

>> matriz2=randint(1,3,[0 10])

matriz2 =

5 8 1
Gráficos

Os gráficos no MATLAB podem ser criados em duas ou três dimensões, utilizando-se de


vários comandos diferentes. Eles utilizam pontos discretos para o desenho. Ou seja, par de
pontos únicos pelos quais a linha do gráfico irá passar. Portanto, quanto mais pontos
fornecidos ao programa, melhor será a visualização da curva desejada. A seguir, o passo a
passo pra a criação de gráficos em duas dimensões e algumas funções que podem ser
utilizadas, a partir do comando plot.

Como plotar o gráfico


Primeiramente, deve-se criar dois vetores que armazenem, respectivamente,
os valores das variáveis “X” e “Y” que serão os eixos do gráfico. Então, o comando a ser
dado é:

>> plot(x,y,’Opções de Estilo’)

O campo Opções de Estilo diz respeito à cor da linha, do tipo de tracejado e da


marcação dos pontos dos vetores. Ao digitar, “help plot”, pode-se visualizar todas as
opções de estilo existentes no programa e seus respectivos comandos.
Pode-se também omitir uma das variáveis e/ou a opção de estilo, como no
caso abaixo.

>>plot(y)

Nesta situação, ele plota o gráfico na forma padrão, que é utilizando um vetor
contendo 1, 2, 3, 4... para a variável que está faltando, e a cor do gráfico é preto, com a
linha contínua e sem marcação dos pontos.
Plotando uma função
Uma outra maneira para se plotar um gráfico no MATLAB é usando o comando
“fplot”. Ele plota diretamente uma função dada. Seu formato é:

>> fplot(‘função’,[intervalo de valores], opções de estilo);

Exemplo:
>> fplot('cos(x)',[0,pi],'green')

Mais de um gráfico na mesma janela


Em programas que existem mais de um comando de plotagem de gráficos, a
cada Figure Window aberta, ela substitui a Figure Window anterior. Caso o objetivo
seja visualizar os gráficos simultaneamente, ou simplesmente não perder o gráfico
feito anteriormente, existe alguns recursos na biblioteca do MATLAB. São eles: Figure,
Hold on / Hold off e Subplot.

• Figure: esse comando abre uma nova Figure Window, onde o próximo gráfico
plotado será mostrado.

>>figure

• Hold on / Hold off : o comando hold on fixa a última Figure Window gerada, e
todos os plots a partir dele até o comando hold off são gerados na mesma
janela. Ou seja, ele possibilita que várias curvas sejam mostradas num mesmo
gráfico.

>>hold on

>>plot(x,y)

>>plot(w,z)
>>hold off

No exemplo acima, os gráficos com eixos x e y, e o com eixos w e z, são


gerados na mesma janela.

• Subplot: o comando subplot permite que vários gráficos sejam mostrados


separadamente numa mesma Figure Window. Com ele, aparecerão duas ou
mais curvas, cada qual com seus eixos e escalas, lado a lado horizontalmente
e/ou verticalmente, numa mesma janela.

>>plot(x,y)
>>subplot(a,b,p)
>>plot(w,z)

No caso acima, o comando subplot divide a Figure Window em a por b gráficos


e plota a próxima curva no p-ésimo gráfico.
Comandos auxiliares
Existem alguns comandos para serem utilizados em Figure Windows que
ajudam a melhorar a aparência dos gráficos e auxiliam na identificação dos dados.
Dentre eles, pode-se destacar: title, xlabel, ylabel e text.

• Title: O comando title insere um título à última Figure Window aberta.

>>title(‘titulo desejado’)

• Xlabel: O comando xlabel permite que o eixo das abscissas do gráfico seja
identificado.

>>xlabel(‘identificação abscissas’)

• Ylabel: O comando ylabel permite que o eixo das ordenadas do gráfico seja
identidifcado.

>>ylabel(‘identificação ordenadas’)

• Text: O comando text insere um texto digitado pelo usuário numa


determinada posição.

>>text(x,y,’texto desejado’)

Um exemplo utilizando esses recursos é:


>> x=[ 4 8 12 16];
>> y=[ 1 2 3 4];
>> plot(x,y,'green')
>> xlabel('x');
>> ylabel('y');
>> text(8,2,'(8,2)')
Programação
Para implementar códigos completos e criar programas que sejam funcionais, é
necessária a utilização de alguns recursos que o MATLAB fornece. São os operadores lógicos,
os comandos de limpeza, a indentação, os processos iterativos, a criação de funções
personalizadas, o tempo de simulação e o modo Debug. A seguir, cada um dos recursos
mencionados serão explicados.

Operadores Lógicos

São os operadores de comparação. Eles podem ser usados para relacionar


duas ou mais variáveis, ou então para realizar testes. A tabela abaixo exibe todos os
operadores usados no MATLAB.

Operador Significado

< Menor que

<= Menor ou igual a

> Maior que

>= Maior ou igual a

== Igual a

~= Não igual

& Operador e

| Operador ou

~ Operador não

Comandos de Limpeza
Ao programar, para facilitar o entendimento do código quando rodado na
Command Window, existem os recursos de limpeza da tela e das variáveis. São eles:
clc, clear all e close all.

• Clc: Ao digitar o comando clc na Command Window, ele limpa todos os dados
inseridos anteriormente, porém sem apagá-los da memória.

>>clc

• Clear all: O comando clear all limpa todos os valores das variáveis que foram
armazenados anteriormente.

>>clear all

• Close all: O comando close all fecha todas as Figure Windows abertas.

>>close all
Indentação

O recurso da indentação permite que o código digitado no Editor seja


organizado, de acordo com os espaçamentos das margens de cada linha, a fim de
torná-lo mais claro para o usuário. Ele tem como base a hierarquização dos comandos
utilizados. Para indentar um código, basta selecioná-lo, clicar com o botão direito do
mouse e escolher a opção Smart Indent.

Processos Iterativos

Os processos iterativos são aqueles que limitam o código em partes, e


necessitam de condições iniciais ou finais para que aquele trecho seja executado. Eles
são divididos em quatro: If/If-else, While, For e Switch-case.

• If / If-else: O comando” If”, ou “Se”, executa o trecho do código abaixo dele


apenas se a condição inicial for satisfeita. Seu formato no MATLAB é:

if(condição1)
expressões1;
elseif(condição2)
expressões2;
else
expressõesn;
end

• While: O comando “While”, ou, “Enquanto”, é executado enquanto alguma


condição inicial é satisfeita. Ou seja, para que ele não se torne um loop infinito,
em algum ponto durante o loop, a variável que define a condição deve ser
modificada para que a condição não seja mais satisfeita. Essa mudança na
variável de condição é denominada flag. O formato do comando while no
MATLAB é:

while(condição)
expressões;
end

• For: O comando “For”, ou, “Para/Faça”, também é caracterizado como um


loop. Porém ele determina previamente os valores iniciais e finais da variável
de condição. Ou seja, é pré-definida a quantidade de vezes em que o trecho do
comando for será executado. Seu formato no MATLAB é:

for variável_de_iteração=valor_inicial : valor_final

expressões;

end
• Switch-Case: O comando “Switch-Case”, ou, “Escolha”, permite que se tenha
diferentes casos para uma determinada variável. Dependendo do valor que
esta variável possui, será executada uma das opções do switch-case. Seu
formato no MATLAB é:

switch variável

case a

expressões;

case b

expressões;

case c

expressões;

otherwise

expressões;

end

Criação de Funções

O MATLAB possui uma biblioteca extensa de funções, porém o usuário


também pode criar suas próprias funções. Geralmente, esse recurso é utilizado
quando uma parte do código é repetida várias vezes. Por isso, criar uma função com
determinado trecho deste código, o torna menor e mais fácil de ser visualizado.
Cada função criada deve possuir sua própria janela do Editor. E esse arquivo
deve sempre ser salvo na mesma pasta que contém o código todo. O formato que esta
função deve ser criada é:

function saída = nome_da_função(entrada)

expressões;

O “nome_da_função” deve ser sempre escrito em letras minúsculas e sem


espaços. Além disso, ao salvar o arquivo do Editor, este deve possuir o mesmo nome
da função criada, uma vez que ao chamar esta função durante o código, ele ira buscar
na pasta pelo arquivo que possui aquele nome. Os dados de entrada da função são os
parâmetros que serão passados do código para a função e que serão utilizados por ela.
Caso exista mais de um dado de entrada, eles devem ser separados por vírgulas,
dentro dos parênteses. E o dado de saída é o valor que a função retorna e que será
armazenado pela variável que chamou a função.

Pode-se também criar uma função que não retorna nenhum valor. Ela apenas
executa o trecho de código correspondente. Seu formato deve ser:

function nome_da_função(entrada)

expressões;
Tempo de Simulação

Um recurso bastante útil do MATLAB é o chamado “Tic Toc”. Ele calcula e


mostra ao programador o tempo em que determinado trecho demorou para ser
executado. Como é de interesse do programador deixar o programa cada vez mais
rápido, o “Tic Toc” permite essa análise. Seu formato é:

tic

trecho do código desejado

toc

O resultado deste comando é mostrado na Command Window.

Modo Debug

O modo Debug, que pode ser utilizado no Editor, permite que o programador
acompanhe a execução de determinado trecho do seu código, linha por linha. Desta
forma, pode-se visualizar exatamente todos os passos que o programa segue,
facilitando a correção de erros eventuais. Além disso, ao posicionar a seta do mouse
sobre cada variável durante o modo Debug, pode-se ver seu valor e
consequentemente, suas mudanças ao longo da execução.

Para rodar um programa no modo Debug, deve-se seguir alguns passos:

• Clicar no traço ao lado do número referente à linha a partir da qual se deseja


acompanhar. Aparecerá uma bolinha vermelha.
• Clicar em “Debug” na barra de menus, e então em “Run”. Aparecerá uma
setinha verde na linha em que o programa está parado.
• Apertar F10 para que o programa prossiga para a próxima linha. Repetir até
quando desejar.
• Clicar em “Debug” e em “Exit Debug Mode” para sair do modo Debug.

Você também pode gostar