Buscar

Matlab(r) para Iniciantes_ Desm - Mariana Antonia Aguira

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 193 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 193 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 193 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Matlab para 
Iniciantes 
 
Desmistificando o Matlab 
 
 
Edição Especial para 
 II Curso de Introdução ao Matlab e 
Aplicações em Neurociências da Sociedade 
Brasileira Neurociências e Comportamento 
SBNeC 
 
 
 
 
 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 2 ] 
Seu Cadastro É Muito Importante para Nós 
 
Se quiser receber notícias e eventos relacionados com o 
Matlab e com os autores deste livro, por favor, dirija-se ao 
link abaixo e preencha nosso cadastro, colocando o assunto 
Livro Matlab. 
 
http://www.marianrogers.com.br/matlab.html 
 
Gostaríamos muito de receber seus comentários, 
depoimentos e experiências com este livro! 
 
Com sua colaboração e conhecendo melhor suas preferências 
e interesses poderemos deixar transformar este livro e 
nossas outras obras para atende-lo cada vez melhor. 
 
Obrigado por escolher este livro como parte de sua 
experiência de leitura e aprendizado! 
 
 
Fale Conosco 
 
Se detectar algum problema com este livro, por favor, 
encaminhe-nos um e-mail para que possamos realizar os 
devidos esclarecimentos e correções. 
 
Sobre as dúvidas sobre pacotes de software e licenças 
sugerimos que sejam encaminhadas ao distribuidor e 
revendedor do Matlab que poderá prestar-lhe os devidos 
esclarecimentos. 
 
E-mail para contato: contato@marianrogers.com.br 
Twitter: @marian_rogers 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 3 ] 
Mariana Antonia Aguiar 
Rogerio Akira Furucho 
Alexandre Erdmann Silva 
 
 
Matlab para 
Iniciantes 
 
Desmistificando o Matlab 
 
 
 
Edição Especial para 
 II Curso de Introdução ao Matlab e 
Aplicações em Neurociências da Sociedade 
Brasileira Neurociências e Comportamento 
SBNeC 
 
 
 
2ª Edição 
 
São Paulo 
2012 - Agbook 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 4 ] 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ao meu marido e a minha família que sempre acreditaram 
em meus projetos e sonhos e nunca os questionaram, 
mesmo quando pareciam loucuras. 
Mariana Antonia Aguiar 
 
A minha esposa, meus pais, irmãos, sobrinhos, sogra, 
cunhados e Tigor que sempre acreditarem na minha 
infinidade de ideias, sonhos e projetos. 
Rogerio Akira Furucho 
 
A minha esposa, meus pais, irmãos que sempre me deram o 
apoio necessário e acreditaram nos sonhos e projetos. 
Alexandre Erdmann Silva 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 5 ] 
AGRADECIMENTOS 
 
 
Esta obra demandou muito esforço, tempo e a contribuição 
de muitas pessoas: professores, pesquisadores, consultores, 
empresários, estudantes e profissionais de várias áreas. 
Agradecimentos primeiros a Deus pelos dons recebidos como 
sabedoria, inteligência, ciência e fortaleza. 
Agradecimentos carinhosos a nossos familiares que puderam 
acompanhar a evolução das ideias e a construção da obra e 
contribuir com seu amor, incentivo, compreensão, apoio e 
paciência. 
Em especial a nossos pais Terezinha e Antonio (in 
memoriam), Izaura e Newton, Guerda e João Luiz, aos 
nossos irmãos, sobrinhos e afilhados. 
Agradecimentos a nossos professores, alunos e amigos das 
universidades USP, UNIFESP, UFABC, ESPM, FEI, SENAC e 
FMU/FISP pelos conselhos, inspirações, trocas de 
experiências e de conhecimentos. 
Agradecimentos à Sociedade Brasileira de Neurociência e 
Comportamento – SBNeC, em especial à Presidenta Profª 
Dra. Cecilia Hedin Pereira, ao Vice-Presidente Prof. Dr. John 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 6 ] 
Fontenele Araújo e aos seus representantes discentes M.Sc. 
Douglas Engelke e M.Sc. Renato Filev que organizaram 
conosco a 2ª edição deste treinamento em 2012. 
Agradecimentos também especiais ao Prof. Dr. Marcus 
Vinícius Baldo e à M.Sc. Renata Lima, respectivamente 
Presidente e Representante Discente 2008-2001 da SBNeC, 
que promoveram conosco o I Curso de Introdução ao Matlab 
e Aplicações em Neurociências em 2010. 
Agradecimentos especiais ao Prof. Dr. Javier Ropero Pelaez 
que prontamente aceitou e se dispôs a proferir o módulo de 
Redes Neurais Artificiais na edição do curso em 2010 e ao 
Prof. Dr. André Cravo que apresentou os tópicos sobre 
Eletroencefalograma – EEG e Psycho Toolbox nas duas 
edições do treinamento. 
Agradecimentos a todos os participantes das duas edições do 
curso, cuja troca de experiências e sugestões serviram para 
aprimorarmos o então esboço deste livro. 
Agradecimentos especiais ao Prof. Dr. Gilberto Fernando 
Xavier por suas orientações e pela disponibilização do 
Laboratório de Neurociência e Comportamento do Instituto 
de Biociências da USP para realização de nossas pesquisas 
em Neurociências. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 7 ] 
Agradecimentos aos consultores e profissionais do Centro de 
Inovação, Empreendedorismo e Tecnologia – CIETEC, onde 
está instalada a Marian Rogers Consultoria, Projetos e 
Treinamentos Ltda., que fazem da experiência da incubação 
uma grande lição de vida. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 8 ] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
"Onde quer que haja mulheres e homens, há sempre o que 
fazer, há sempre o que ensinar, há sempre o que aprender." 
 
Paulo Freire 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 9 ] 
PREFÁCIO À 2ª EDIÇÃO 
 
MATLAB1 é um software de alta performance voltado, 
principalmente, para o cálculo numérico, aspecto este que 
fez sua fama originalmente em cursos e disciplinas da área 
de ciências exatas. Sua propriedade é da empresa The 
Matworks Inc. que atualmente possui um único 
representante no Brasil. 
 
O software reúne análise numérica, cálculo com matrizes, 
processamento de sinais, construção de gráficos e interface 
com usuário em um ambiente amigável onde problemas e 
soluções são expressos como na matemática, ao contrário da 
programação tradicional que possui sua sintaxe com a 
variável sempre à esquerda. 
 
O MATLAB é um sistema cujo elemento básico de informação 
é uma matriz que, diferentemente de outras linguagens 
estruturadas, não requer dimensionamento, o que é muito 
útil nas diversas aplicações a que se destina. 
 
 
1 Matlab é uma marca registrada da empresa The MathWorks Inc., 3 
Apple Hill Drive, Natick, MA 01760-2098, US, Fone: 508-647-7001, 
www.mathworks.com 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 10 ] 
Essa característica permite a resolução de muitos problemas 
numéricos em um prazo menor quando comparado a um 
programa semelhante em outras linguagens, como Basic, C 
ou C++. 
 
Ao contrário do que muitos podem imaginar, o MATLAB não 
é uma ferramenta para uso exclusivo em aplicações de 
Matemática ou Engenharia. Pelo contrário, diversas 
aplicações em Medicina, Biologia, Genética, Neurociências, 
entre outras, encontram no MATLAB uma ferramenta 
poderosa e facilmente aplicável para auxílio à resolução de 
seus problemas. 
 
Assim, este livro além de possuir como objetivo a facilitação 
do aprendizado desta importante ferramenta de estudo, 
análise e resolução de problemas também possui a 
pretensão de desmistificar as aplicações e usabilidade do 
MATLAB para que preconceitos sejam vencidos. 
 
O MATLAB não é uma ferramenta para uso exclusivo de 
programadores e sim para todos aqueles que querem ou 
pretendem ter uma ferramenta computacional poderosa em 
suas mãos com extrema facilidade de uso. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 11 ] 
Você também pode integrar os programas originários do 
MATLAB com outras linguagem de programação e aplicações, 
além de poder compartilhar seus códigos com outras pessoas 
pois sua base é formada por arquivos tipo texto com 
extensão ".m". 
 
Bem vindo ao grupo de usuários do MATLAB! 
 
Esperamos que você aproveite este livro em seus estudos,pesquisas e análises. 
 
Os autores 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 12 ] 
SOBRE OS AUTORES 
 
Mariana Antonia Aguiar 
 
Graduada em Engenharia Elétrica com Habilitação em 
Informática Industrial pela Universidade Estadual Paulista 
"Júlio de Mesquita Filho" (1998) e mestre em Engenharia 
Elétrica, área de Engenharia de Sistemas, pela Escola 
Politécnica da Universidade de São Paulo (2001). Possui 
experiência como docente no ensino superior há mais de 
uma década, lecionando em instituições como UNESP 
Campus de Sorocaba, UniFEI em São Bernardo do Campo e 
FASP também em São Paulo. Desde 2001 leciona nas 
Faculdades Integradas de São Paulo (FISP/FMU) nos cursos 
de Engenharia e Tecnologia. É sócia-fundadora da empresa 
Marian Rogers Consultoria, Projetos e Treinamentos Ltda. 
atualmente integrante da maior incubadora de empresas da 
América Latina localizada na USP, o CIETEC – Centro de 
Inovação, Empreendedorismo e Tecnologia. Também é 
idealizadora e co-fundadora da Incubadora Universitária, 
destinada a treinamentos de capacitação e consultoria para 
projetos desenvolvidos pelos universitários. É colaboradora 
do Laboratório de Neurociência e Comportamento do 
Instituto de Biociências da USP, locais onde realiza seus 
estudos preliminares para o programa de doutorado em 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 13 ] 
parceria com a UFABC. Também pertence ao Núcleo de 
Ciências Cognitivas (NAPCC) da USP. Possui experiência de 
mais de uma década na área de Engenharia de Diagnóstico e 
Inteligência Artificial atuando em projetos conjuntos com o 
Prof. Dr. Zsolt L. Kóvacs, da EPUSP, além da experiência nas 
áreas de Controle e Automação, Automação Bancária, 
Tecnologia da Informação e Engenharia Elétrica. Possui 
publicações nacionais e internacionais sobre Inteligência 
Artificial e Redes Neurais Artificiais e sobre seus estudos 
relacionados às Ciências Cognitivas, principalmente nas 
áreas de Atenção e Memória. É também colaboradora da 
revista ES Magazine. 
http://lattes.cnpq.br/2055998711979194 
 
