Matlab – Parte 1
Prof. Ilton
Aula 6
Tópicos desta Apresentação
1.
2.
3.
4.
5.
6.
7.
8.
9.

O que é o Matlab?
Janelas do Matlab
Variáveis e Matrizes
Operadores no Matlab (Aritméticos, 
Lógicos e Relacionais)
Comandos de Entrada e Saída
Estruturas de Controle de Fluxo
Programação (Arquivos .m)
Funções
Toolboxes
2/24
O que é o Matlab?
• O MATLAB (do inglês Matrix Laboratory) é um software de computação numérica
de análise e visualização de dados. Embora seu nome signifique Laboratório de
Matrizes, seus propósitos atualmente são bem mais amplos.
• O Matlab nasceu como um programa para operações matemáticas sobre
matrizes, mas ao longo dos anos transformou‐se em um sistema computacional
bastante útil e flexível.
• Seu ambiente de trabalho é fácil de ser utilizado, pois os problemas e soluções
são escritos em linguagem matemática e não na linguagem de programação
tradicional, como muitos outros softwares utilizam.
• Assim o MATLAB é uma ferramenta e uma linguagem de programação de alto
nível, e tem como principais funções: construção de gráficos e compilação de
funções, manipulação de funções específicas de cálculo e variáveis simbólicas.
• Além disso, o MATLAB possui uma grande quantidade de bibliotecas auxiliares
(“Toolboxes”) que otimizam o tempo gasto para realizar tarefas, uma vez que, o
usuário poderá utilizar muitas funções já definidas, poupando o tempo de criá‐
las. Por outro lado, infelizmente, os programas feitos são difíceis de serem
executados num ambiente fora do MATLAB.
3/24
O que é o Matlab?
• MATLAB é uma linguagem de alto nível que possui toolboxes especializadas para
facilitar a vida do programador.

Matlab

Linguagem de alto nível 
como C, Java, Phynton, etc

Assembly