Rogerio Akira Furucho 
 
Idealizador e co-fundador da Incubadora Universitária atua 
também como Coach e Consultor de Novos Projetos. Sócio-
Fundador da Marian Rogers Consultoria onde atua como 
Consultor de Negócios e Instrutor. Professor do curso de 
pós-graduação Gestão de Negócios no SENAC-SP e dos 
cursos de Engenharia na FISP/FMU. Engenheiro Elétrico com 
habilitação em Acionamentos e Controle pela UNESP, MBA 
em Marketing de Serviços pela ESPM, mestrando pela 
UFABC/USP, com aperfeiçoamentos na Fundação Vanzolini e 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 14 ] 
na FGV-EAESP. Apresenta sólida experiência profissional nas 
áreas de gerenciamento de projetos, estratégia empresarial, 
administração de marketing, gestão da qualidade, 
empreendedorismo e desenvolvimento de novos produtos, 
serviços, software e negócios em empresas dos segmentos 
de TI, financeiro, energia, eletrometalúrgico, eletro-
eletrônico e de engenharia. Possui experiência acadêmica 
diferenciada como professor universitário nas áreas de 
Engenharia, Gestão e TI do SENAC, FISP, FMU, FIAM-FAAM, 
FASP e IPEP. Professor voluntário do projeto de inclusão 
digital da Paróquia São Vito Mártir. Autor do livro Matlab 
para Iniciantes – Desmistificando o Matlab. Palestrante nas 
áreas de Empreendedorismo e Plano de Negócios. Possui 
publicações nacionais e internacionais nas áreas de 
Engenharia Diagnóstica, Automação e Controle, 
Administração, Engenharia de Software e Segurança da 
Informação e escreve artigos para a revista Engenharia de 
Software Magazine. 
http://lattes.cnpq.br/6679308235302590 
 
Alexandre Erdmann Silva 
 
Graduado em Engenharia Elétrica com especialização em 
Automação e Controle pela Faculdades Integradas de São 
Paulo – FISP (2005) e pós-graduado em Automação 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 15 ] 
Industrial pelo SENAI (2008). Co-fundador da Incubadora 
Universitária, atua como Consultor e Coach de Novos 
Projetos incubados. Atualmente é professor das Faculdades 
Integradas de São Paulo - FISP e das Faculdades 
Metropolitanas Unidas. Possui sólida experiência acadêmica 
de 4 anos como professor universitário nas áreas de 
Tecnologia da Informação, Engenharia e dos cursos de 
Engenharia Elétrica, Engenharia Computação, Engenharia 
Mecatrônica, das Faculdades Integradas de São Paulo - FISP, 
Faculdades Metropolitanas Unidas - FMU, Possui importante 
experiência profissional de 9 anos em empresas dos 
segmentos de informática, e automação bancária, suporte 
técnico em manutenção e hardware de servidores IBM, HP e 
DELL. Tem interesse também em estudos nas áreas de 
Tecnologia da Informação e desenvolvimento de soluções 
automatizadas para pesquisas. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 16 ] 
SUMÁRIO 
AGRADECIMENTOS ...................................................... 5 
PREFÁCIO À 2ª EDIÇÃO ............................................... 9 
SOBRE OS AUTORES .................................................. 12 
INTRODUÇÃO AO MATLAB ......................................... 18 
CARREGANDO O MATLAB ........................................... 18 
EXECUTANDO COMANDOS ......................................... 21 
OBTENDO INFORMAÇÕES SOBRE O AMBIENTE .......................... 29 
FORMATOS NUMÉRICOS DE SAÍDA ....................................... 31 
ENTRADA E MANIPULAÇÃO DE DADOS ...................... 34 
MATRIZES ................................................................. 34 
ELEMENTOS DAS MATRIZES .............................................. 37 
FUNÇÕES DE CRIAÇÃO DE MATRIZES ................................... 43 
OPERAÇÕES COM MATRIZES ............................................. 46 
OPERAÇÕES COMPARATIVAS ............................................. 57 
MANIPULAÇÃO DE VETORES E MATRIZES .................. 59 
FUNÇÕES DE CONSULTA E MANIPULAÇÃO DE MATRIZES ............. 62 
FUNÇÕES PARA ANÁLISES DE DADOS ....................... 73 
COMO CONSTRUIR GRÁFICOS NO MATLAB ................ 79 
GRÁFICOS BIDIMENSIONAIS ............................................. 80 
ESCALA LOGARÍTMICA E COORDENADA POLAR ........................ 90 
PLOTANDO GRÁFICOS TRIDIMENSIONAIS E CONTORNOS............. 91 
FUNÇÕES MATEMÁTICAS COMUNS ...................................... 97 
COMPLEMENTAÇÃO SOBRE GRÁFICOS .................................. 98 
FUNÇÕES PARA PLOT DE IMAGENS ...................................... 99 
PROGRAMAÇÃO NO MATLAB .................................... 100 
COMANDOS DA LINGUAGEM ........................................... 100 
TIPOS DE VARIÁVEIS ................................................... 116 
ANÁLISE E SIMULAÇÃO DE DADOS .......................... 126 
FUNÇÕES E ARQUIVOS .M .............................................. 126 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 17 ] 
ESTRUTURA DAS FUNÇÕES ............................................. 126 
CARACTERÍSTICAS DAS FUNÇÕES ..................................... 127 
FUNÇÕES PRIMÁRIAS ................................................... 128 
SUBFUNÇÕES ............................................................ 128 
IMPORTAÇÃO E EXPORTAÇÃO DE DADOS ................ 132 
CRIANDO ARQUIVOS .M .......................................... 148 
EXECUTANDO ARQUIVOS .M ........................................... 151 
INTERFACE GRÁFICA DO USUÁRIO (GUI)................ 153 
INTERFACE VIA LINHA DE COMANDO .................................. 153 
CAIXA DE DIÁLOGO ..................................................... 154 
INTERFACE VIA FERRAMENTA GUIDE ................................. 156 
BLANK GUI .............................................................. 157 
MENU ..................................................................... 159 
BARRA DE FERRAMENTAS ...............................................160 
ALIGN OBJECTS ......................................................... 161 
MENU EDITOR ........................................................... 162 
TAB ORDER EDITOR .................................................... 166 
OBJETOS DE CONTROLE ................................................ 168 
INTEGRAÇÃO DOS OBJETOS DE CONTROLE ........................... 170 
PROGRAMANDO GUIS CRIADAS ....................................... 171 
PROPRIEDADES DEFAULT DAS FUNÇÕES DE CALLBACK ............. 175 
ADICIONANDO CÓDIGO PARA OS COMPONENTES NO CALLBACK. ... 177 
ÍNDICE REMISSIVO ................................................ 191 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 18 ] 
INTRODUÇÃO AO MATLAB 
 
Agora que você já sabe o que é o MATLAB vamos iniciar 
nossos estudos. 
 
CARREGANDO O MATLAB 
 
Localize o ícone do MATLAB em seu Gerenciador de 
Programas do Windows ou em seu Desktop. 
 
O ícone do programa assemelha-se ao apresentado a seguir: 
 
Figura 1: Ícone do MATLAB 
 
Um duplo clique no ícone carrega o aplicativo MATLAB. 
 
Quando o MATLAB é carregado, normalmente três janelas 
são exibidas: a Janela de Comando (Command Windows), a 
Janela de Diretórios (Current Directory) e a Janela de 
Histórico de Comandos (Command History) - Figura 2. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 19 ] 
 
Figura 2: Janelas padrão do MATLAB 
 
A Janela de Comando é ativada quando se inicia o MATLAB, e 
o prompt padrão (>>) é exibido na tela. 
 
A partir desse ponto, o MATLAB está pronto para receber as 
instruções do usuário. 
 
Todos os comandos utilizados pelo usuário serão listados na 
janela de Histórico de Comandos. Já os arquivos e diretórios 
que estão presentes no diretório corrente do MATLAB serão 
exibidos na janela de Diretório Corrente. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 20 ] 
Para você saber qual diretório está corrente no MATLAB ou 
para alterá-lo, localize na barra de ferramentas superior da 
janela de comandos a barra de diretório, como a seguir: 
 
 
Figura 3: Barra de diretório corrente do MATLAB 
 
Nesta barra você pode alterar o diretório corrente para o 
diretório de seu projeto, por exemplo. O MATLAB "procurará" 
os arquivos para execução neste diretório indicado, caso 
nada seja "dito" ao contrário. 
 
Bem, agora que você conhece as principais janelas do 
MATLAB, podemos avançar mais um passo. 
 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 21 ] 
EXECUTANDO COMANDOS 
 
Agora iremos aprender como o MATLAB executa instruções 
ou comandos. 
 
Primeiramente, clique dentro da Janela de Comandos. Você 
verá que uma barra vertical (chamada pipe) ficará piscando 
próxima ao prompt do MATLAB esperando sua digitação. 
 
Pense no MATLAB como uma grande calculadora 
que você precisa passar os comandos para 
execução. Essa janela de comandos seria a 
janela de sua calculadora. É nela que você 
digitará e visualizará seus comandos. 
 
Para entrar com uma pequena conta, digite a equação a 
seguir e aperte o "ENTER" (não digite o >> apenas o 
comando). 
>> A = 1 + 1 
 
Você terá como resposta: 
>> A = 1 + 1 
A = 
 2 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 22 ] 
Viu? É muito fácil executar comandos no MATLAB! 
 
Neste cálculo você utilizou uma variável chamada A que 
recebeu a resposta da soma de 1 + 1. 
 
Variáveis podem se atribuídas para facilitar o manuseio e a 
representação de sua equação ou comando. Elas podem ser 
escritas em variáveis maiúsculas e minúsculas formando, 
inclusive, palavras. 
 
Se não for utilizada uma variável para receber o resultado da 
expressão, o próprio MATLAB utiliza a variável padrão ans, 
que representa a palavra "answer" (resposta). Por exemplo: 
>> 1 + 1 
ans = 
 2 
 
 
O MATLAB é case sensitive, ou seja, ele faz 
diferença entre letras maiúsculas e minúsculas. 
Se você utilizar a mesma variável para duas 
equações, a resposta da primeira será perdida! 
Isto vale para a variável ans também! 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 23 ] 
Para entrar com outras operações além da adição, é só 
digitar: 
 
Multiplicação: 
>> A = 2 * 4 
 
Quando se pressiona a tecla "ENTER" o MATLAB responde 
com: 
>> A = 2 * 4 
A = 
 8 
 
Colocando-se os dados entre parênteses, o MATLAB obedece 
a ordem dos mesmos, igual a uma calculadora. 
>> A = 1 + 2 * 4 
A = 
 9 
 
Observe que o resultado é diferente se você não colocar os 
parênteses na soma. O MATLAB obedece a precedência de 
operadores matemáticos, mas por garantia é sempre bom 
você colocar os parênteses em expressões mais complexas. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 24 ] 
>> A = (1 + 2) * 4 
A = 
 12 
 
Para a divisão você deve utilizar a barra "/" e para a 
subtração o sinal de menos "−" 
>> B = (4/2) − 1 
B = 
 1 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 25 ] 
Tabela 1: Outros operadores matemáticos úteis 
Operação Operador 
MATLAB 
Exemplos 
Exponencial exp ( ) >> exp(2) 
ans = 
7.389056098930650e+000 
Logaritmo 
Natural 
log ( ) >> log(10) 
ans = 
2.302585092994046e+000 
Logaritmo 
Base 10 
log10 ( ) >> log10(10) 
ans = 
 1 
Potência 
Base 2 
pow2 ( ) 
 
>> pow2(3) 
ans = 
 8 
Potência (a 
elevado à b) 
a ^ b >> a = 3 ^ 3 
a = 
 27 
Raiz 
quadrada 
sqrt ( ) >> sqrt(64) 
ans = 
 8 
Número PI 
() 
pi >> pi 
ans= 
3.141592653589793e+000 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 26 ] 
pi é um número constante no MATLAB e você 
pode utilizá-lo diretamente em uma operação. 
Por exemplo: pi * 2 
 
Para consultar a ajuda de qualquer comando, você pode 
digitar no MATLAB a palavra help seguida do comando 
desejado finalizando com um "ENTER". Com isso, o MATLAB 
exibirá toda a explicação sobre o comando desejado. 
Exemplo: 
 
>> help sqrt 
 SQRT Square root. 
 SQRT(X) is the square root of the elements of X. 
Complex 
 results are produced if X is not positive. 
 
 See also sqrtm, realsqrt, hypot. 
 
 Overloaded methods: 
 darray/sqrt 
 sym/sqrt 
 
 Reference page in Help browser 
 doc sqrt 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 27 ] 
As teclas com setas podem ser usadas para se encontrar 
comandos utilizados anteriormente, para nova execução ou 
para sua reedição. Os comandos voltam como em lista, do 
mais recente para o mais antigo. 
 
Caso você digite um comando errado, que o MATLAB não 
entenda, ele te responderá com a seguinte mensagem: 
>> lo10(10) 
??? Undefined function or method 'lo10' for input 
arguments of type 'double'. 
 
Além das teclas com setas, outras teclas podem ser 
utilizadas para reeditar a linha de comando. A seguir é dada 
uma breve descrição destas teclas: 
 
Home move para o começo da linha 
End move para o final da linha 
Del apaga um caracter à direita 
Backspace apaga um caractere à esquerda 
 
O ponto-e-vírgula também pode ser utilizado no final de 
um comando quando você não quiser "ver" o resultado do 
mesmo. Assim, para um cálculo ou comando que você não 
deseja verificar o valor imediato, ou para entradas de dados 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 28 ] 
que produzem grande quantidade de dados de saída, o ";" é 
frequentemente utilizado. 
>> log(2) 
ans = 
 6.931471805599453e−001 
 
ou, com o ";", teríamos: 
>> log(2); 
>> 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 29 ] 
Obtendo informações sobre o ambiente 
 
Alguns comandos existentes no MATLAB são utilizados para a 
obtenção de informações que ficam armazenadas na área de 
trabalho do sistema, o chamado Workspace. 
 
Por exemplo, o comando abaixo retorna as variáveis que 
foramutilizadas até o momento, incluindo a ans: 
>> who 
Your variables are: 
 
A B M a ans 
 
O comando whos produz informações mais detalhadas sobre 
as variáveis utilizadas: 
>> whos 
 Name Size Bytes Class Attributes 
 
 A 1x1 8 double 
 B 1x1 8 double 
 M 1x3 24 double 
 a 1x1 8 double 
 ans 1x1 8 double 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 30 ] 
Cada elemento de uma matriz tipo Real requer 
8 bytes de memória, assim a matriz M de 
dimensão 1x3 utiliza 24 bytes e todas as 
variáveis juntas listadas anteriormente utilizam 
um total de 56 bytes. 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 31 ] 
Formatos numéricos de saída 
 
O comando format é utilizado para modificar o formato 
numérico exibido na tela, afetando somente o modo como os 
números são exibidos e não como eles são processados ou 
salvos. 
 
Se o número é exato ele é mostrado em um formato sem 
qualquer ponto decimal. Por exemplo: 
>> 102 
ans = 
 102 
 
Se, entretanto, seu valor não é inteiro exato, existem várias 
possibilidades de formatar a saída. 
 
O formato "default" é o chamado short, mostra 
aproximadamente 5 dígitos significativos ou usa notação 
científica. Por exemplo, a expressão: 
 >> 4/3 
 
é mostrada, para cada formato usado, da seguinte maneira: 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 32 ] 
format short 1.3333 
format short e 1.3333e+000 
format long 1.33333333333333 
format long e 1.333333333333333e+000 
format hex 3ff5555555555555 
format rat 4/3 
format bank 1.33 
 
Os símbolos "+", "−", e "espaço em branco" são 
mostrados, respectivamente para elementos positivos, 
elementos negativos e zeros. 
 
Para salvar os dados e variáveis utilizados durante seu 
trabalho, você dispõe do comando save. Ele salva seu 
ambiente, ou workspace com extensão .mat. 
>> save meu_workspace.mat 
 
Este comando salvará seu workspace no diretório corrente 
do MATLAB. 
 
Para recuperar o seu workspace em sua próxima sessão do 
MATLAB, você pode utilizar o comando load. Exemplo: 
>> load meu_workspace 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 33 ] 
Para limpar as variáveis do ambiente, você pode utilizar o 
comando clear all. 
>> clear all 
 
Uma variação do comando clear pode ser utilizada para 
apagar variáveis isoladamente, por exemplo, no comando 
abaixo, apenas as variáveis a e b são limpas: 
>> clear a b 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 34 ] 
ENTRADA E MANIPULAÇÃO DE DADOS 
 
Matrizes 
 
O MATLAB trabalha essencialmente com um tipo de objeto 
que é uma matriz numérica retangular podendo conter 
elementos complexos ou não. Aqui trataremos apenas das 
matrizes simples. 
 
Mesmo um sinal sendo contínuo no tempo, 
como uma forma de onda, quando ele "entra" 
no MATLAB ele se transforma em um sinal 
discreto, ou seja, o que você terá é uma 
coleção de pontos amostrados do sinal analógico original na 
forma de matrizes 
 
Uma das grandes vantagens do MATLAB é sua manipulação 
com matrizes ser extremamente fácil quando comparada a 
outras linguagens de programação. 
 
Você pode inserir uma matriz no MATLAB de diferentes 
formas: 
- Digitando a matriz na Janela de Comando, 
- Como resultado de um comando ou função, 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 35 ] 
- Lidas a partir de um arquivos ".m", 
- Carregadas a partir de um arquivo de dados externo que 
não seja um ".m", como por exemplo, um ".txt". 
 
Veremos manipulação de arquivos (.txt e .m) mais 
tarde. Não se preocupe com esses tópicos agora. 
 
O modo mais fácil de inserir matrizes pequenas no MATLAB é 
digitando-as. 
 
Para se digitar uma matriz, você deve saber algumas coisas: 
- Todos os elementos devem estar envolvidos por 
colchetes; 
- Cada elemento dentro de uma mesma linha, isto é, 
cada coluna da matriz, deve ser separado por espaços 
em branco ou vírgulas; 
- As linhas devem ser separadas por ponto e vírgula. 
 
Como exemplo, temos a matriz M: 
>> M = [1 2 3; 4 5 6; 7 8 9] 
M = 
 1 2 3 
 4 5 6 
 7 8 9 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 36 ] 
A matriz M é salva na memória do computador, ficando 
armazenada para seu uso posterior. 
 
Em substituição ao ponto-e-vírgula, as matrizes podem ser 
introduzidas linha a linha através do comando "ENTER", o 
que é geralmente indicado para matrizes de grande 
dimensão, obtendo-se o mesmo resultado do método 
anterior. 
 
Por exemplo, conseguimos a mesma matriz M anterior 
digitando: 
>> M = [1 2 3 
4 5 6 
7 8 9] 
 
M = 
 
 1 2 3 
 4 5 6 
 7 8 9 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 37 ] 
Elementos das Matrizes 
 
Os elementos das matrizes podem ser formados pelo 
resultado de qualquer expressão do MATLAB, por exemplo: 
>> M = [-1.3 2 /2 3^3] 
M = 
 -1.30 1.00 27.00 
 
 
Para se manipular um elemento da matriz você pode utilizar 
seu índice entre parênteses. 
>> M(1) 
ans = 
 -1.30 
 
 
O índice de uma matriz no MATLAB começa em 
1 e segue na ordem crescente até o final da 
mesma. Lembre-se que a indicação de um 
elemento, para matrizes de mais de uma linha, 
deve ser feita com o índice da linha seguido do índice da 
coluna, separados por uma virgula. Exemplo: M(1,2) será o 
elemento da primeira linha, segunda coluna da matriz M. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 38 ] 
Matrizes grandes podem ser geradas a partir da união de 
matrizes pequenas. Por exemplo, aproveitando-se a matriz 
M já utilizada anteriormente, teremos: 
>> r=[10 11 12] 
r = 
 10 11 12 
>> A=[M;r] 
A = 
 1 2 3 
 4 5 6 
 7 8 9 
 10 11 12 
 
Sub-matrizes podem ser extraídas de outras matrizes 
utilizando-se ":" como indicativo de intervalo. Por exemplo: 
>> B = A(1:3,:) 
B = 
 1 2 3 
 4 5 6 
 7 8 9 
 
que resulta na seleção das três primeiras linhas e todas as 
colunas da matriz M. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 39 ] 
Para o MATLAB, uma matriz é um nome 
genérico utilizado para expressar também 
vetores linha (1 linha para x colunas) ou coluna 
(x linhas para 1 coluna) ou ainda um único 
escalar (1 linha e 1 coluna) ou matrizes M x N. 
 
Um elemento individual da matriz pode ser alterado incluindo 
os seus subscritos entre parênteses e realizando uma adição, 
por exemplo, com outros elementos da matriz. 
 