A ferramenta traz também muitas
facilidades para elaboração de
gráficos e interfaces para usuário:
Telas gráficas de programação
(botões, menus, radio button, etc;
4/24
Tela de Entrada do Matlab

1 ‐ Janela de Comandos
2 – Janela das Variáveis na Memória
3 – Histórico dos Comandos

4 ‐ Pasta de Trabalho
5 – Muda a Pasta de Trabalho

Nota: Ao iniciar no Matlab,  ajuste a sua pasta de trabalho, em 5

5/24
Janelas no Matlab

As janelas do Matlab são flexíveis, podendo fechar, abrir, mudar o tamanho, mudar o
layout, abrir nova janela, etc; Para restaurar a janela padrão use o procedimento acima.
6/24
Janelas no Matlab

Para iniciar a edição de um programa em Matlab vá em File / New / Script
Ou opcionalmente tecle: CTRL + N.
7/24
Comandos de Propósito  geral e de Memória
Comando

Descrição

help

Ajuda em tempo real (on‐line). O texto é apresentado na tela da linha de comando. Ex: >>
help disp

helpwin

Ajuda em tempo real (on‐line). O texto é apresentado em uma janela de navegação separada.
Ex: helpwin

ver

informa as versões do MATLAB, SIMULINK e toolboxes.

whatsnew

Descreve a contibuição nesta nova versão do matlab

bench

Realiza teste de desempenho no seu computador

who

lista as variáveis atuais na memória

whos

lista as variáveis atuais, suas dimensões e memória que cada uma ocupa.

clear

limpa toda a memória da área de trabalho; clear arg exclui a função ou variável arg da
memória da área de trabalho.

Pack

desfragmenta a memória da área de trabalho.

Save / Load

salva e recupera as variáveis da memória da área de trabalho em arquivo. Ex: save
c:MATLABarq x y

quit

encerra a sessão de trabalho do MATLAB.

What

lista os nomes de arquivos de funções e comandos de um grupo específico do MATLAB

dos

Executa comandos do DOS.

8/24
Comandos de Propósito  geral e de Memória
Comando

Descrição

edit

edita arquivo do MATLAB. Ex: >> edit arq

lookfor

busca a palavra‐chave em todos os arquivos contidos no caminho do MATLAB.
Ex: lookfor palavra

type

lista o conteúdo de um arquivo de comandos do MATLAB. Ex: type arq

path

verifica ou define o caminho de diretórios. Exemplo: path; path= ’c:usuarioMATLAB’;

addpath

adiciona diretórios ao caminho

rmpath

remove o diretório descrito na string nome ao caminho atual.

echo

habilita ou inibe a apresentação dos resultados de comando de um arquivo MATLAB na
linha de comando. Ex: echo on; echo off

more

habilita ou inibe a paginação do texto na tela de comandos. Ex: more on; more off

diary

salva todo o texto da sessão de trabalho em arquivo. 

format

determina o formato no qual os dados serão expressos na janela de comando.

cd

altera o diretório de trabalho atual. Ex: cd c:MATLABusuario

pwd

exibe o diretório de trabalho atual.

dir

lista os arquivos do diretório atual.
9/24
Variáveis no Matlab
int a;
double b;
float c;

Não é necessário declarar as variáveis

Todas as variáveis   ão criadas com precisão dupla a
s
menos que especificado, e todas variáveis são matrizes;
>> x= int32(555)
>> y = [3.  67  8]
>> z = 40
>> size(y)
>> size(x)

Após estas declarações, as variáveis   ão matrizes com
s
precisão dupla (double).
>> whos
10/24
Tipos de dados no Matlab
Digite os seguintes comandos no Matlab:
>> m = 'Maria'
>> y = [3.  67  8]
>> a = int64(56) 
>> b = int32(a)
>> c = int8(y)
>> class(a)
>> class(b)
>> m = [b, 77]
>> whos
>> length(a)
>> help whos
>> x1 = [1 ‐5 6]
>>x3 = [2 ; ‐3]
>> roots(x1)
>> poly(x3)

>> aluno.nome = 'Jose‘
>> aluno.idade = 20
>>  aluno.nota = 76
>> whos
>> disp(aluno)
>> disp(aluno.nome)
>> fprintf('n Nome do aluno: %sn', aluno.nome)
>> size(aluno)
>> size(aluno.nome)
>> aluno.nota = [aluno.nota 99]
>> aluno.nome = [aluno.nome ' da Silva']

11/24
Tipos de dados no Matlab

>> whos => diz o tipo e tamanho de todas as variáveis na memória
12/24
Matrizes no Matlab
• Exemplos:
>> x = [1 2 5 1]
>> x(0)
>> x(1)
>> x(2)
>> y = [1 2 3; 5 1 4; 3 2 -1]
>> m = y’ % transposta
>> t =1:10
>> k =2:-0.5:-1
>> B = [1:4; 5:8]
>> x1 = zeros(1,3)
>> x2 = ones(1,3)
>> x3 = rand(2,3)
>> x4 = 100*rand(4,2)
>> x4(3)
>> x4(3,:)
>> x4(:,1)

Em Matlab, o índice das
matrizes começa em 1, ao
contrário
das
demais
ferramentas de programação
que começa em 0.
>> m4 = [] % matriz vazia
>> m4 = [m4 'Maria']
>> m4 = (1)
>> m4(10)
>> syms x a b f
>> f = a*x^2 + b*x
>> g = x3 + 2x2 + 3x + 4
>> diff (f, x) % derivada
>> p = [-1 3 2 -5] %polinômio
>> polyval(p, 1)
13/24
Arquivos .MAT e .m
As matrizes também podem ser definidas através de informação
armazenada em arquivos. O MATLAB adota o formato com
extensão padrão MAT.
1.

Os arquivos MAT são gerados no MATLAB usando o comando save, que
contém o nome do arquivo e as matrizes ou variáveis que devem ser salvas.
A extensão .mat é automaticamente adicionada ao nome do arquivo. Para
recuperar estas variáveis é usado o comando load.
Ex: save arq1 / whos / clear all / whos / load arq1 / whos

2.

Todo programa ou script escrito em Matlab deve possuir a extensão .m. Ao
salvar um arquivo de programa, a ferramenta automaticamente adiciona
esta extensão. No caso de funções, o nome do arquivo também deve ter o
mesmo nome da função.
14/24
Operador Dois Pontos ( : )
O uso do operador dois pontos (:) é útil na criação de matrizes ou vetores.
Suponha que queiramos armazenar a primeira coluna da matriz data1 em um
vetor x, e a segunda coluna em um vetor y. Dependendo do argumento, pode
significar todas as linhas ou todas as colunas da matriz‐referência.
>> data1 = [0.0,0.0; 0.1 0.2; 0.3 0.6];
>> x = data1 ( : , 1);
>> y = data1 ( : , 2 );
>> z = data1(2,:)
>> H = 1 : 8;
A matriz H contém os valores 1, 2, 3, 4, 5, 6, 7 e 8. O operador “ : ” entre os dois
números inteiros gera todos os inteiros entre os dois números especificados. Se
for usado para separar três números, os dois pontos gerarão valores entre o
primeiro e terceiro números, usando o segundo número como incremento. A
notação abaixo gera um vetor linha denominado TEMPO que contém os
números de 0.0 a 5.0 com incrementos de 0.5
>> TEMPO = 0.0 : 0.5 : 5.0
15/24
Operadores em Matlab
Aritméticos / Relacionais / Lógicos :
Help / Matlab / Functions / Programming and data Types
Help / Matlab / Functions / Mathematics / Arrays / Operators / Arithmetic

&&   AND
||    OR
~    NOT
XOR
Operadores
Binários
Aritméticos
Básicos

< 
<= 
> 
>= 
== 
~= 
&
|
~

menor que;
menor ou igual a;
maior que;
maior ou igual a;
igual a;
diferente de;
e
ou
não
Relacionais (IF)
16/24
Funções Matemáticas Elementares
abs (x) 

Calcula o valor absoluto de x.

sqrt(x) 

Calcula a raiz quadrada de x.

round(x) 

Arredonda o valor de x para o inteiro mais próximo.

fix(x) 

Arredonda o valor de x para o inteiro mais próximo de zero.

floor(x) 

Arredonda o valor de x para o inteiro mais próximo de ‐ ∞

ceil(x) 

Arredonda o valor de x para o inteiro mais próximo de  + ∞ 

sign(x) 

Se x é menor que zero, a função retorna ao valor – 1; se x for igual a zero, retorna
ao valor zero; caso contrário, a função retorna ao valor 1.

rem(x,y) 

Retorna o resto da divisão x/y. Por exemplo, rem (25,4) é 1, e rem (100,21) é 16.

exp(x) 

Esta função retorna ao valor de ex, onde e é a base para logaritmo natural ou
aproximadamente 2.718282

log(x) 

Retorna a ln x, o logaritmo natural de x para a base e.

log10(x) 

Retorna a log10x, ou seja, o logaritmo de x na base 10.

sin(x) / cos(x)

seno e cosseno (x em radianos)
17/24
Constantes matemáticas
Constante

Descrição

i

Unidade imaginária

inf

Infinito

intmax

Maior valor para inteiro

intmin

Smallest value of specified integer type

j

Unidade imaginária

nan

Não é um número

pi

Razão entre a circunferência do círculo a seu diâmetro

realmax

Maior número positive de ponto flutuante

realmin

Menor número positive de ponto flutuante

eps

Precisão relativa de ponto flutuante
Ex: >> eps

18/24
MANIPULAÇÃO DE MATRIZES
Constante

Descrição

zeros

zeros(n) cria uma matriz quadrada composta de zeros; zeros(n,m) cria uma matriz n x m
composta de zeros; zeros(size(a)) cria um matriz com as mesmas dimensões da matriz a,
composta de zeros.
Exemplo: zeros(4); zeros(2,3);
ones(n) cria uma matriz quadrada composta de elementos iguais a 1; zeros(n,m) cria 
uma matriz n por m composta de elementos iguais a 1; zeros(size(a)) cria um matriz com 
as mesmas dimensões da matriz a, composta
de elementos iguais a 1.
Exemplo: ones(4); ones(2,3); ones(size(a)).
cria uma matriz identidade ou matriz com diagonal 1.
Ex: eye(n); eye(n,m); ones(size(a));
cria uma matriz com elementos gerados aleatoriamente.
Sintaxe: rand(n); rand(n,m); rand(size(a));
o mesmo de rand, porém neste caso a distribuição segue o padrão
normal, enquanto rand segue padrão uniforme.
extrai diagonais de matrizes e cria um vetor com estes elementos.
Ex: diag(m,k); diag(m);
cria um vetor com elementos linearmente espaçados.
Sintaxe: linspace(x1,x2);y = linspace(x1,x2,N); plot (y)
cria um vetor com elementos logaritmicamente espaçados.
Ex: logspace(x1,x2); logspace(x1,x2,N).
19/24

ones

eye
rand
randn
diag
linspace
logspace
Bibliografia
•
•
•
•
•

http://www.ime.usp.br/~pf/algoritmos/index.html
http://intranet.deei.fct.ualg.pt/IALP/SLIDES/4‐Introducao%20programacao.pdf
http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Frtref%2Fsc41560764.htm
http://algs4.cs.princeton.edu/home/
http://webx.ubi.pt/~felippe/texts3/autom_ind_cap1.pdf

•

http://professor.ucg.br/SiteDocente/admin/arquivosUpload/14485/material/Apostila%20MATLAB%20(Baleeiro).pdf

•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#apresentacao
http://www.compileonline.com/compile_java_online.php
http://mit.universia.com.br/18/1806/pdf/matlab.pdf
http://www.math.ufl.edu/help/matlab‐tutorial/
http://ensino.univates.br/~chaet/Materiais/CURSOmatlab52.pdf
http://ifgjatai.webcindario.com/MatLab_para_Engenharia.pdf
http://www.dcc.unicamp.br/~rdahab/cursos/matlab/#material_didatico
http://pt.scribd.com/doc/49964222/FFerrari‐CCechinel‐Introducao‐a‐algoritmos
http://www.javaprogressivo.net/2013/03/Como‐programar‐em‐C‐Curso‐C‐Progressivo.html#more
http://people.rit.edu/pnveme/
http://people.rit.edu/pnveme/Matlab6/wk2/Wk2index.html
http://amath.colorado.edu/computing/Matlab/
http://people.rit.edu/~pnveme/Matlab6/index.html
http://amath.colorado.edu/computing/Matlab/OldTechDocs/ref/
http://w3.ufsm.br/petmatematica/arquivos/Apostila_MATLAB.pdf
20/24

Aula6 programação