Por exemplo, dada a matriz B já definida anteriormente: 
>> B(3,3) = B(1,3) + B(3,1) 
B = 
 1 2 3 
 4 5 6 
 7 8 10 
 
Em notação matemática, teríamos: 
 
B i , j = B(i,j) 
 
Podemos, similarmente, acessar a matriz para extrair um 
vetor de seus elementos, contínuo ou não. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 40 ] 
>> B(1:2,3) 
ans = 
 3 
 6 
 
O comando acima define uma submatriz 2x1, ou vetor 
coluna, que consiste dos dois elementos da terceira coluna 
da matriz B. 
 
Similarmente, temos: 
>> B(1:2,1:2) 
ans = 
 1 2 
 4 5 
 
Que define uma matriz quadrada 2x2, que contém como 
elementos as primeiras duas linhas e as das primeiras duas 
colunas da matriz B original. 
 
Para extrair todos os elementos de uma linha ou coluna, 
você pode utilizar o símbolo ":" no lugar de um índice, como 
anteriormente. 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 41 ] 
>> B(1:2,:) 
ans = 
 1 2 3 
 4 5 6O comando acima define uma matriz retangular 2x3, que 
contém a primeira e segunda linha e todas suas colunas da 
matriz B original. 
 
O termo end também pode ser utilizado quando 
deseja-se que o intervalo se estenda até o final, no 
lugar dos : vistos. 
 
>> C = B(3, 1: end) 
C = 
 7 8 10 
 
É possível também extrair submatrizes utilizando-se 
indexação seqüencial e, para isso, deve-se utilizar os [ ]. 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 42 ] 
Por exemplo: 
>> B 
B = 
 1 2 3 
 4 5 6 
 7 8 10 
 
>> D = B([1 3; 2 4]) 
D = 
 1 7 
 4 2 
 
A indexação segue por coluna e depois por linha, ou seja, a 
matriz B, para a indexação seqüencial, ficaria representada 
pelos índices: 
 
B = 
 B1 B4 B7 
 B2 B5 B8 
 B3 B6 B9 
 
Os métodos para se obterem submatrizes são 
importantes para extraírem colunas, linhas ou 
grupos de elementos originários de matrizes 
grandes e, com isso, possibilitar o manuseio de 
dados para visualização de resultados. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 43 ] 
Funções de Criação de Matrizes 
 
Para os exemplos que veremos a seguir, deve-se lembrar 
que: 
 n: representa a dimensão da matriz quadrada; 
 n,m: representam a dimensão da matriz 
retangular (n linhas por m colunas). 
 
 ones: cria matriz de um's. 
>> O = ones (4) 
O = 
 1 1 1 1 
 1 1 1 1 
 1 1 1 1 
 1 1 1 1 
 
 
 zeros: cria matriz de zeros. 
>> Z = zeros (4) 
Z = 
 0 0 0 0 
 0 0 0 0 
 0 0 0 0 
 0 0 0 0 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 44 ] 
 eye: cria matriz identidade (com 1 na diagonal 
principal e 0 nos outros elementos). 
>> E = eye (3,4) 
E = 
 1 0 0 0 
 0 1 0 0 
 0 0 1 0 
 
 
 rand: cria matriz de números pseudo-aleatórios 
uniformemente distribuídos entre 0 e 1. 
>> R = rand(3,5) 
R = 
 0.1419 0.7922 0.0357 0.6787 0.3922 
 0.4218 0.9595 0.8491 0.7577 0.6555 
 0.9157 0.6557 0.9340 0.7431 0.1712 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 45 ] 
 magic: cria uma matriz quadrada onde as linhas e as 
colunas tem a mesma soma. 
>> M = magic(4) 
M = 
 16 2 3 13 
 5 11 10 8 
 9 7 6 12 
 4 14 15 1 
 
 
 
 NaN: cria uma matriz onde as os elementos são "não 
número" ou Not a Number. 
 
>> N = NaN(3,2) 
N = 
 NaN NaN 
 NaN NaN 
 NaN NaN 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 46 ] 
Operações com Matrizes 
 
As operações com matrizes no MATLAB são: 
 
 Transposta; 
 
 Adição; 
 
 Subtração; 
 
 Multiplicação; 
 
 Divisão à direita; 
 
 Divisão à esquerda; 
 
 Exponenciação; 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 47 ] 
 Transposta 
Para se transpor uma matriz, ou seja, transformar linhas em 
colunas e vice-versa, utiliza-se, no MATLAB, o caractere 
apóstrofo ( ' ) ao final da matriz ou da variável que a 
representa. Exemplo: 
>> B 
B = 
 1 2 3 
 4 5 6 
 7 8 10 
>> B' 
ans = 
 1 4 7 
 2 5 8 
 3 6 10 
 
Para vetores linha, a operação transposta torna-os vetores 
colunas, e vice-versa. 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 48 ] 
Exemplo: 
>> X = [1 0 11] 
X = 
 1 0 11 
>> X' 
ans = 
 1 
 0 
 11 
 
 
 
 Adição e Subtração 
 
A adição e a subtração de matrizes são indicadas, 
respectivamente, por "+" e "-", similarmente aos escalares 
já vistos. 
 
Importante: para operações de soma e subtração de 
matrizes faz-se necessário que elas possuam as mesmas 
dimensões, ou seja, número de linhas e colunas iguais. 
 
Por exemplo, a soma com as matrizes mostradas acima, B + 
X, não é possível e nem está correta porque B é 3x3 e X é 
1x3. Porém se definirmos uma nova matriz A também 3x3, 
teremos: 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 49 ] 
>> A= ones(3) 
A = 
 1 1 1 
 1 1 1 
 1 1 1 
>> C= A + B 
C = 
 2 3 4 
 5 6 7 
 8 9 11 
 
Pode-se também utilizar um operador escalar para realizar a 
adição e a subtração com matrizes, ou seja, estamos falando 
de uma matriz 1x1. 
 
Neste caso, o escalar é adicionado ou subtraído de todos os 
elementos da matriz. 
 
Por exemplo, utilizando-se o vetor X definido anteriormente, 
temos: 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 50 ] 
>> X 
X = 
 1 0 11 
>> Y = X − 3 
Y = 
 -2 -3 8 
 
 
 Multiplicação 
 
A multiplicação de matrizes é indicada por "*" assim também 
como a multiplicação entre escalares. Exemplo: 
>> X 
X = 
 1 0 11 
>> Y 
Y = 
 -2 -3 8 
>> X*Y' 
ans = 
 86 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 51 ] 
Lembrando-se da matemática, a multiplicação de duas 
matrizes só é possível se o número de colunas da primeira 
for igual ao número de linhas da segunda. 
 
Como o resultado é um escalar, é evidente que o resultado 
da multiplicação Y'*X será o mesmo. 
 
Também sabemos que um escalar pode multiplicar qualquer 
matriz, independentemente de sua dimensão. Como 
exemplo, vamos utilizar nosso escalar pi definido no começo 
do livro: 
>> pi*X 
ans = 
 3.1416 0 34.5575 
 
 
A multiplicação escalar também é possível através dos 
operadores ponto-asterisco ".*" 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 52 ] 
Exemplo: 
>> A = [1 2; 3 4] 
A = 
 1 2 
 3 4 
 
>> B = [5 6; 7 8] 
B = 
 5 6 
 7 8 
 
>> A.*B 
ans = 
 5 12 
 21 32 
 
 
 
 Divisão 
 
Existem dois símbolos possíveis para divisão de matrizes no 
MATLAB "\" e "/". 
 
Se A é uma matriz quadrada não singular (quando possui 
matriz inversa), então A/B e A\B correspondem 
respectivamente à A*inv(B) e inv(A)*B, mas o resultado é 
obtido diretamente. Por exemplo: 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 53 ] 
>> A/B 
ans = 
 3.0000 -2.0000 
 2.0000 -1.0000 
>> A\B 
ans = 
 -3 -4 
 4 5 
 
Lembrando que a inversa de uma matriz, ou no MATLAB, 
inv(A), é a matriz que, quando multiplicada pela primeira, 
resulta na matriz identidade. 
 
A determinação de uma matriz inversa de ordem n é dada 
através da multiplicação por uma matriz B genérica, sendo 
que o resultado deverá ser uma matriz identidade. Na 
matemática, temos: 
 
 
 
Para indicar a matriz inversa de A utiliza-se a notação A-1 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 54 ] 
>> A 
A = 
 1 2 
 3 4 
 
>> inv(A) 
ans = 
 -2.0000 1.0000 
 1.5000 -0.5000 
 
>> A * inv(A) 
ans = 
 1.0000 0 
 0.0000 1.0000 
 
A divisão escalar também pode ser realizada através do 
operador "./". A divisão escalar, para relembrar, faz a 
divisão de cada elemento da primeira matriz pelo elemento 
que encontra-se na mesma posição da segunda matriz, ou 
seja, A1,1/B1,1 e assim, sucessivamente. 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 55 ] 
Por exemplo: 
>> A 
A = 
 1 2 
 3 4 
 
>> B 
B = 
 5 6 
 7 8 
 
>> A./B 
ans = 
 0.2000 0.3333 
 0.4286 0.5000 
 
 
 
 Exponenciação 
 
A função de exponenciação é muito útil para em diversas 
aplicações e pode ser empregada no MATLAB tanto em 
números escalares quanto em matrizes. 
 
A expressão A^n eleva A à n-ésima potência e é possível 
apenas se A é matrizquadrada e n um escalar sendo que a 
exponenciação é interpretada como n multiplicações 
sucessivas. 
Por exemplo: 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 56 ] 
>> A 
A = 
 1 2 
 3 4 
 
>> A^3 
ans = 
 37 54 
 81 118 
 
A potência de um escalar também pode ser obtida com o 
operador ".^". Como no exemplo abaixo: 
>> A.^B 
ans = 
 1 64 
 2187 65536 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 57 ] 
Operações Comparativas 
 
Estes são os seis operadores usados para comparação de 
valores, incluindo matrizes com as mesmas dimensões: 
 
< menor 
<= menor ou igual 
> maior 
>= maior ou igual 
== igual 
~= diferente 
any verdadeiro se algum elemento não é zero 
all verdadeiro se todos os elementos são não zero 
 
A comparação é feita entre os pares de elementos 
correspondentes e o resultado é uma matriz composta dos 
números um e zero, com 1 representando VERDADEIRO e 
0, FALSO. Por exemplo: 
>> 2 + 2 ~= 4 
ans = 
 0 
 
Pode-se usar também os operadores lógicos & (E − AND) e | 
(OU − OR). 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 58 ] 
Por exemplo: 
>> 1== 1 & 4 == 3 
ans = 
 0 
 
>> 1== 1 | 4 == 3 
ans = 
 1 
 
Se utilizarmos matrizes, temos: 
>> A == B 
ans = 
 0 0 
 0 0 
 
>> A ~= B 
ans = 
 1 1 
 1 1 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 59 ] 
MANIPULAÇÃO DE VETORES E MATRIZES 
 
O MATLAB é uma ferramenta completa para se trabalhar com 
matrizes, permitindo a manipulação de linhas, colunas, 
elementos individuais e partes das mesmas. 
 
 
 Vetores 
 
Os dois pontos, ":", conforme visto, é um caractere 
importante no MATLAB e seu uso indica "continuidade". A 
declaração abaixo gera um vetor linha contendo os números 
de 0 a 10 com incremento unitário. 
>> x = 0 : 10 
x = 
 0 1 2 3 4 5 6 7 8 9 10 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 60 ] 
Outros incrementos podem ser utilizados, positivos ou 
negativos. 
>> y = 0 : 0.1 : 1 
y = 
 0 0.1000 0.2000 0.3000 0.4000 0.5000 
0.6000 0.7000 0.8000 0.9000 1.0000 
 
>> y = 1 : -0.1 : 0 
y = 
 1.0000 0.9000 0.8000 0.7000 0.6000 
0.5000 0.4000 0.3000 0.2000 0.1000 0 
 
Pode-se, também, gerar vetores usando a função linspace, 
como no exemplo abaixo. 
 
 
 linspace: retorna um vetor linearmente espaçado 
entre seus elementos. 
 
Por exemplo, o comando abaixo criará um vetor linearmente 
espaçado entre 0 e 1 contendo 5 elementos. A sintaxe do 
comando linspace é: 
 
(ValorInicial, ValorFinal, NúmeroElementos) 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 61 ] 
>> k = linspace(0,1,5) 
k = 
 0 0.2500 0.5000 0.7500 1.0000 
 
Se o número de elementos desejados for omitido, o MATLAB 
assume N = 100. Por exemplo, digite o comando abaixo e 
verifique sua saída: 
>> k = linspace(0,1) 
 
 
 logspace: retorna um vetor espaçado em escala 
logarítmica entre seus elementos. 
>> logspace(1,5,5) 
ans = 
 10 100 1000 10000 100000 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 62 ] 
Funções de Consulta e Manipulação de Matrizes 
 
 
 det: retorna o determinante de uma matriz. 
 
Para uma matriz quadrada 2 x 2 tem-se: 
 
det(A) = a11* a22 − a21* a12 
 
Exemplo: 
>> A 
A = 
 1 2 
 3 4 
 
>> det(A) 
ans = 
 -2 
 
Lembremos que, entre outras propriedades: 
- Determinante de uma matriz identidade: det(eye) = 1 
- Determinante de uma matriz nula: det(N) = 0 
- Se uma linha ou coluna for nula: det(N) = 0 
- Uma matriz A e sua transposta contêm o mesmo 
determinante: det(A’) = det(A) 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 63 ] 
 inv: conforme já visto, este comando retorna a matriz 
inversa. 
 
Supondo A = [3 1; 2 1], pelos cálculos matemáticos, 
teríamos uma matriz genérica B = [a b; c d] sendo a 
matriz inversa da matriz A. Portanto: 
 
A* B  3 1
2 1






a b
c d





 
1 0
0 1





 
3a  c 3b d
2a  c 2b d





 
1 0
0 1





 
 
Assim: 
3a  c 3b d
2a  c 2b d





 
1 0
0 1





 
 
 
e 
 
 
Resolvendo os sistemas encontramos os valores: 
 
a = 1, b = –1, c = –2 e d = 3 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 64 ] 
Portanto a matriz B, que é a inversa da matriz A, seria 
formada pelos elementos: 
B  1 1
2 3





 
 
Fazendo a prova, temos que B*A resulta na matriz 
identidade: 
B * A  1 1
2 3






3 1
2 1





 
1 0
0 1





 
 
Portanto a matriz A é inversível e sua inversa é a matriz: 
B  A1 1 1
2 3





 
 
Para resolver esse mesmo problema no MATLAB, 
teríamos simplesmente: 
>> A = [3 1; 2 1] 
A = 
 3 1 
 2 1 
 
>> B=inv(A) 
B = 
 1.0000 -1.0000 
 -2.0000 3.0000 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 65 ] 
 reshape: faz um redimensionamento de uma matriz, 
mantendo o número original de elementos. A sintaxe 
do comando reshape(a, m, n), sendo a = matriz, 
m,n = novas dimensões da matriz: 
>> a1 = 1:6 
a1 = 
 1 2 3 4 5 6 
 
>> a2 = reshape(a1, 2, 3) 
a2 = 
 1 3 5 
 2 4 6 
 
>> a2 = reshape(a1, 3, 2) 
a2 = 
 1 4 
 2 5 
 3 6 
 
Para que o comando reshape funcione 
corretamente, o mesmo número de elementos 
da matriz original deve ser mantido no formato 
final, ou seja, uma matriz 3x2 deve manter 6 
elementos em qualquer formato. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 66 ] 
 numel: retorna o número de elementos da matriz. 
>> N = numel(a2) 
N = 
 6 
 
 
 size: retorna um vetor contendo o número de 
elementos de linha e de colunas da matriz. 
>> a2 
a2 = 
 1 4 
 2 5 
 3 6 
 
>> size(a2) 
ans = 
 3 2 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 67 ] 
 lenght: retorna o comprimento do vetor ou dimensão 
máxima da matriz. Equivale a max (size (a2)) 
>> a2 
a2 = 
 1 4 
 2 5 
 3 6 
 
>> length(a2) 
ans = 
 3 
 
>> max(size(a2)) 
ans = 
 3 
 
 
 sort: coloca os elementos da matriz em ordem 
crescente. Sintaxe: 
 
A = sort (B) ou A = sort(B, Dim) 
 
Sendo: 
B = matriz 
Dim = dimensão a ser ordenada. Case não exista, a 
matriz é ordenada por coluna. Para coluna, Dim = 1. 
Para linha, Dim = 2. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 68 ] 
>> B = magic (3) 
B = 
 8 1 6 
 3 5 7 
 4 9 2 
 
>> sort (B) 
ans = 
 3 1 2 
 4 5 6 
 8 9 7 
 
>> sort (B,2) %ordem crescente por linha 
ans = 
 1 6 8 
 3 5 7 
 2 4 9 
 
Para se colocar a matriz em ordem decrescente, pode-se 
utilizar a função sort combinada com a função fliplr (inverte 
a ordem dos elementos da esquerda para a direita) ou 
flipud (inverte a ordem dos elementos de cima para baixo). 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 69 ] 
 fliplr: inverte a ordem dos elementos da esquerda 
para a direita. 
>> B 
B = 
 8 1 6 
 3 5 7 
 4 9 2 
 
>> sort(B) 
ans = 
 3 1 2 
 4 5 6 
 8 9 7 
 
>> fliplr(sort(B)) %inverte a ordem da direita para 
esquerda 
ans = 
 2 1 3 
 6 5 4 
 7 9 8 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 70 ] 
 flipud: inverte a ordem dos elementosde cima para 
baixo. 
>> B 
B = 
 8 1 6 
 3 5 7 
 4 9 2 
 
>> sort(B) 
ans = 
 3 1 2 
 4 5 6 
 8 9 7 
 
>> flipud(sort(B)) %ordem decrescente por coluna 
ans = 
 8 9 7 
 4 5 6 
 3 1 2 
 
 
Você viu um comando % nos exemplos anteriores. Ele 
é utilizado para se fazer comentários na linha de 
comando ou em arquivos, ou seja, o MATLAB ignora o texto 
escrito após o símbolo do percentual até encontrar o final da 
linha. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 71 ] 
 rref: retorna uma matriz com a solução de um 
sistema linear. 
 
Como exemplo, sendo o seguinte sistema linear: 
 
No MATLAB, teríamos a representação deste sistema 
como a matriz: 
>> A = [1 1 2 9; 2 4 -3 1; 3 6 -5 0] 
A = 
 1 1 2 9 
 2 4 -3 1 
 3 6 -5 0 
 
>> rref(A) 
ans = 
 
 1 0 0 1 
 0 1 0 2 
 0 0 1 3 
 
 
Ou seja, a solução do sistema é dada pela última coluna 
da matriz resultante do comando rref, ou seja, x = 1, 
y = 2 e z = 3. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 72 ] 
 find: utilizado para localizar um determinado 
elemento em uma matriz. 
>> find(A==-3) 
 
ans = 
 8 
 
>> [r, c] = find(A==-3) 
 
r = 
 2 
 
c = 
 3 
>> 
 
 
A pesquisa com o find pode utilizar qualquer símbolo para 
comparação visto anteriormente. 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 73 ] 
FUNÇÕES PARA ANÁLISES DE DADOS 
 
 
 mean: retorna a média dos pontos apresentados. 
 
 median: retorna a mediana dos pontos. 
 
 std: retorna o desvio padrão. 
 
 var: retorna a variância dos dados apresentados. 
 
 max: retorna o valor máximo dos dados 
apresentados. 
 
 min: retorna o mínimo valor dos dados apresentados. 
 
 sum: retorna a soma de todos os dados. 
 
 prod: retorna o produto de todos os dados 
apresentados. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 74 ] 
 
>> matriz=rand(1,5) 
matriz = 
 0.4018 0.0760 0.2399 0.1233 0.1839 
 
>> mean(matriz) 
ans = 
 0.2050 
 
>> median(matriz) 
ans = 
 0.1839 
 
>> std(matriz) 
ans = 
 0.1262 
 
>> var(matriz) 
ans = 
 0.0159 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 75 ] 
>> max(matriz) 
ans = 
 0.4018 
>> min(matriz) 
ans = 
 0.0760 
 
>> sum(matriz) 
ans = 
 1.0249 
 
>> prod(matriz) 
ans = 
 1.6609e-004 
 
 
Você talvez queira gerar submatrizes a partir de linhas e/ou 
colunas não contínuas de uma matriz. Para as matrizes, os 
subscritos vetores permitem o acesso a submatrizes 
contínuas e descontínuas. 
 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 76 ] 
>> A = [1 2 3 4 5;6 7 8 9 10;11 12 13 14 15; 16 17 18 
19 20] 
 
A = 
 1 2 3 4 5 
 6 7 8 9 10 
 11 12 13 14 15 
 16 17 18 19 20 
 
>> B=[A(:, 1:2:4), A(:,5)] 
 
B = 
 1 3 5 
 6 8 10 
 11 13 15 
 16 18 20 
 
 
O mesmo procedimento pode ser aplicado para linhas ou 
colunas, montando-se as matrizes conforme os dados forem 
necessários. 
 
As matrizes no MATLAB podem assumir mais do que 2 
dimensões, ou seja, no MATLAB as matrizes podem ser 
multidimensionais. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 77 ] 
Para isso, você pode criá-las à partir das matrizes já vistas, 
acrescentando uma ou mais dimensões a sua forma: 
Figura 4: Esquemático de matrizes tridimensionais 
 
Exemplo: 
>> A = [1 2 3; 4 5 6] 
A = 
 1 2 3 
 4 5 6 
 
>> A(:,:,2)=[-1 -2 -3; -4 -5 -6] 
 
A(:,:,1) = 
 1 2 3 
 4 5 6 
 
A(:,:,2) = 
 -1 -2 -3 
 -4 -5 -6 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 78 ] 
 
>> A 
A(:,:,1) = 
 1 2 3 
 4 5 6 
A(:,:,2) = 
 -1 -2 -3 
 -4 -5 -6 
 
Você pode estender este conceito para quantas 
dimensões forem necessárias! As operações 
matriciais não podem ser realizadas com 
matrizes multidimensionais, como por exemplo, 
a multiplicação matricial (A*A). 
 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 79 ] 
COMO CONSTRUIR GRÁFICOS NO MATLAB 
 
 
A construção de gráficos no MATLAB é mais uma de suas 
facilidades! 
 
Através de comandos simples pode-se obter gráficos 
bidimensionais ou tridimensionais com qualquer tipo de 
escala e coordenada. Existe no MATLAB uma vasta biblioteca 
de comandos gráficos. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 80 ] 
Gráficos Bidimensionais 
 
Estes são os comandos para plotar gráficos bidimensionais: 
 
plot Plotar linear. 
loglog Plotar em escala loglog. 
semilogx Plotar em semilog. 
semilogy Plotar em semilog. 
fill Desenhar polígono 2D. 
polar Plotar em coordenada polar. 
bar Gráfico de barras. 
stem Seqüência discreta. 
stairs Plotar em degrau. 
errorbar Plotar erro. 
hist Plotar histograma. 
rose Plotar histograma em ângulo. 
compass Plotar em forma de bússola. 
feather Plotar em forma de pena. 
fplot Plotar função. 
comet Plotar com trajetória de cometa. 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 81 ] 
 Comando plot 
 
Se Y é um vetor, plot(Y) produz um gráfico linear dos 
elementos de Y versos o índice dos mesmos elementos. 
 
Por exemplo, para plotar os números [0.0, 0.48, 0.84, 1.0, 
0.91, 0.6, 0.14], entre com o vetor e execute o comando 
plot: 
>> Y = [0.0, 0.48, 0.84, 1.0, 0.91, 0.6, 0.14]; 
>> plot(Y) 
>> 
 
e o resultado é mostrado na Janela Gráfica: 
 
Figura 5: Gráfico de um vetor de números reais 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 82 ] 
 
Se X e Y são vetores com dimensões iguais, o comando 
plot(X,Y) produz um gráfico bidimensional dos elementos 
de X versos os elementos de Y, por exemplo: 
>> t = 0:0.05:4*pi; 
>> y = sin(t); 
>> plot(t,y) 
>> 
 
resulta em: 
 
Figura 6: Gráfico da função seno 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 83 ] 
O MATLAB pode também plotar múltiplas linhas em apenas 
um gráfico. Existem duas maneiras, na primeira é usado 
apenas dois argumentos, como em plot(X,Y), onde X e/ou 
Y são matrizes. 
 
Então: 
 
- Se Y é uma matriz e X um vetor, plot(X,Y) plota 
sucessivamente as linhas ou colunas de Y versos o vetor 
X. 
- Se X é uma matriz e Y é um vetor, plot(X,Y) plota 
sucessivamente as linhas ou colunas de X versos o vetor 
Y. 
- Se X e Y são matrizes com mesma dimensão, plot(X,Y) 
plota sucessivamente as colunas de X versos as colunas 
de Y. 
- Se Y é uma matriz, plot(Y) plota sucessivamente as 
colunas de Y versos o índice de cada elemento da linha 
de Y. 
 
A segunda e mais fácil maneira de plotar gráficos com 
múltiplas linhas é usando o comando plot com múltiplos 
argumentos. Por exemplo: 
>> plot(t, sin(t), t, cos(t), t, sin(t + pi), t, cos(t + pi)) 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 84 ] 
 
Figura 7: Gráfico de múltiplas funções trigonométricas na 
mesma janela 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 85 ] 
 Estilos de Linha e Símbolo 
 
Os tipos de linhas, símbolos e cores usados para plotar 
gráficos podem ser controlados ou modificados. 
 
Por exemplo: 
>> X = 0:0.05:1; 
>> subplot(1,2,1), plot(X,X.^2,'k*') 
>> subplot(1,2,2), plot(X,X.^2,'k -') 
 
 
Figura 8: Exemplo de subplot com uma linha e duas colunas 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 86 ] 
 Comando subplot 
 
O comando subplot visto anteriormente, conforme você 
deve ter notado, pode ser utilizado para gerar vários gráficos 
dentro da mesma janela.Assim, o subplot trabalha com a sintaxe: 
 
subplot(quantidade_de_linhas, 
quantidade_de_colunas, posição_plot) 
 
Ou seja, o subplot trata a janela de plotagem como uma 
matriz, você precisa falar para ele em quantas linhas e em 
quantas colunas essa janela será dividida e em qual "espaço" 
você quer colocar seu gráfico. 
 
Você pode dividir a janela em quantas partes desejar, 
porém, cada vez os espaços para os gráficos ficam menores. 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 87 ] 
Outros tipos de linhas, pontos e cores também podem 
ser usados: 
 
TIPO DE LINHA 
_ _______________ 
-- -------------------- 
-. -.-.-.-.-.-.-.-.-.-.-.-. 
. .............................. 
 
TIPO DE PONTO 
. ....................... 
* * * * * * * * * 
° ° ° °° ° ° ° ° ° ° 
+ ++++++++++ 
x xx x x x x x x 
 
CORES 
y amarelo 
m lilás 
c azul claro 
r vermelho 
g verde 
b azul escuro 
w branco 
k preto 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 88 ] 
 Comando figure 
 
Para cada comando plot que você utiliza, a figura na janela 
é substituída. Para que você não perca seus dados plotados e 
possa ter múltiplas janelas de gráficos, você pode utilizar o 
comando figure. 
>> figure 
 
Para cada comando figure dado, uma nova janela de gráfico 
é criada. A janela corrente para plotagem será a última ou 
aquela que você clicar por último, por isso, tenha cuidado! 
 
Figura 9: Resultado do comando figure 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 89 ] 
 Comando bar 
 
O comando bar(X) mostra um gráfico de barras dos 
elementos do vetor X, e não aceita múltiplos argumentos. 
>> M = magic(4) 
M = 
 16 2 3 13 
 5 11 10 8 
 9 7 6 12 
 4 14 15 1 
 
>> bar(M) 
>> figure 
>> bar(M,'stacked') 
>> 
 
Você também pode plotar os gráficos em barras na 
horizontal: 
>> barh(M) 
>> figure 
>> barh(M,'stacked') 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 90 ] 
Outros comandos de plot: 
 
>> area(M) 
>> stairs(M(1,:)) 
>> pie(M) 
>> stem(M(1,:)) 
 
Escala Logarítmica e Coordenada Polar 
 
O uso de loglog, semilogx, semilogy e polar é idêntico ao 
uso de plot. Estes comandos são usados para plotar gráficos 
em diferentes coordenadas e escalas: 
 
- polar(Theta,R) plota em coordenadas polares o ângulo 
THETA, em radianos, versos o raio R; 
- loglog plota usando a escala log10 x log10; 
- semilogx plota usando a escala semi-logarítmica. O 
eixo x é log10 e o eixo y é linear; 
- semilogy plota usando a escala semi-logarítmica. O eixo 
x é linear e o eixo y é log10; 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 91 ] 
Plotando Gráficos Tridimensionais e Contornos 
 
Estes são alguns comandos para plotar gráficos 
tridimensionais e contornos. 
 
plot3 Plotar em espaço 3D. 
fill3 Desenhar polígono 3D. 
comet3 Plotar em 3D com trajetória de cometa. 
contour Plotar contorno 2D. 
contour3 Plotar contorno 3D. 
clabel Plotar contorno com valores. 
quiver Plotar gradiente. 
mesh Plotar malha 3D. 
meshc Combinação mesh/contour. 
surf Plotar superfície 3D. 
surfc Combinação surf/contour. 
surfil Plotar superfície 3D com iluminação. 
slice Plot visualização volumétrica. 
cylinder Gerar cilindro. 
sphere Gerar esfera. 
 
O comando mesh(X,Y,Z) cria uma perspectiva 
tridimensional plotando os elementos da matriz Z em relação 
ao plano definindo pelas matrizes X e Y. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 92 ] 
Por exemplo: 
>> [X,Y] = meshgrid(-2:0.2:2, -2:0.2:2); 
>> Z = X.* exp(-X.^2 - Y.^2); 
>> mesh(X,Y,Z) 
 
 
Figura 10: Gráfico tridimensional com a função mesh 
 
 
E o comando contour(Z,10) mostra a projeção da superfície 
acima no plano xy com 10 iso-linhas: 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 93 ] 
 
Figura 11: Gráfico bidimensional com a função com a função 
contour 
 
 
 Outros exemplos: 
 
Digite os comandos abaixo e veja outros tipos de gráficos 
que surgirão. 
 
Exemplo 1: 
>>x = -4*pi: 0.1: 4*pi; 
>> y = -4*pi: 0.1: 4*pi; 
>>plot3(cos(x), sin(y), (x+y)); 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 94 ] 
Exemplo 2: 
>>x = -2: 0.2: 2; 
>>y = -5: 0.2: 5; 
>>[Mx, My] = meshgrid(x,y); 
>>Mz = exp(sin(Mx)) .* cos(My); 
>>mesh(Mx, My, Mz); 
>>surf (Mx, My, Mz); 
>>meshc(Mx, My, Mz); 
>>meshz(Mx, My, Mz); 
>>waterfall(Mx, My, Mz); 
>>surfc(Mx, My, Mz); 
 
 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 95 ] 
 Anotações no Gráfico 
 
O MATLAB possui comandos de fácil utilização para adicionar 
informações em um gráfico: 
 
title Título do gráfico. 
xlabel Título do eixo-X. 
ylabel Título do eixo-Y. 
zlabel Título do eixo-Z. 
text Inserir anotação no gráfico. 
gtext Inserir anotação com o "mouse". 
grid Linhas de grade. 
 
Por exemplo: 
>> fplot('sin', [-pi pi]) 
>> title('Gráfico da função f(x)=seno(x), -pi<x<pi') 
>> xlabel('x') 
>> ylabel('f(x)') 
>> grid 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 96 ] 
 
Figura 12: Exemplo de anotações em gráficos 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 97 ] 
Funções Matemáticas Comuns 
 
Abaixo, encontram-se algumas funções matemáticas mais 
comumente utilizadas. 
 
Tabela 2: Funções matemáticas úteis 
Função Descrição 
abs(x) Módulo de x 
acos(x) Arco cujo coseno é x 
cos(x) Coseno de x ( x em radianos) 
cosh(x) Coseno hiperbólico de x 
exp(x) Exponencial : e x 
gcd(x, y) MDC dos inteiros x e y 
imag(x) Parte imaginária de um complexo 
lcm(x, y) MMC dos inteiros x e y 
log(x) Logaritmo natural de x 
log10(x) Logaritmo de x na base 10 
real(x) Parte real de x 
round (x) Arredonda o valor de x 
sin(x) Seno de x (em radianos) 
sinh(x) Seno hiperbólico de x 
sqrt(x) Raiz quadrada de x 
tan(x) Tangente de x 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 98 ] 
Complementação sobre Gráficos 
 
Tabela 3: Comandos úteis para gráficos 
Função Descrição 
xlabel('Texto x') Coloca 'Texto x' no eixo x do 
gráfico ativo. 
ylabel('Texto y') Coloca 'Texto y' no eixo y do 
gráfico ativo. 
title('Titulo') Coloca 'Titulo' no gráfico ativo.
 
figure Abre uma nova janela de 
gráfico. 
grid Coloca as linhas de grid no 
gráfico ativo. 
legend('leg 1', 'leg 2') Coloca legenda no gráfico na 
ordem das linhas plotadas. 
axis([xmenor xmaior 
ymenor ymaior]) 
Redimensiona a janela do gráfico 
para as coordenadas dadas. 
subplot(qtlinhas, 
qtcolunas, posição) 
Faz uma divisão matricial da 
janela de gráfico e desenha o 
gráfico em questão na posição 
desejada. 
hold on Congela o gráfico ativo para que 
outros plots possam sobrepor o 
atual. Na sobreposição, se 
necessário, os eixos são 
ajustados automaticamente. 
hold off Descongela o gráfico ativo. Após 
este comando, um novo 
comando de plot ocasionará a 
substituição do atual. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 99 ] 
Funções para Plot de Imagens 
 
Para se plotar ou exibir imagens, você possui o comando 
imshow. Teste os comandos abaixo. 
>> foto1=imread('cameraman.tif'); 
>> foto2=imread('peppers.png'); 
>> subplot(1,2,1) 
>> imshow(foto1) 
>> subplot(1,2,2) 
>> imshow(foto2) 
 
No exemplo acima, você encontrou dois comandos básicos 
para manipulação de imagens: imread, que lê a imagem e a 
carrega como matriz numérica, e o comando imshow, que 
exibe a imagem carregada. 
 
Outros comandos de manipulação de imagens estão 
disponíveis no MATLAB incluindo comandos de 
processamento das mesmas, como filtros, extração de 
bordas, etc, porém eles não fazem parte do escopo desta 
parte do curso. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 100 ] 
PROGRAMAÇÃO NO MATLAB 
 
O MATLAB também dispõe de umconjunto de funções para 
programação e execução de códigos lógicos muito parecido 
com a linguagem C. 
 
Assim, estruturas de decisão, repetição e modularização da 
linguagem também estão disponíveis para a utilização e 
otimização das funcionalidades do MATLAB. 
 
Comandos da Linguagem 
 
 Estrutura de repetição "for" 
 
Permite que um grupo de comandos seja repetido um 
número fixo de vezes. 
 
Sua sintaxe é dada por: 
for <var = início : fim> 
 
<comandos> 
 
end 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 101 ] 
Exemplo: 
 
>> for a = 1:5 
 
y = 2* a 
 
end 
 
y = 
 2 
 
y = 
 4 
 
y = 
 6 
 
y = 
 8 
 
y = 
 10 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 102 ] 
 Para usar dois comandos "for" (for aninhado) 
 
 
>> for m = 1:4 
 
for n = 1:3 
 
a(m, n) = 2; 
 
end 
end 
 
>> disp(a) 
 2 2 2 
 2 2 2 
 2 2 2 
 2 2 2 
 
 
O comando disp(a) apresenta o conteúdo da variável a. 
 
O "passo" do comando "for" também pode ser diferente de 1. 
Para isso, faz-se necessário a especificação do passo a ser 
dado. 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 103 ] 
Exemplo: 
>> for a = 1:2:10 
 
y = 2* a 
 
end 
 
y = 
 2 
 
y = 
 6 
 
y = 
 10 
 
y = 
 14 
 
y = 
 18 
 
 
O intervalo também pode ser decrescente. 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 104 ] 
Exemplo: 
>> for a = 10:-2:1 
 
y = 2* a 
 
end 
 
y = 
 20 
 
y = 
 16 
 
y = 
 12 
 
y = 
 8 
 
y = 
 4 
 
 
Outros exemplos de uso do for aplicado a vetores e 
matrizes: 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 105 ] 
 
>> M=rand(1,5) 
M = 
 0.9561 0.5752 0.0598 0.2348 0.3532 
 
>> for i = 1:length(M) 
M(i) 
end 
 
ans = 
 0.9561 
 
ans = 
 0.5752 
 
ans = 
 0.0598 
 
ans = 
 0.2348 
 
ans = 
 0.3532 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 106 ] 
Para percorrer os elementos de matrizes, nós precisamos do 
chamado for aninhado, que é um for dentro do outro: 
>> for linha=1:size(M,1) 
for coluna=1:size(M,2) 
M(linha,coluna) 
end 
end 
ans = 
 0.8212 
ans = 
 0.1690 
ans = 
 0.6477 
ans = 
 0.0154 
ans = 
 0.6491 
ans = 
 0.4509 
ans = 
 0.0430 
ans = 
 0.7317 
ans = 
 0.5470 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 107 ] 
No exemplo acima, você visualizou o resultado do for que 
exibiu todos os elementos da linha 1 (todas as colunas da 
linha 1) para depois mudar para a linha 2 e assim 
sucessivamente. 
 
O for interno tem que ser executado completamente para 
que o for externo possa ser incrementado novamente, até o 
término do comando. 
 
 
Você pode aninhar quantos for precisar, apenas 
lembre-se da ordem de execução dos mesmos: de 
"dentro" para "fora". 
 
 
 
 Estrutura de repetição "while" 
 
Similar ao comando for, o comando while também executa 
um looping controlado. Sintaxe: 
 
while <expressão> 
 
<comandos> 
 
end 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 108 ] 
Exemplo: 
>> num = 0; 
>> a = 1; 
>> while (1+a) < 6 
a = a + 1 
num = num + 1 
end 
a = 
 2 
num = 
 1 
a = 
 3 
num = 
 2 
a = 
 4 
num = 
 3 
a = 
 5 
num = 
 4 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 109 ] 
Cuidado com o comando while pois quem 
controla sua parada, diferentemente do for, é 
você com o incremento ou decremento da 
variável de controle. Se esse controle não for 
executado corretamente, o MATLAB pode entrar em 
while(true), que nunca tem fim, que o muitos chama hoje 
de "efeito Matrix". 
 
 
 
 Estrutura de decisão "if - else – end" 
 
Utilizado para decisão e conseqüente desvio de fluxo do 
programa, a estrutura "if – else – end" pode também ser 
utilizada sem o comando "else" intermediário. 
 
Sintaxe (sem o "else"): 
 
 
if <expressão> 
 
<comandos> 
 
end 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 110 ] 
Exemplo: 
>> a = input('digite o valor de a ==> '); 
digite o valor de a ==> 1 
 
>> b = input('digite o valor de b ==> '); 
digite o valor de b ==> 2 
 
>> if a > 5 
b = a + 1 
end 
 
 
Neste caso, se o valor de a lido for menor que 5, o valor de 
b impresso será o mesmo que foi lido. Se o valor de a lido 
for maior que 5, então o valor de b impresso será igual ao 
de a + 1. 
 
Sintaxe (com o "else"): 
 
 
If <expressão> 
 
<comandos> 
 
else 
 
<comandos> 
 
end 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 111 ] 
Exemplo: 
>> a = input('digite o valor de a ==> '); 
digite o valor de a ==> 4 
 
>> b = input('digite o valor de b ==> '); 
digite o valor de b ==> 5 
 
>> if a > 5 
b = a + 1; 
else 
b 
end 
 
b = 
 5 
 
 
O else será executado somente se a condição testada por if 
não for satisfeita. 
 
Uma observação importante a ser feita é que o 
else sempre diz respeito ao último if 
imediatamente anterior a ele. Para o MATLAB, 
esse problema fica minimizado, pois o end só 
aparece no final da estrutura, para outras linguagens, esse 
problema torna-se mais evidente. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 112 ] 
 Estrutura de decisão "switch case" 
 
Quando se tem várias opções de escolha, o uso do if-else-
end não se torna muito adequado. Para isso, tem-se 
estrutura switch case que, funcionalmente, assemelha-se 
ao comando anterior. 
 
Exemplo: 
>> x = 3.5; 
 
>> unidade = 'm'; 
 
>> switch unidade % Converte x para centímetros 
case {' inch',' in'} 
y = x * 2.54; 
case {'feet', 'ft' } 
y = x * 2.54 * 12; 
case {'metro','m'} 
y = x/100; 
otherwise 
disp('acabou') 
end 
 
>> disp( 'y = '); 
y = 
 
>> disp(y) 
 0.0350 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 113 ] 
O resultado será y = 0.0350, que representa a conversão de 
3.5 metros centímetros. 
 
A lógica dentro do comando case é a OU−OR. 
 
 
 Tratamento de Erros em Programação – uso do 
"try - catch" 
 
Quando você cria um programa complexo, normalmente, 
você precisa garantir que seu programa não feche ou pare 
sua execução caso um erro inesperado ou mesmo previsível, 
ocorra. 
 
Para isso, a estrutura try-catch é utilizada. 
 
Normalmente, o bloco try é executado. Dentro dele, você 
coloca o código que deseja executar e que pode ser passível 
de erro em tempo de execução. 
 
Caso um erro nesse código ocorra, o bloco catch é 
executado. Dentro do bloco catch você pode colocar 
mensagens de erro, entrada de dados, jumps, etc, ou seja, 
tudo o que você julgar necessário para que seu programa 
continue sendo executado corretamente. Se você não utilizar 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 114 ] 
o catch, a mensagem de erro do MATLAB é suprimida 
também mas seu processamento segue normalmente, não 
há o tratamento do erro. 
 
Ao comando catch pode ser adicionado o me, que detém o 
erro que o MATLAB identificou. Através dele você pode criar 
arquivos de log para análise posterior do erro encontrado e 
corrigir ou refiná-lo seu código. 
>> try 
lo(10) 
catch me 
disp('meu erro') 
disp (me) 
end 
meu erro 
 MException object with properties: 
 
 identifier: 'MATLAB:UndefinedFunction' 
 message: 'Undefined function or method 'lo' for input 
arguments of type 'double'.' 
 stack: [0x1 struct] 
 cause: {} 
>> 
 
>> try 
lo(10) 
end 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 115 ] 
O comando me é uma estrutura, ou seja, você pode 
visualizar ou utilizar separadamente seus componentes: 
>> me.identifier 
 
ans = 
 
MATLAB:UndefinedFunction 
 
>> me.message 
 
ans = 
 
Undefined function or method 'lo' for input argumentsof 
type 'double'. 
 
 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 116 ] 
Tipos de Variáveis 
 
Até agora, no MATLAB, nós vimos basicamente o tipo de 
dado double, aplicado a valor numérico. 
 
Porém, o MATLAB apresenta outros tipos de variáveis: 
string (ou cadeia de caracteres, struct (ou estrutura) e cell 
array (célula de dados). 
 
 
 string 
 
Nós já vimos manipulação de texto quando utilizamos os 
comandos de títulos e legendas de gráficos. 
 
Para o MATLAB identificar um texto e poder diferenciá-lo de 
uma variável, o texto deve vir entre aspas simples. 
>> texto='MATLAB' 
 
texto = 
 
MATLAB 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 117 ] 
A palavra MATLAB é um vetor de caracteres com 6 
elementos, ou seja, um char array 1x6. 
>> whos texto 
 Name Size Bytes Class Attributes 
 
 texto 1x6 12 char 
 
 
Para visualizar cada elemento em seu código ASCII, você 
pode digitar: 
>> double(texto) 
 
ans = 
 
 77 65 84 76 65 66 
 
 
A tabela ASCII é o código que está por traz de cada caracter 
legível que conhecemos. Para visualizar a tabela, você pode 
executar o comando: 
>> for i=1:255 
I(i) = char(i); 
end 
>> I 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 118 ] 
O comando char exibe o valor numérico em seu formato 
texto. 
 
Para concatenar textos na linha, podemos utilizar: 
>> texto1= 'BOM CURSO' 
 
texto1 = 
 
BOM CURSO 
 
>> texto2= ' DE MATLAB' 
 
texto2 = 
 
 DE MATLAB 
 
>> texto3= [texto1 texto2 '!!'] 
 
texto3 = 
 
BOM CURSO DE MATLAB!! 
 
Para concatenar textos na coluna é só inserir o ponto-e-
vírgula ";" entre os elementos, lembrando apenas que ele 
trata os textos como vetores, e por esse motivo eles devem 
ter a mesma dimensão. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 119 ] 
>> txt1 = 'oi' 
 
txt1 = 
 
oi 
 
>> txt2='voce' 
 
txt2 = 
 
voce 
 
>> txt3=[txt1;txt2] 
??? Error using ==> vertcat 
CAT arguments dimensions are not consistent. 
 
 
Para corrigir este problema, você pode utilizar a função 
strvcat que ajusta os tamanhos dos textos inserindo 
espaços para completá-los. 
>> txt3 = strvcat(txt1,txt2) 
txt3 = 
 
oi 
voce 
 
>> size(txt3) 
ans = 
 2 4 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 120 ] 
 struct 
 
A struct ou estrutura permite que você una valores de 
tipos diferentes na mesma variável, podendo identificá-lo por 
nomes diferentes: 
>> str = 
struct('Nome',{'MATLAB'},'Dia',{07},'Horas',{[09 12 13 
16]}) 
str = 
 Nome: 'MATLAB' 
 Dia: 7 
 Horas: [9 12 13 16] 
 
>> whos str 
 Name Size Bytes Class Attributes 
 str 1x1 424 struct 
 
>> str.Nome 
ans = 
MATLAB 
 
>> str.Dia 
ans = 
 7 
 
>> str.Horas 
ans = 
 
 9 12 13 16 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 121 ] 
Você pode manipular as variáveis internas da estrutura 
normalmente, basta utilizar o ponto que significa "pertence" 
ou "está contido". 
 
Este tipo de variável proporciona uma grande liberdade para 
tratamento dos dados, mantendo-os em um mesmo índice 
para controle: 
>>str(2) = 
struct('Nome',{'MATLAB2'},'Dia',{08},'Horas',{[13 15 17 
19]}) 
 
str = 
1x2 struct array with fields: 
 Nome 
 Dia 
 Horas 
 
>> str(1).Nome 
ans = 
MATLAB 
 
>> str(2).Nome 
ans = 
MATLAB2 
 
Neste exemplo acima, você criou na mesma estrutura str 
anteriormente já criada novas informações. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 122 ] 
Você pode fazer isso sucessivamente, conforme sua 
necessidade. Para manipulá-las, você precisará identificar 
qual parte da estrutura você deseja através do índice da 
struct. 
>> str(2).Horas 
 
ans = 
 
 13 15 17 19 
 
>> str(2).Horas(1) 
 
ans = 
 
 13 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 123 ] 
 cell array 
 
Similarmente à estrutura, o cell array também permite o 
armazenamento de diferentes tipos de variáveis, porém 
identificadas pelo mesmo nome. 
>> celula = cell(2) 
 
celula = 
 
 [] [] 
 [] [] 
 
>> whos celula 
 Name Size Bytes Class Attributes 
 
 celula 2x2 16 cell 
 
Neste comando você criou uma célula vazia que pode ser 
preenchida posteriormente. 
 
 
 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 124 ] 
>> celula(1,1) = {ones(3)} 
celula = 
 [3x3 double] [] 
 [] [] 
 
>> celula(1,2) = {'Curso de MATLAB'} 
celula = 
 [3x3 double] 'Curso de MATLAB' 
 [] [] 
 
>> celula(2,1) = {-3.56} 
celula = 
 [3x3 double] 'Curso de MATLAB' 
 [ -3.5600] [] 
 
>> celula(2,2) = {0:10} 
celula = 
 [3x3 double] 'Curso de MATLAB' 
 [ -3.5600] [1x11 double] 
 
 
Diferentemente da matriz e da struct, o cell 
array utiliza chaves { } para se referenciar a 
seus elementos. Se você utilizar os parênteses, 
sua resposta será a célula e não seus 
elementos. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 125 ] 
Para manipular os elementos, você utiliza seu 
posicionamento dentro do cell array. 
 
Exemplo: 
>> celula{1,1} 
 
ans = 
 
 1 1 1 
 1 1 1 
 1 1 1 
 
>> celula{1,2} 
 
ans = 
 
Curso de MATLAB 
 
>> celula(1,1) 
 
ans = 
 
 [3x3 double] 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 126 ] 
ANÁLISE E SIMULAÇÃO DE DADOS 
 
Funções e Arquivos .m 
 
No MATLAB, pode-se também criar códigos modulares 
utilizando-se funções geradas em arquivos .m. 
 
Estrutura das funções 
 
Para se criar uma função no MATLAB, deve-se declarar o 
nome do arquivo igual ao nome da função. Dentro do 
arquivo, além de comentários iniciais, o primeiro comando 
deve ser o protótipo (ou assinatura) da função e, 
internamente a ele, o código correspondente. 
 
 
Exemplo: 
 
 
function [Ret1, ..., RetN] = nome_função(Par1, ..., 
ParM) 
 
<Bloco de comandos> 
 
 
Sendo: 
- function: palavra reservada que indica que a função 
está iniciada. 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 127 ] 
- Ret1, ..., RetN: retornos da função. 
- nome_função: nome da função que deverá ser utilizado 
em sua chamada. 
- Par1, ..., ParM: parâmetros de entrada da função. 
- <Bloco de comandos>: bloco de comandos que 
compõe a função. 
 
A chamada da função deve ser feita como se segue: 
 
 
>> [RetA, ..., RetN] = nome_função(P1, ..., PM) 
 
 
 
Características das funções 
 
Neste livro, iremos detalhar dois tipos de funções utilizadas 
pelo MATLAB: as funções primárias e as subfunções. 
 
Um arquivo .m pode conter diversas funções, porém, uma só 
pode ser a principal, as outras devem ser subfunções. Isso 
porque, a função primária deve possuir o mesmo nome do 
arquivo .m. 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 128 ] 
Funções primárias 
 
 Devem conter o código da rotina principal; 
 Devem obrigatoriamente possuir o mesmo nome do 
arquivo .m que a contém; 
 Devem ser as primeiras funções listadas no arquivo .m. 
 
 
Subfunções 
 
 Seguem a mesma sintaxe da função primária, tendo 
parâmetros de entrada e códigos de retorno; 
 Subfunções só podem ser chamadas por outras funções 
definidas no mesmo arquivo .m; 
 As variáveis utilizadas em uma subfunção só existem 
dentro dela, ou seja, as variáveis são locais. 
 
Exemplo de utilização de funções: 
 
Abra um novo arquivo .m e copie e salve o código abaixo. 
Lembre-se que o nome do arquivo .m deve ser o mesmo da 
função criada (neste caso, estatística). 
 
 
MATLAB para Iniciantes – Desmistificando o MATLAB 
 
 
[ 129 ] 
%estatistica.m - calcula variaveis estatisticas

Continue navegando