Buscar

Introdução ao MATLAB - UFSM

Prévia do material em texto

Introdução ao MATLAB 
 
2 
 
 
1. Apresentação...................................................................................................5 
1.1. Solução de Problemas ...................................................................................... 5 
1.1.1. Enunciado do Problema ............................................................................ 5 
1.1.3. Exemplo Manual ......................................................................................... 6 
1.1.4. Solução MATLAB ....................................................................................... 7 
1.1.5. Testando ...................................................................................................... 7 
1.2. Apresentação...................................................................................................... 8 
1.2.1. Ambiente de Trabalho.............................................................................. 10 
1.2.2. Editor de Linhas de Comando ................................................................ 11 
2. Introdução......................................................................................................13 
2.1. Introdução a Matrizes Simples....................................................................... 13 
2.2. Elementos de Matrizes.................................................................................... 14 
2.3. Decaração de Variáveis .................................................................................. 15 
2.4. Informações sobre a Área de Trabalho ........................................................ 16 
2.5. Números e Expressões Aritméticas .............................................................. 17 
2.6. Números e Matrizes Complexas ................................................................... 18 
2.7. Formatação de Saída ...................................................................................... 19 
2.8. Utilização do Help (Ajuda) .......................................................................... 20 
2.9. Funções ............................................................................................................. 20 
3. Manipulação de Matrizes e Vetores......................................................................21 
3.1 . Operações com Matrizes ......................................................................... 21 
3.1.2 Adição e Subtração ............................................................................. 22 
3.1.3 Multiplicação ......................................................................................... 22 
3.1.4 Divisão ................................................................................................... 23 
3.1.5 Potenciação .......................................................................................... 23 
3.2 Operações Elemento a Elemento (Conjuntos) ................................... 23 
3.2.1 Adição e Subtração ............................................................................. 23 
3.2.2 Multiplicação e Divisão ....................................................................... 24 
3.2.3 Potenciação .......................................................................................... 24 
3.3. Matrizes Elementares...................................................................................... 24 
3.3.1 Geração de Vetores ............................................................................ 24 
3.3.2 . Matriz Identidade ............................................................................... 25 
3.3.3 Matriz Composta por Elementos Unitários ...................................... 25 
3.3.4 Matriz Nula ............................................................................................ 25 
3.3.5 Matriz Aleatória .................................................................................... 26 
3.4 Elementos de Matrizes ............................................................................... 26 
3.5 Manipulação de Matrizes............................................................................ 27 
3.5.1 Matriz Diagonal ou Diagonal de uma Matriz ......................................... 27 
3.5.2 Matrizes Triangulares.......................................................................... 28 
3.5.3 Redimensionamento de Matrizes...................................................... 28 
3.5.4 Rotação dos Elementos da Matriz .................................................... 29 
4. Funções..........................................................................................................30 
4.1 Funções Escalares ...................................................................................... 30 
4.2. Funções Vetoriais ............................................................................................ 30 
Sumário 
 
Introdução ao MATLAB 
 
3 
4.3 Funções Matriciais....................................................................................... 31 
5. Polinômios......................................................................................................33 
6. Gráficos..........................................................................................................35 
6.1 – Gráficos X-Y ................................................................................................... 35 
6.1.1 Acessórios para os Gráficos .............................................................. 37 
6.1.2 Números Complexos........................................................................... 38 
6.2 Gráficos Polares ................................................................................................ 39 
6.3. Gráficos 3D ....................................................................................................... 39 
7. Programação..................................................................................................43 
7.1 Arquivo.m ........................................................................................................... 43 
7.2 Operadores Lógicos e Relacionais ........................................................... 44 
7.2.1 Operadores Relacionais ..................................................................... 44 
7.2.2 Operadores Lógicos ............................................................................ 44 
7.3. Comandos For – While - If............................................................................. 46 
7.3.1. Comando If ........................................................................................... 46 
7.3.2. Ciclo For ................................................................................................ 47 
7.3.3 Ciclo While ............................................................................................ 48 
7.4. Declarando Funções ....................................................................................... 48 
8. Sistemas de Equações Lineares....................................................................56 
8.1. Interpretação gráfica ................................................................................... 56 
8.2. Solução usando operação com matrizes................................................. 58 
8.3. Divisão de matrizes ..................................................................................... 58 
9. Cáculo............................................................................................................61 
9.1. Zeros de Funções ........................................................................................ 61 
9.2. Minimização de Funções........................................................................... 62 
9.3. Limites ........................................................................................................... 62 
9.4. Limites à esquerda e à direita....................................................................62 
10. Integração Numérica....................................................................................64 
10.1. Integrais..................................................................................................... 64 
10.2. Integrais Definidas ................................................................................... 64 
10.3. Integrais Definidas (outros métodos).................................................... 65 
10.2.1 Regra Trapezoidal ............................................................................... 65 
10.2.2 Regra de Simpson ............................................................................... 66 
10.2.3 Regra de Newton-Cotes ..................................................................... 67 
11. Diferenciação Numérica...............................................................................70 
11.1. Derivação por expressões de diferenças............................................. 70 
11.2. Comando diff ............................................................................................ 71 
11.3. Derivadas Superiores.............................................................................. 72 
11.4. Derivadas Trigonométricas: ................................................................... 72 
12. Ajuste de Curvas..........................................................................................73 
12.1. Ajuste de Curvas............................................................................................ 73 
12.2. Interpolação Unidimensional.................................................................. 74 
13. Análise Polinomial........................................................................................78 
13.1. Avaliação do polinômio ........................................................................... 78 
13.2. Comando polyval ..................................................................................... 78 
13.3. Operações Aritméticas........................................................................... 79 
13.3.1 Soma e subtração ................................................................................... 79 
13.3.2. Multiplicação............................................................................................ 80 
 
Introdução ao MATLAB 
 
4 
13.3.3. Divisão...................................................................................................... 80 
13.4. Raízes de polinômios .............................................................................. 81 
15. Transformadas.............................................................................................84 
15.1. Funções Degrau e Impulso .................................................................... 84 
15.3. Transformada de Fourier ........................................................................ 85 
15.4. Transformada Z........................................................................................ 85 
16. SIMULINK....................................................................................................86 
16.1. Introdução ....................................................................................................... 88 
16.1.1. Diagrama de Blocos............................................................................... 88 
16.1.2. Símbolos .................................................................................................. 90 
16.2. Conhecendo o SIMULINK ............................................................................ 90 
16.2.1. Acessando o SIMULINK........................................................................ 90 
16.2.2. Construindo um Modelo Simples ......................................................... 91 
16.3. Construindo Modelos no SIMULINK......................................................... 104 
16.3.1 - Elementos de Modelos....................................................................... 104 
16.3.2. Manipulando Blocos............................................................................. 105 
16.3.3. Fontes..................................................................................................... 105 
16.3.3.1. Fontes Comuns ............................................................................. 107 
16.3.4. Importando do MATLAB (From Workspace Block)......................... 108 
16.3.4.1. Importando Arquivos Gerados no MATLAB (From File Input Block) ....... 110 
16.3.5. Dispositivos de Saída .......................................................................... 110 
16.3.6. Osciloscópio (Scope) ........................................................................... 110 
16.3.6.1. Ferramenta Zoom na tela do Osciloscópio ............................... 112 
16.3.6.2. Propriedades do Osciloscópio .................................................... 113 
16.3.7. Gráfico XY ............................................................................................ 114 
16.3.8. Configurando a Simulação.................................................................. 115 
16.3.8.1. Solver Page.................................................................................... 116 
16.3.9. Executando uma Simulação ............................................................... 117 
16.4. Exemplos Práticos ....................................................................................... 118 
16.4.1. Visão geral do Simulink ....................................................................... 118 
16.4.2. Simulando um salto de bungee jumping........................................... 123 
Apêndice A. Lista de Exercícios.......................................................................126 
Referências Bibliográficas................................................................................127 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Introdução ao MATLAB 
 
5 
1. Apresentação 
 
 
1.1. Solução de Problemas 
A solução de problemas é parte essencial não somente dos cursos de 
engenharia, mas também dos cursos de Matemática, Física, Química e Ciência 
da Computação. Logo, é importante uma base sólida em solução de 
problemas. Também é de grande auxílio um embasamento suficiente para 
trabalhar em todas estas áreas, para que não tenhamos que aprender uma 
técnica para problemas de matemática, e uma técnica diferente para problemas 
de física, e assim por diante. A técnica de solução de problemas que 
apresentamos trabalhos para problemas de engenharia e pode ser seguida de 
perto para resolver problemas em outras áreas; mas, supõe-se que estamos 
usando o MATLAB para ajudar a resolvê-los. 
 
O processo ou metodologia para resolução de problemas que usaremos 
ao longo do texto possui cinco passos: 
 
1. Enunciar o problema claramente. 
2. Descrever a informação de entrada e saída. 
3. Trabalhar o problema manualmente. 
4. Desenvolver uma solução MATLAB. 
5. Testar a solução usando uma variedade de grupo de dados. 
 
Descreveremos cada um dos passos usando o exemplo do cálculo da 
distância entre dois pontos em um plano. 
 
1.1.1. Enunciado do Problema 
 
O primeiro passo é enunciar o problema claramente. É extremamente 
importante que o enunciado seja conciso para evitar desentendimentos. Para 
este exemplo, o enunciado do problema é: 
 
Calcule a distância em linha reta entre dois pontos num plano. 
 
1.1.2. Descrição Entrada/Saída 
 
O segundo passo é descrever cuidadosamente a informação que é dada 
para resolver o problema e então identificar os valores a serem calculados. 
Estes itens representam a entrada e a saída para o problema e agregadamente 
podem ser chamados entrada/saída, ou I/0. Para muitos problemas, é útil usar 
um diagrama que mostra a entrada e a saída. Algumas vezes, este tipo dediagrama é chamado de “caixa preta” porque não estamos definindo para este 
ponto todos os passos para determinar a saída, mas estamos mostrando a 
informação que é usada para calcular a saída. Para este exemplo, poderíamos 
usar o diagrama na figura 1.1. 
Solução de Problemas 
 
Introdução ao MATLAB 
 
6 
 
 
 
1.1.3. Exemplo Manual 
 
O terceiro passo é trabalhar o problema manualmente ou com uma 
calculadora, usando um pequeno grupo de dados. É um passo muito 
importante e não deve ser ignorado por mais simples que seja o problema. É 
um item no qual você trabalha os detalhes da solução do problema. Se você 
não pode pegar um simples grupo de números e calcular a saída (seja 
manualmente ou com uma calculadora), então você não está pronto para 
executar o próximo passo; você deve reler o problema e talvez consultar 
material de referência. Uma vez que pode trabalhar o problema de um simples 
grupo de dados, então você está pronto para desenvolver um algoritmo ou um 
esboço passo a passo da solução. Este esboço é convertido para os comandos 
MATLAB para que possamos usar o computador para fazer todos os cálculos. 
O exemplo manual para este exemplo é mostrado a seguir: 
 
Suponha que os pontos p1 e p2 tenham as seguintes coordenadas: 
 
p1 = (1,5), p2 = (4,7) 
 
Queremos calcular a distância entre dois pontos, que é a hipotenusa de 
um triângulo retângulo, conforme mostra a figura 1.2. Usando o Teorema de 
Pitágoras, podemos calcular a distância d com a seguinte equação: 
 
21 ssd += 
 
( ) ( )22 5714 −+−=d 
 
13=d 
 
61,3=d 
 
 
Introdução ao MATLAB 
 
7 
 
 
 
 
1.1.4. Solução MATLAB 
 
No próximo capítulo, falaremos sobre os comandos MATLAB. Contudo, 
da solução você pode ver que os comandos são muito similares às equações 
que foram usadas no exemplo manual. O sinal de percentagem é usado para 
anteceder comentários que explicam os comandos MATLAB. 
 
 
 
 
1.1.5. Testando 
 
O passo final em nosso processo de solução de problemas é testar a 
solução. Primeiramente, devemos testar a solução com os dados do exemplo 
manual, já que calculamos a solução. Quando os comandos MATLAB na 
solução são executados, o computador mostra a seguinte saída: 
 
d = 3.6056 
 
Esta saída coincide com o valor que calculamos no exemplo manual. Se 
a solução MATLAB não coincidir com o exemplo manual, devemos rever 
ambas soluções a fim de encontrar o erro. Uma vez que a solução trabalha 
com o exemplo manual, devemos também testá-la com vários grupos de dados 
para certificar que a solução é válida para outras séries de dados. 
 
 
 
 
% 
% Este programa calcula e imprime 
% distância, em linha reta, entre dois pontos. 
 
p1 = [1,5]; % ponto 1 inicial 
 
p2 = [4,7]; % ponto2 inicial 
 
d = sqrt (sum ((p2-p1).^2)) % calcular distância 
 
 
Introdução ao MATLAB 
 
8 
1.2. Apresentação 
 
O MATLAB® pode ser usado como uma linguagem de programação ou 
como uma ferramenta de cálculo interativa. Em ambos os casos, o ambiente 
MATLAB permite a realização de cálculos, visualização de resultados e 
desenvolvimento de algoritmos usando uma sintaxe muito próxima da notação 
matemática usual. 
O nome MATLAB vem de MATrix LABoratory e representa bem o seu 
modo de funcionamento. Todas as variáveis são definidas de forma matricial, o 
que faz com que este ambiente seja ideal para resolver problemas de cálculo 
envolvendo matrizes e vetores. 
Um arquivo de programa MATLAB recebe a extensão .m e, por isso, 
também é chamado de m-file ou arquivo .m. Ele pode ser criado e/ou 
modificado no editor próprio do MATLAB - MATLAB Editor/Debugger - que 
possui características que auxiliam bastante na edição de programas como 
auto-colorização de palavras de acordo com a sintaxe e interação com o 
ambiente de cálculo do MATLAB. Existem também os arquivos .mat que são 
arquivos binários que contém as variáveis da Workspace. Estes arquivos são 
gerados indo em File => Save Workspace => nomedoarquivo.mat. É importante 
diferenciar, portanto, arquivos .m dos arquivos .mat. Os arquivos .m contém 
uma série de comandos que, ao serem chamados no Workspace, são 
executados. Já os arquivos .mat contém somente as variáveis e os seus 
valores armazenados. 
Uma das grandes virtudes do MATLAB é que todas as suas funções são 
escritas em m-files, sendo que algumas delas podem ser modificadas e várias 
outras criadas. Este fato possibilitou a criação de diversos conjuntos de 
funções específicas para determinadas áreas, como controle, análise de sinais, 
finanças, entre outras. Estes conjuntos de funções, ou de m-files, são 
chamados de toolbox. 
Toolboxes direcionados para diversas áreas são distribuídos pela The 
MathWorks Inc. – empresa que desenvolve o software MATLAB 
(http://www.mathworks.com) - e inúmeros outros são desenvolvidos em todo o 
mundo, com e sem reconhecimento da MathWorks, e podem geralmente ser 
encontrados na internet. 
 Um dos toolboxes desenvolvidos pela MathWorks é chamado Simulink. 
Ele é uma ferramenta interativa para desenvolvimento, simulação e análise de 
sistemas dinâmicos através da criação de modelos baseados em diagramas de 
blocos. Conjuntos de blocos podem ser usados para modelar sistemas 
específicos. Esses conjuntos de blocos são chamados Blocksets. 
 Assim como ocorre com os toolboxes, blocksets direcionados a várias 
áreas são também desenvolvidos em todo o mundo. 
 Para ilustrar a vastidão do campo de aplicação do MATLAB, abaixo 
segue uma pequena listagem de toolboxes e blocksets desenvolvidos pela 
MathWorks. 
 
Apresentação 
 
Introdução ao MATLAB 
 
9 
Aerospace Blockset 
Biblioteca que utiliza os fundamentos do SIMULINK para prover 
ferramentas especializadas para o desenvolvimento de ferramentas de 
modelagem, integração e simulação de aeronaves, naves espaciais, mísseis e 
sistemas de propulsão ou subsistemas. 
 
Bioinformatics Toolbox 
Aplicativo MATLAB que possui ferramentas especializadas para análise 
de genoma, visualização e normalização de micro vetores e análise das 
propriedades de proteínas. 
 
Communications Blockset 
Aplicativo SIMULINK composto por cerca de 150 blocos do SIMULINK 
dedicados às áreas de desenvolvimento de projeto, simulação e análise de 
sistemas de comunicação digitais e analógicos. 
 
Control System Toolbox 
Aplicativo MATLAB para área de modelagem e análise de sistemas 
automáticos de controle. Este Toolbox permite modelar, simular e analisar 
sistemas contínuos e discretos, com múltiplas entradas e múltiplas saídas 
(MIMO). 
 
Data Acquisition Toolbox 
Aplicativo MATLAB composto por funções para importação de dados 
obtidos a partir de placas de aquisição de dados. 
 
Curve Fitting Toolbox 
Aplicativo MATLAB de ajuste de curvas. Este Toolbox permite modelar, 
simular e analisar sofisticados métodos de ajuste de curvas de forma prática e 
flexível. 
 
Financial Toolbox 
Aplicativo MATLAB para área financeira (estudo de preços, cálculo de 
juros e investimentos, análise de derivativos e otimização de portifólios). 
Statistics e Optimization Toolboxes são necessários para o funcionamento do 
Financial Toolbox. 
 
Image Processing Toolbox 
Aplicativo MATLAB para área de processamento de imagens (estudo, 
tratamento e análise de sinais analógicos/digitais transformados em imagens 
gráficas). Signal Processing Toolbox é necessário para o funcionamento deste 
Toolbox. 
 
Mapping Toolbox 
Aplicativo MATLAB composto por funções para tratamento de mapas e 
informações cartográficas (por exemplo: coordenadas cartográficas, 
deformações, representações tri-dimensionais). 
 
 
Introdução ao MATLAB 
 
10 
 
 
Partial Differential Equation Toolbox 
Aplicativo MATLAB composto por funções para resolução deequações 
diferenciais parciais em espaço bidimensional utilizando método de elementos 
finitos. 
 
Statistics Toolbox 
Aplicativo MATLAB para área de estatística, incluindo além de 
ferramentas estatísticas básicas de análise de dados, recurso de modelagem e 
análise estatística de modelos lineares e não-lineares. 
 
SimMechanics 
Biblioteca de blocos do SIMULINK que possibilita a modelagem e 
simulação de sistemas mecânicos, tais como: componentes mecânicos (corpos 
e juntas), simulação de movimentos, etc. 
 
 
1.2.1. Ambiente de Trabalho 
 
Quando o MATLAB é inicializado, três janelas são exibidas: a 
Workspace, a Command History e a Janela de Comando (Command Window). 
Na aba Workspace aparecem as variáveis, seu tamanho e valor atual, as 
variáveis são arrays onde cada elemento tem 8 bytes e podem ser editadas 
utilizando o Array Editor através de um clique duplo no nome da variável. Na 
janela Command History são armazenados todos os comandos já utilizados, 
sendo que estes podem ser reescritos na Command Window apenas utilizando 
as teclas UP e DOWN do teclado, sem necessidade de serem digitados 
novamente. Por sua vez, a Janela de Comando é a parte principal do MATLAB, 
onde serão escritos os códigos, funções e demais comandos. Nessa janela, o 
"prompt" padrão (>>) é exibido na tela e, a partir deste ponto, o MATLAB 
espera as instruções do utilizador. Para introduzir uma pequena matriz, por 
exemplo, utiliza-se: 
 
 
>> A = [1 2 3; 4 5 6; 7 8 7] 
 
 
Colocam-se colchetes em torno dos dados e separam-se as linhas por 
ponto e vírgula. Quando se pressiona a tecla <enter> o MATLAB responde 
com: 
 
 
A = 
 1 2 3 
 4 5 6 
 7 8 7 
 
 
 
Introdução ao MATLAB 
 
11 
Para inverter esta matriz, utiliza-se: 
 
>> B = inv(A) 
B = 
 
 -2.1667 1.6667 -0.5000 
 2.3333 -2.3333 1.0000 
 -0.5000 1.0000 -0.5000 
 
 
1.2.2. Editor de Linhas de Comando 
 
As teclas UP e DOWN podem ser usadas para se encontrar comandos 
usados anteriormente, para nova execução ou reedição. No caso de pretender 
efetuar o cálculo de: 
 














5
tanlog pi 
Introduz-se na janela de comando: 
 
>> log (sqt(tan(pi/5))) 
 
Como para calcular a raiz quadrada o comando certo é sqrt, o MATLAB 
responde com uma mensagem de erro: 
 
??? Undefined function or variable sqt. 
 
O comando com a resposta apropriada seria: 
 
>> log (sqrt(tan(pi/5))) 
 
ans= 
 -0.1597 
 
NOTA: Todas as funções que façam uso de um argumento em ângulo são 
calculadas com o dito argumento expresso em radianos. 
 
O Matlab possui diversas variáveis predefinidas, incluindo pi, Inf, NaN, i 
e j. Três exemplos são mostrados abaixo: 
 
>> z = 3 + 4*i 
 
z = 
 3.0000 + 4.0000i 
 
>> Inf 
ans = 
 Inf 
 
>> 0/0 
 
Introdução ao MATLAB 
 
12 
Warning: Divide by zero. 
ans = 
 NaN 
 
O termo NaN significa, em inglês, Not-a-Number (símbolo de 
indeterminação) e resulta de operações de valor indeterminado. Inf representa 
+∞ e pi representa π. A variável 1−=i é usada para representar números 
complexos. A variável 1−=j pode ser usada em vez de i nas operações 
aritméticas com números complexos por aqueles que a preferem. Estas 
variáveis predefinidas podem ser inadvertidamente redefinidas. É claro que 
elas podem ser redefinidas intencionalmente a fim de liberar o nome da 
variável para outros usos. Por exemplo, pode-se querer usar i como inteiro e 
reservar j para a aritmética com números complexos. Seja cauteloso e deixe 
estes nomes de variáveis predefinidas intocados, pois há uma infinidade de 
nomes alternativos que podem ser usados. As variáveis predefinidas podem 
ser realocadas aos seus valores default usando o comando clear 
nome_da_variável (por exemplo, clear pi). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Introdução ao MATLAB 
 
13 
 
 
2. Introdução 
O MATLAB trabalha essencialmente com um tipo de objeto: uma matriz 
numérica retangular podendo conter elementos complexos. Observa-se que um 
escalar é uma matriz de dimensão 1x1 e que um vetor é uma matriz que possui 
somente uma linha ou uma coluna. 
 
2.1. Introdução a Matrizes Simples 
 
As matrizes podem ser introduzidas no MATLAB de diferentes modos: 
- Introduzida na Janela de Comando (lista explícita de elementos). 
- Geradas por comandos e funções. 
- Criadas em arquivos ".m". 
- Carregadas a partir de um arquivo de dados externo. 
 
O método mais fácil de introduzir pequenas matrizes no MATLAB é 
utilizando uma lista explícita. Os elementos de cada linha da matriz são 
separados por espaços em branco ou vírgulas e as colunas separadas por 
ponto e vírgula, colocando-se colchetes em volta do grupo de elementos que 
formam a matriz com o objetivo de limitá-la. Por exemplo, introduzindo-se a 
expressão: 
 
>> A=[1 2 3; 4 5 6; 7 8 7] 
A = 
 1 2 3 
 4 5 6 
 7 8 7 
 
A matriz A é guardada na memória RAM do computador, ficando 
armazenada para uso posterior. 
As matrizes podem, também, ser introduzidas linha a linha, o que é 
indicado para matrizes de grande dimensão. Por exemplo: 
 
A= 
 [1 2 3 
 4 5 6 
 7 8 7] 
 
Outra maneira para introduzir matrizes no MATLAB é através de um 
arquivo no formato texto com extensão ".m". Por exemplo, se um arquivo 
chamado "matriz.m" contiver estas três linhas de texto: 
 
A= 
 [1 2 3 
 4 5 6 
 7 8 7] 
 
Introdução 
 
Introdução ao MATLAB 
 
14 
Então a expressão "matriz" lerá o arquivo e introduzirá a matriz A. 
 
>>matriz 
 
O comando load pode ler matrizes geradas pelo MATLAB e 
armazenadas em arquivos binários ou matrizes geradas por outros programas 
armazenadas em arquivos ASCII. Assim, para ler um arquivo .mat chamado 
matriz.mat segue-se a seguinte estrutura: load matriz.mat, e as variáveis 
salvas no arquivo binário matriz.mat serão carregadas na Workspace. 
 
NOTA: Em todos os exemplos, m e n são inteiros positivos. 
 
Para especificar um único elemento da matriz utilizam-se os índices 
referentes ao número de linha e número de coluna entre parênteses da matriz 
onde se encontra o elemento: A(m,n). 
 
Outra forma de gerar matrizes é através de ciclos for. Por exemplo, para 
gerar uma matriz M com i linhas e j colunas, a seguinte estrutura pode ser 
utilizada: 
 
 
>> for i = 1:3, 
for j = 1:3, 
M(i,j) = i+j; 
end 
 end 
 
 
E obtemos como resultado a matriz: 
 
>> M 
 
M = 
 2 3 4 
 3 4 5 
 4 5 6 
 
OBS: o índice das matrizes começa em 1, não em 0. 
 
 
2.2. Elementos de Matrizes 
 
Os elementos das matrizes podem ser quaisquer expressões do 
MATLAB. Por exemplo: 
 
 
>> x = [-1.3 sqrt(2) ((1+2+3)*4/5)^2] 
x = 
 -1.3000 1.4142 23.0400 
 
 
Introdução ao MATLAB 
 
15 
 
Um elemento individual da matriz pode ser referenciado com índice entre 
parênteses. Continuando o exemplo: 
 
 
>> x(6) = abs(x(1)) 
x = 
 -1.3000 1.4142 23.0400 0 0 1.3000 
 
 
Nota-se que a dimensão do vetor x é aumentada automaticamente de 
1x3 para 1x6 de modo a acomodar o novo elemento, e que os elementos 
indefinidos do intervalo são estabelecidos como zero. 
Matrizes de maior dimensão podem ser construídas a partir de pequenas 
matrizes. Por exemplo, pode-se anexar outra linha à matriz A usando: 
 
 
>> r= [ 10 11 12]; 
>> A= [A;r]A = 
 1 2 3 
 4 5 6 
 7 8 7 
 10 11 12 
 
 
Nota-se que o vetor r não foi listado porque ao seu final foi acrescentado 
";". 
Podem ser extraídas matrizes pequenas da matriz original utilizando “:”. 
Por exemplo: 
 
>> A = A(1:3,:) 
A = 
 
 1 2 3 
 4 5 6 
 7 8 7 
 
Seleciona da linha 1 até a linha 3 e todas as colunas da matriz A atual. 
 
 
2.3. Decaração de Variáveis 
 
 
O MATLAB é uma linguagem de expressões. As expressões usadas são 
interpretadas e avaliadas pelo sistema. As declarações no MATLAB são 
freqüentemente da forma: 
 
>> variável = expressão 
 
 
Introdução ao MATLAB 
 
16 
Ou simplesmente: 
 
>> expressão 
 
As expressões são compostas de operadores e outros caracteres 
especiais, de funções e dos nomes das variáveis. As avaliações das 
expressões produzem matrizes, que são então mostradas na tela e atribuídas 
às variáveis para uso futuro. Se o nome da variável e o sinal de igualdade "=" 
são omitidos, a variável com o nome ans, que representa a palavra "answer" 
(resposta), é automaticamente criada. Por exemplo, introduzindo a expressão: 
 
>> 1900/81 
ans= 
 23.4568 
 
Se o último caractere da declaração é um ponto e vírgula, ";", a 
impressão na tela é suprimida, mas a tarefa é realizada. Esse procedimento é 
usado em arquivos com extensão ".m" e em situações onde o resultado é uma 
matriz de grandes dimensões e há interesse em apenas alguns dos seus 
elementos. 
Se a expressão é tão grande que não cabe em apenas uma linha, pode-
se continuar a expressão na próxima linha usando um espaço em branco e três 
pontos," ...", ao final das linhas incompletas. Por exemplo: 
 
>> s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 ... 
- 1/8 + 1/9 - 1/10 + 1/11 - 1/12 + 1/13; 
 
Calcula o resultado da série, atribuindo o somatório à variável s, mas 
não imprime o resultado na tela. 
As variáveis e funções podem ser formadas por um conjunto de letras, 
ou por um conjunto de letras e números, onde somente os primeiros 19 
caracteres do conjunto são identificados. O MATLAB faz distinção entre letras 
maiúsculas e minúsculas, assim a e A não são as mesmas variáveis. Todas as 
funções devem ser escritas em letras minúsculas: inv(A) calcula a inversa de 
A, mas INV(A) é uma função indefinida. 
 
 
2.4. Informações sobre a Área de Trabalho 
 
Os exemplos de declarações mostrados nos itens acima criaram 
variáveis que são armazenadas na Área de Trabalho do MATLAB. Executando: 
 
>> who 
 
Obtém-se uma lista das variáveis armazenadas na Área de Trabalho: 
 
Your variables are: 
 
 
Introdução ao MATLAB 
 
17 
A B ans r s x 
 
que mostra as seis variáveis geradas nos exemplos, incluindo ans. 
Observe que o comando who está em letras minúsculas. Todo 
comando no MATLAB deve ser inserido dessa forma. 
Uma informação mais detalhada que indica a dimensão de cada uma 
das variáveis correntes é obtida com whos, que para o exemplo produz: 
 
>> whos 
 Name Size Bytes Class 
 
 A 4x3 96 double array 
 B 3x3 72 double array 
 ans 3x3 72 double array 
 r 1x3 24 double array 
 s 1x1 8 double array 
 x 1x3 24 double array 
 
Grand total is 37 elements using 296 bytes 
 
 
Cada elemento de uma matriz real requer 8 bytes de memória, assim a 
matriz A de dimensão 4x3 faz uso de 96 bytes e todas as variáveis utilizadas 
um total de 296 bytes. 
 
 
2.5. Números e Expressões Aritméticas 
 
A notação decimal convencional, com ponto decimal opcional e o sinal 
negativo, é usada para números. A potência de dez pode ser incluída como um 
sufixo. A seguir são mostrados alguns exemplos de números aceitos: 
 
3 -99 0.00001 
9.637458638 1.602E-20 6.06375e23 
 
As expressões podem ser construídas através dos operadores 
aritméticos usuais e das regras de precedência: 
 
1 ^ Potenciação 
2 / Divisão à direita 
2 \ Divisão à 
esquerda 
3 * Multiplicação 
4 + Adição 
4 - Subtração 
 
Deve-se notar que existem dois símbolos para divisão: as expressões 
1/4 e 4\1 possuem o mesmo valor numérico, isto é, 0.25. 
 
Introdução ao MATLAB 
 
18 
São usados parênteses na sua forma padrão para alterar a procedência 
usual dos operadores aritméticos. 
 
 
2.6. Números e Matrizes Complexas 
 
Os Números Complexos são permitidos em todas as operações e 
funções no MATLAB. Os números complexos são introduzidos utilizando as 
funções especiais i ou j que correspondem à parte imaginária de um número 
complexo. Por exemplo: 
 
>> z= 3 + 4*i 
 
ou 
 
>> z= 3 +4*j 
 
Sabendo que um número complexo é constituído por uma parte real {Re} 
e por uma parte imaginária {Im}, tal que: 
 
z = {Re} + {Im}*i 
 
ele pode ser expresso na forma: 
 
>> z= r*exp(i*theta) 
 
em que : 
 
>> r = abs(z) 
>> theta = angle(z)*180/pi 
 
As seguintes declarações mostram dois caminhos convenientes para se 
introduzir matrizes complexas no MATLAB: 
 
>> A= [1 2; 3 4]+i*[5 6;7 8] 
 
ou 
 
>> A= [1+5*i 2+6*i; 3+7*i 4+8*i] 
 
Ambas produzem o mesmo resultado. 
 Se quisermos determinar a parte real da matriz A usamos a função 
real(A), já a parte imaginária pode ser visualizada com a função imag(A) como 
pode ser visualizado abaixo: 
 
>> real(A) 
ans = 
 
 
Introdução ao MATLAB 
 
19 
 1 2 
 3 4 
 
>> imag(A) 
ans = 
 
 5 6 
 7 8 
 
 
2.7. Formatação de Saída 
 
O formato numérico exibido na tela pode ser modificado utilizando o 
comando format, que afeta somente o modo como as matrizes são mostradas, 
e não como elas são calculadas ou guardadas (o MATLAB efetua todas as 
operações em dupla precisão). 
Se todos os elementos da matriz são inteiros exatos, a matriz é 
mostrada num formato sem qualquer ponto decimal. Por exemplo: 
 
>> x = [-1 0 1] 
x = 
 -1 0 1 
 
Se pelo menos um dos elementos da matriz não é inteiro exato, existem 
várias possibilidades de formatar a saída. O formato padrão, chamado de 
formato short, mostra aproximadamente 5 dígitos significativos ou usam 
notação científica. Para modificar o formato da saída, devemos inserir o 
comando format. A tabela abaixo mostra os principais formatos: 
 
 
 
 
 
 
 
 
 
 
 
Com o formato short e long, se o maior elemento da matriz é superior a 
1000 ou inferior a 0.001, é aplicado um fator de escala comum para que a 
matriz completa seja mostrada. Por exemplo: 
 
>> X = 1e20*x 
X = 
 
 1.0e+020 * 
 1.3333 0 0.0000 
 
short 5 dígitos significativos 
short e 5 dígitos significativos em notação científica 
long 15 dígitos significativos 
long e 15 dígitos significativos em notação científica 
hex em sistema hexadecimal 
rat em formato de número racional 
bank duas casas após a vírgula 
+ Mostra o sinal do número sem o seu valor, a 
parte imaginária do número é ignorada 
 
Introdução ao MATLAB 
 
20 
Com o comando format + os símbolos "+", "-", e "espaço em branco" 
são mostrados, respectivamente para representar elementos positivos, 
elementos negativos e zeros. 
 
2.8. Utilização do Help (Ajuda) 
 
O MATLAB possui um comando de ajuda: help, que fornece 
informações sobre a maior parte dos tópicos: 
 
>> help 
 
Para obter informações sobre um tópico específico, referir help tópico. 
Por exemplo, 
 
>> help plot 
fornece uma lista de todos os comandos relacionados com gráficos 
bidimensionais. A mesmasintaxe é usada para obter informações sobre um 
comando específico. 
 
2.9. Funções 
 
As potencialidades do MATLAB residem no seu extenso conjunto de 
funções. O MATLAB possui um grande número de funções intrínsecas que não 
podem ser alteradas pelo utilizador. Outras funções estão disponíveis numa 
biblioteca externa distribuída com o programa original (MATLAB TOOLBOX), 
que são na realidade arquivos com a extensão ".m" criados a partir das 
funções intrínsecas. As categorias gerais de funções matemáticas disponíveis 
no MATLAB incluem: 
- Matemática elementar; 
- Funções especiais; 
- Matrizes elementares; 
- Matrizes especiais; 
- Decomposição e fatoração de matrizes; 
- Análise de dados; 
- Polinômios; 
- Solução de equações diferenciais; 
- Equações não-lineares e otimização; 
- Integração numérica; 
- Processamento de sinais; 
- Entre outras 
 
 
As seções subseqüentes mostram mais detalhadamente as diferentes 
categorias de funções. 
Qualquer informação adicional sobre os conteúdos das diversas 
categorias poderá ser encontrado no respectivo help. 
 
Introdução ao MATLAB 
 
21 
 
 
3. Manipulação de Matrizes e Vetores 
 
3.1 . Operações com Matrizes 
 
O MATLAB possui dois tipos diferentes de operações aritméticas. As 
operações aritméticas matriciais são definidas pelas regras da Álgebra Linear. 
As operações aritméticas com arrays (conjuntos) são efetuadas elemento por 
elemento. O caractere de ponto decimal “.” distingue as operações matriciais 
das operações com arrays. No entanto, como as operações matriciais e com 
arrays são iguais para a soma e para a subtração, o par de caracteres “.+” e “.-“ 
não é usado para estas. 
As operações com matrizes no MATLAB são as seguintes: 
- Transposta; 
- Adição; 
- Subtração; 
- Multiplicação; 
- Divisão à direita; 
- Divisão à esquerda; 
- Potenciação; 
 
A seguir cada uma destas operações é apresentada com maior detalhe. 
 
3.1.1 Transposta 
 
O caractere apóstrofo ( ' ) indica a transposta de uma matriz, por 
exemplo: 
 
>> B = A' % A variável B recebe a matriz transposta de A 
 
 
Se Z for uma matriz complexa, Z’ será a matriz conjugada complexa 
transposta. 
 
 
 
 
Para obter simplesmente a transposta de Z deve-se usar Z.’, como 
mostra o exemplo: 
>>Z = [1 2; 3 4] + [5 6; 7 8]*i 
Z = 
 1.0000+ 5.0000i 2.0000+ 6.0000i 
 3.0000+ 7.0000i 4.0000+ 8.0000i 
>>Z1 = Z' 
Z1 = 
 1.0000- 5.0000i 3.0000- 7.0000i 
 2.0000- 6.0000i 4.0000- 8.0000i 
 
Manipulação de matrizes e vetores 
 
Introdução ao MATLAB 
 
22 
 
 
 
Caso desejar apenas a matriz complexa conjugada de Z deve-se usar 
Z.’’ 
 
 
>> Z3=Z.'' 
Z3 = 
 1.0000 - 5.0000i 2.0000 - 6.0000i 
 3.0000 - 7.0000i 4.0000 - 8.0000i 
 
 
 
3.1.2 Adição e Subtração 
 
A adição e a subtração de matrizes são indicadas, respectivamente, por 
"+" e "-". As operações são definidas somente se as matrizes possuírem as 
mesmas dimensões. 
A adição e a subtração também são definidas se um dos operadores for 
um escalar, ou seja, uma matriz 1x1. Neste caso, o escalar é adicionado ou 
subtraído de todos os elementos do outro operador. Por exemplo: 
 
>> y = [1 2; 3 8] - 1 
y = 
 0 1 
 2 7 
 
3.1.3 Multiplicação 
 
A multiplicação de matrizes é indicada por "*". A multiplicação x*y é 
definida somente se a segunda dimensão de x for igual à primeira dimensão de 
y. 
Naturalmente, um escalar pode multiplicar ou ser multiplicado por 
qualquer matriz. Por exemplo: 
 
>> x=[-1; 0; 2]; 
>> pi*x 
ans= 
 -3.1416 
 0 
 6.2832 
 
Se os tamanhos das matrizes forem incompatíveis para a operação 
matricial, será gerada uma mensagem de erro, com exceção do caso de 
operações entre escalares e matrizes (para adição, subtração, divisão e 
multiplicação). 
 
3.1.4 Divisão 
>>Z2 = Z.' 
Z2 = 
 1.0000+ 5.0000i 3.0000+ 7.0000i 
 2.0000+ 6.0000i 4.0000+ 8.0000i 
 
Introdução ao MATLAB 
 
23 
 
A divisão de matrizes requer especial atenção, pois existem dois 
símbolos para divisão de matrizes no MATLAB "\" e "/". Se A for uma matriz 
inversível quadrada e b for um vetor coluna (ou linha) compatível, então A\b e 
b/A corresponderão respectivamente à multiplicação à esquerda e à direita da 
matriz b pela inversa da matriz A, ou inv(A)*b e b*inv(A), mas o resultado é 
obtido diretamente: 
 
X = A\b é a solução de A*X = b 
X = b/A é a solução de X*A = b 
 
Deve-se ter o cuidado de observar as dimensões das matrizes que estão 
envolvidas na operação, o número de colunas de A deve ser igual ao número 
de linhas de b (em A\b), já em b/A o número de linhas de A deve ser igual ao 
número de colunas de b (em A\b). A divisão à direita é definida em termos da 
divisão à esquerda por: 
b/A = (A'\b) 
 
3.1.5 Potenciação 
 
A expressão A^p eleva A à p-ésima potência e é definida se A é matriz 
quadrada e p um escalar. Se p é um inteiro maior do que um, a potenciação é 
calculada como múltiplas multiplicações. 
Se A é uma matriz e a é um escalar, a^A calcula o escalar elevado à 
matriz A fazendo uso dos autovalores e autovetores. 
NOTA: X^A, sendo X e A matrizes, apresenta erro. 
 
3.2 Operações Elemento a Elemento (Conjuntos) 
 
O termo operações com conjuntos é utilizado quando as operações 
aritméticas são realizadas entre os elementos que ocupam as mesmas 
posições em cada matriz (elemento por elemento). As operações com 
conjuntos são efetuadas como as operações usuais, utilizando-se os mesmos 
caracteres ("*", "/", "\", "^" e " ‘ ") precedidos por um ponto "." (".*", "./", ".\", ".^" 
e " .‘ "). 
 
3.2.1 Adição e Subtração 
 
Para a adição e a subtração, as operações com conjuntos e as 
operações com matrizes são iguais. Deste modo os caracteres "+" e "-" são 
empregados do mesmo modo e considerando as mesmas restrições de 
utilização. 
 
 
 
 
 
3.2.2 Multiplicação e Divisão 
 
Introdução ao MATLAB 
 
24 
 
A multiplicação de conjuntos é indicada por ".*". Se A e B são matrizes 
com as mesmas dimensões, então A.*B indica um conjunto cujos elementos 
são simplesmente o produto dos elementos individuais de A e B. 
As expressões A./B e A.\B formam um conjunto cujos elementos são 
simplesmente os quocientes dos elementos individuais de A e B. Assim: 
 
>> a=[1 2 3]; 
>> b=[2 4 6]; 
>> x=a./b >> x=b./a 
x = x = 
 0.5000 0.5000 0.5000 2 2 2 
 
3.2.3 Potenciação 
 
A potenciação de conjuntos é indicada por ".^". A seguir são mostrados 
alguns exemplos utilizando os vetores x e y. A expressão: 
A potenciação pode usar um escalar: 
 
>> x=[1 2 3]; 
>> a=x.^3 
a = 
 1 8 27 
 
 
Ou a base pode ser um escalar: 
 
>> 2.^x 
ans = 
1 4 8 
 
 3.3. Matrizes Elementares 
 
Além das já descritas, o MATLAB dispõe de diversas funções que 
permitem a rápida elaboração de matrizes padrão, dentre elas: 
 
3.3.1 Geração de Vetores 
 
O caractere dois pontos, ":", permite a geração de vetores no MATLAB. 
A declaração: 
 
>> x = 1 : 5 
 
Gera um vetor linha contendo os números de 1 a 5 com incremento 
unitário. Produzindo: 
 
x = 
 1 2 3 4 5 
 
Outros incrementos, diferentes da unidade podem ser utilizados, como 
seja o caso do seguinte exemplo que impõe um incremento de pi/4. 
 
Introdução ao MATLAB 
 
25 
 
>> y = 0 : pi/4 : pi 
y = 
 0 0.7854 1.5708 2.3562 3.1416 
 
 Também são possíveis incrementos decrescentes (negativos). 
Pode-se, também, gerar vetores linearmenteespaçados fazendo uso da 
função linspace. Por exemplo, 
 
>> k = linspace (0, 1, 6) 
k = 
 0 0.2000 0.4000 0.6000 0.8000 1.0000 
 
Cria um vetor linearmente espaçado de 0 a 1, contendo 6 elementos. 
Ao pretender-se um espaçamento logarítmico desde o valor inicial 10x1 
até ao valor final 10x2 do vetor composto por k elementos, a função a utilizar 
será: 
 
>> logspace (x1 , x2 , k) 
 
A exceção para essa função é quando x2 = π. Caso isso ocorra, os k 
pontos estarão espaçados desde 10x1 até π. 
 
 
3.3.2 . Matriz Identidade 
 
De modo a construir uma matriz identidade (quadrada ou com dimensão 
n x m, a função a utilizar é dada por): 
 
>> eye(m,n) 
 
 
3.3.3 Matriz Composta por Elementos Unitários 
 
No caso de ser necessário a obtenção de uma matriz composta apenas 
por elementos unitários, temos que: 
 
>> ones(m,n) 
 
 
3.3.4 Matriz Nula 
 
Para efetuar qualquer tipo de manipulação matricial, poderá ser útil a 
construção de uma matriz composta por elementos nulos: 
 
>> zeros(n,m) 
 
 
 
 
 
3.3.5 Matriz Aleatória 
 
 
Introdução ao MATLAB 
 
26 
A elaboração de testes a qualquer programa desenvolvido no MATLAB, 
ou para utilização de um outro qualquer modo, poderá fazer uso de matrizes 
compostas por números aleatórios uniformemente distribuídos no intervalo 
entre 0 e 1. A função que realiza esta operação é: 
 
>> rand(m,n) 
 
onde m representa o número de linhas e n o número de colunas da matriz 
desejada. 
No caso de se pretender uma distribuição normal dos números 
aleatórios, com média zero, variância um e devio padrão um, a função a ser 
utilizada será: 
 
>> randn(m,n) 
 
 
Cabe salientar que em uma distribuição normal, 68% dos valores estão 
compreendidos entre –1 e 1. 
O comando magic(n) cria uma matriz quadrada integral de dimensões n 
x n (linhas e colunas têm a mesma soma). 
 
>>x=magic(4) 
 
 
 
3.4 Elementos de Matrizes 
 
Um elemento individual da matriz pode ser indicado incluindo os seus 
subscritos entre parênteses. Por exemplo, dada a matriz A: 
 
 
A = 
 1 2 3 
 4 5 6 
 7 8 9 
 
 
A declaração: 
 
 
>> A(3,3) = A(1,3) + A(3,1) 
A = 
 1 2 3 
 4 5 6 
 7 8 10 
 
 
Um subscrito pode ser um vetor. Se X e V são vetores, então X(V) é 
[X(V(1)), X(V(2)), .... X(V(n))]. Para as matrizes, os subscritos vetores permitem 
o acesso às submatrizes contínuas e descontínuas. Por exemplo, suponha que 
A é uma matriz 10x10. 
 
 
Introdução ao MATLAB 
 
27 
A = 
 1 2 3 4 5 6 7 8 9 10 
 11 12 13 14 15 16 17 18 19 20 
 21 22 23 24 25 26 27 28 29 30 
 31 32 33 34 35 36 37 38 39 40 
 41 42 43 44 45 46 47 48 49 50 
 51 52 53 54 55 56 57 58 59 60 
 61 62 63 64 65 66 67 68 69 70 
 71 72 73 74 75 76 77 78 79 80 
 81 82 83 84 85 86 87 88 89 90 
 91 92 93 94 95 96 97 98 99 100 
 
>> A(1:5,7:10) 
ans = 
 7 8 9 10 
 17 18 19 20 
 27 28 29 30 
 37 38 39 40 
 47 48 49 50 
 
É uma submatriz 5x4 que consiste nas primeiras cinco linhas e nas 
últimas quatro colunas. 
Utilizando os dois pontos no lugar de um subscrito denota-se todos 
elementos da linha ou coluna. Por exemplo, 
 
>> A(1:2:5,:) 
ans = 
 1 2 3 4 5 6 7 8 9 10 
 21 22 23 24 25 26 27 28 29 30 
 41 42 43 44 45 46 47 48 49 50 
 
 
É uma submatriz 3x10 que consiste da primeira, terceira e quinta linhas 
e todas colunas da matriz A. 
 
 
3.5 Manipulação de Matrizes 
 
 
Do mesmo modo, estão implementadas no código diversas funções que 
permitem a manipulação e construção de matrizes genéricas. 
 
 
3.5.1 Matriz Diagonal ou Diagonal de uma Matriz 
 
 
Se x for um vetor, diag(x) será a matriz diagonal com x na diagonal; 
 
 
>> x=[1 2 3 1 -1 4]; 
>> diag(x) 
ans = 
 1 0 0 0 0 0 
 
Introdução ao MATLAB 
 
28 
 0 2 0 0 0 0 
 0 0 3 0 0 0 
 0 0 0 1 0 0 
 0 0 0 0 -1 0 
 0 0 0 0 0 4 
 
Se A for uma matriz quadrada, então diag(A) será um vetor cujos 
componentes são os elementos da diagonal de A. 
 
>> A=[3 11 5; 4 1 -3; 6 2 1] 
A = 
 3 11 5 
 4 1 -3 
 6 2 1 
>> diag(A) 
ans = 
 3 
 2 
 1 
 
3.5.2 Matrizes Triangulares 
 
O código possui duas funções que permitem a extração das matrizes 
triangular superior e triangular inferior de uma matriz quadrada. São elas, 
respectivamente: 
 
triu(A); 
tril(A); 
 
3.5.3 Redimensionamento de Matrizes 
 
Dada a matriz A composta por m linhas e n colunas A(m,n); poderá ser 
redimensionada, através do comando reshape (A,n,m), desde que o produto 
de mxn se mantenha constante. 
 
>>A(m,n) 
>> B = reshape(A,n,m) 
>> A=[1 2 3; 4 5 6] 
A = 
 1 2 3 
 4 5 6 
>> B=reshape(A,3,2) 
B = 
 1 5 
 4 3 
 2 6 
 
 
 
3.5.4 Rotação dos Elementos da Matriz 
 
 
Introdução ao MATLAB 
 
29 
Os elementos da matriz A poderão ser rodados 90º no sentido anti-
horário (ou rodados k*90º) através do uso da função: 
 
>>rot90(A,k) 
A = 
 1 2 3 
 4 5 6 
 >> rot90(A,1) 
ans = 
 3 6 
 2 5 
 1 4 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4. Funções 
Funções 
 
Introdução ao MATLAB 
 
30 
 
4.1 Funções Escalares 
 
 Algumas funções no MATLAB operam essencialmente sobre escalares, 
mas operam sobre cada elemento se aplicadas a uma matriz. As funções 
escalares mais comuns são: 
 
Exp Exponencial; 
Abs Valor absoluto; 
Log Logaritmo natural; 
Log10 Logaritmo base 10; 
sqrt Raiz quadrada; 
sin Seno; 
asin Arco seno; 
cos Coseno; 
acos Arco Coseno; 
tan Tangente; 
atan Arco Tangente; 
round Arredondamento ao inteiro mais próximo; 
floor Arredondamento ao inteiro mais próximo na 
direção de menos infinito; 
ceil Arredondamento ao inteiro mais próximo na 
direção de mais infinito; 
rem Resto da divisão; 
sign Para cada elemento de x, sign(x) retorna 1 se o 
elemento é maior que zero, 0 se é igual a zero 
e 
-1 se ele é menor que zero 
 
4.2. Funções Vetoriais 
 
Opera com elementos de colunas desejadas, caso seja desejado operar 
com linhas ao invés de colunas deve-se transpor a matriz e então operá-la com 
a sua coluna que antes era sua linha. Abaixo estão alguns exemplos de 
funções: 
 
 
 
Introdução ao MATLAB 
 
31 
 
 
4.3 Funções Matriciais 
 
 
 Uma boa aplicação do MATLAB é suas funções matriciais. Dentre as 
mais usadas estão essas: 
 
 
eig Valores próprios e vetores próprios; 
chol Fatorização de Cholesky; 
Svd Decomposição em fator singular; 
inv Inversa; 
lu Fatorização triangular LU; 
qr Fatorização ortogonal QR; 
hess Forma de Hessenberg; 
schur Decomposição de Schur; 
expm Matriz Exponencial; 
sqrtm Matriz de raiz quadrada; 
poly Polinômio característico; 
det Determinante; 
size Tamanho; 
norm Norma 1, Norma 2, Norma F, Norma 
Infinita; 
cond Número de condição na norma 2; 
rank Número de linhas linearmente 
independentes. 
 
 
Vamos dar um exemplo parailustrar algumas funções: 
 
max Valor máximo dos elementos de cada 
coluna; 
sum Soma dos elementos de cada coluna; 
Median Valor mediano dos elementos de cada 
coluna; 
any Devolve 1 se qualquer elemento da coluna 
for diferente de 0; 
min Valor mínimo dos elementos de cada 
coluna; 
prod Produto dos elementos de cada coluna; 
all Devolve 1 se todos os elementos de cada 
coluna forem diferentes de 0; 
sort Organização dos elementos da coluna por 
ordem decrescente de valor; 
Std Desvio padrão dos elementos de cada 
coluna. 
 
Introdução ao MATLAB 
 
32 
» P=[1 0 0; 0 2 2; 2 3 1] 
P = 
 1 0 0 
 0 2 2 
 2 3 1 
 
» inv(P) 
ans = 
 1.0000 0 0 
 -1.0000 -0.2500 0.5000 
 1.0000 0.7500 -0.5000 
 
» poly(P) 
ans = 
 1 -4 -1 4 
 
» size(P) 
 
ans = 
 3 3 
 
» det(P) 
ans = 
 -4 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5. Polinômios 
 
Polinômios 
 
Introdução ao MATLAB 
 
33 
Embora o MATLAB não permita trabalhar diretamente com polinômios, 
dispõe de um conjunto de funções dedicadas à sua manipulação. 
Os polinômios são representados no MATLAB por vetores linhas que 
contêm os coeficientes das sucessivas potências do polinômio ordenados por 
ordem significativa decrescente. Vamos ilustrar com um exemplo: 
 
» p = [1 -6 -72 -27] 
p = 
 1 -6 -72 -27 
» x=roots(p) 
x = 
 12.1229 
 -5.7345 
 -0.3884 
» p=poly(x) 
p = 
 1.0000 -6.0000 -72.0000 -27.0000 
 
No exemplo acima definimos um polinômio qualquer p sendo (p = s³ - 
6s² -72s -27) a seguir calculamos suas raízes através do comando roots e na 
seqüência pegamos os resultados das raízes e aplicamos a função poly 
chegando novamente no polinômio inicial p. 
É válido relembrar de uma importante observação caso o nosso 
polinômio inicial tivesse um coeficiente diferente de 1 para o maior grau (s³) 
quando aplicássemos a função poly sobre as raízes o novo polinômio seria 
com coeficiente 1 para o maior grau, o que não mudaria nada pois é uma 
equação em que um lado tem um polinômio p e de outro zero, logo podemos 
multiplicar ambos os lados por qualquer variável. 
 
x²+2x+4=0 ax²+2ax+4a=0a ax²+2ax+4a=0 
 
Além das duas operações já citadas há ainda as básicas, soma, 
subtração, multiplicação e divisão. Soma e subtração faz-se normalmente sem 
maiores problemas, para multiplicação usa-se conv e para a divisão deconv. 
Exemplo: 
 
» p=[3 2 1] {definindo um primeiro polinômio} 
p = 
 3 2 1 
» q=[4 3 1] { definindo um segundo polinômio } 
q = 
 4 3 1 
» M=conv(p,q) {efetuando a multiplicação entre os dois polinômios} 
M = 
 12 17 13 5 1 
» [d,r]=deconv(M,q) {vamos dividir a multiplicação feita 
anteriormente, por o polinômio q e isto deverá resultar no polinômio 
p, a variável r corresponde ao resto que nesse caso, será 0} 
 
d = 
 3 2 1 
r = 
 0 0 0 0 0 
 
 
 
Introdução ao MATLAB 
 
34 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6. Gráficos 
 
A construção de gráficos no MATLAB é mais uma das potencialidades do 
sistema. Através de comandos simples pode-se obter gráficos bidimensionais 
ou tridimensionais com qualquer tipo de escala e coordenada. No MATLAB 
existe uma vasta biblioteca de comandos gráficos. 
 
Gráficos 
 
Introdução ao MATLAB 
 
35 
6.1 – Gráficos X-Y 
 
Comandos de geração de gráficos bidimensionais: 
 
plot Gráfico linear. 
loglog Gráfico em escala logarítmica. 
semilogx Gráfico em escala semi-logarítmica (eixo x). 
semilogy Gráfico em escala semi-logarítmica (eixo y). 
fill Desenhar polígono 2D. 
polar Gráfico em coordenadas polar. 
bar Gráfico de barras. 
stem Gráfico de seqüência discreta. 
stairs Gráfico em degrau. 
errorbar Gráfico do erro. 
hist Histograma. 
rose Histograma em ângulo. 
compass Gráfico em forma de bússola. 
feather Gráfico em forma de pena. 
fplot Gráfico da função. 
comet Gráfico com trajetória de cometa. 
 
 
Se Y é um vetor, plot(Y) produz um gráfico linear dos elementos de Y 
versus o índice dos elementos de Y. Por exemplo, para exibir os números [0.0, 
0.48, 0.84, 1.0, 0.91, 0.6, 0,14], basta introduzir o vetor e executar o comando 
plot: 
 
>> Y = [0.0, 0.48, 0.84, 1.0, 0.91, 0.6, 0.14]; 
>> plot(Y) 
 
O MATLAB pode também exibir múltiplas linhas em apenas um gráfico. 
Existem duas maneiras, a primeira resulta no uso de 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) exibe sucessivamente as 
linhas ou colunas de Y versus o vetor X. 
- Se X é uma matriz e Y é um vetor, plot(X,Y) exibe sucessivamente as 
linhas ou colunas de X versus o vetor Y. 
- Se X e Y são matrizes com mesma dimensão, plot(X,Y) exibe 
sucessivamente as colunas de X versus as colunas de Y. 
- Se Y é uma matriz, plot(Y) exibe sucessivamente as colunas de Y 
versus o índice de cada elemento da linha de Y. 
O segundo método (e mais fácil) de exibir gráficos com múltiplas linhas 
faz uso do comando plot com múltiplos argumentos. Exploremo-lo em um 
exemplo mais detalhado. 
Primeiramente, preparemos os dados, escolhendo o domínio e as 
funções a serem mostradas: 
 
>> x = 0:0.3:30; 
 
Introdução ao MATLAB 
 
36 
>> y1 = exp(-.01*x).*sin(x); 
>> y2 = exp(-.05*x).*sin(.7*x); 
>> y3 = exp(-.1*x).*sin(.5*x); 
 
Escolhamos uma janela para traçar o gráfico: 
 
>> figure(1) 
 
O comando figure abre uma janela gráfica intitulada “Figure No.1”. Este 
comando é opcional; se não for utilizado, o MATLAB abrirá uma janela gráfica 
padrão. Agora utilizaremos a função plot para plotar os três gráficos na mesma 
janela: 
 
>> h = plot(x,y1,’b+:’,x,y2,’ro-‘,x,y3,’gx-.’); 
 
O terceiro, o sexto e o nono argumento representam a seqüência de 
propriedades: cor, ponto e traço. Em ‘ro-.‘ temos uma linha vermelha com cada 
ponto representado por um círculo e o espaço entre ele preenchido por ponto-
e-traço. 
Observa-se que ‘h’ é uma referência ao gráfico plotado (neste caso, ‘h’ é 
um vetor de referências). Através do comando set, após os gráficos terem sido 
desenhados, é possível alterar os tipos de linhas, marcadores e cores para as 
curvas. Por exemplo, poderíamos fazer: 
 
>> set(h,'LineWidth',2,'LineStyle','--') 
>> set(h,'Color','r') 
 
 
 Se desejássemos alterar apenas uma das curvas, passaríamos para o 
comando ‘set’ um elemento do vetor (h(2), por exemplo). 
Vejamos resumidamente os principais tipos de linhas e cores: 
 
 
 
 
6.1.1 Acessórios para os Gráficos 
 
Definamos agora os limites dos eixos, pelo comando axis. Linhas em 
grelha podem ser ativadas pela propriedade grid: 
 
>> axis([0 20 -1 1]); 
>> grid on 
 
 
 
Introdução ao MATLAB 
 
37 
Para adicionarmos anotações no gráfico, como identificação dos eixos, 
título e legenda, usamos os seguintes comandos: 
 
Eixos: 
 
>> xlabel('Tempo'); ylabel('Amplitude'); 
 
Legenda e título: 
 
>> legend(h,'Primeiro','Segundo','Terceiro'); title('Resposta no 
Tempo'); 
 
 Obs.: Se dois gráficos tiverem sido adicionados separadamente em uma 
janela gráfica, o argumento de referência não é utilizado no comando ‘legend’. 
E eis o gráfico resultante: 
 
 
 
Para plotar mais de um gráfico na mesma janela, têm-se três opções. A 
primeira foi utilizada no exemplo anterior, que seria usar um único comando 
com vários argumentos.A segunda é ativar a propriedade hold, que permite a 
inserção de dois ou mais gráficos, inserindo os comando separadamente. 
 
>> hold on 
 
Dessa forma, os gráficos serão sobrepostos em uma mesma janela 
gráfica. No entanto, se não desejarmos mais essa função ativa, basta digitar: 
 
>> hold off 
 
E por última opção temos o comando subplot, que divide uma janela 
gráfica em várias janelas no seu interior. 
 
 
Introdução ao MATLAB 
 
38 
>>subplot(2,2,3) 
 
Este comando divide a janela gráfica em uma matriz 2x2 (4 elementos, 
portanto) e prepara o terceiro elemento (linha 2, coluna 1) para receber futuros 
gráficos. 
 
6.1.2 Números Complexos 
 
Quando os argumentos a exibir são complexos, a parte imaginária é 
ignorada, exceto quando é dado simplesmente um argumento complexo. Para 
este caso especial é exibida a parte real versus a parte imaginária. Então, 
plot(Z), quando Z é um vetor complexo, é equivalente a plot(real(Z),imag(Z)). 
 
>> Z=[1+i*1;3+i*3;5+i*5;7+i*10;9+i*15]; 
>> plot(real(Z),imag(Z)) 
 
6.2 Gráficos Polares 
 
Gráficos polares são úteis quando valores são representados por ângulo 
e grandeza (magnitude). Por exemplo, se medirmos a intensidade luminosa ao 
redor de uma fonte de luz, podemos representar a informação com um ângulo 
fixando eixos e magnitude representando intensidade. 
Coordenadas Polares: Um ponto é representado em coordenadas 
polares por um angulo θ e uma magnitude r. O valor de θ é geralmente dado 
entre 0 e 2θ. A magnitude é um valor positivo que representa a distância do 
eixo que fornece o angulo até o ponto. 
 
polar(theta,r): Este comando generaliza gráficos polares com ângulo θ 
(em radiano) e magnitude r correspondente. 
Exemplo: Os comando para a construção do gráfico da figura abaixo: 
 
 
 
 
 
>> theta = 0:2*pi / 100 : 2*pi; 
>> r = theta / (2*pi); 
>> polar(theta,r); 
 
 
Introdução ao MATLAB 
 
39 
 
 
Transformação retangular / polar ; polar / retangular: As vezes, 
devido a praticidade é interessante transformarmos coordenadas de um 
sistema para outro. 
As equações abaixo relacionam os sistemas polar e retangular: 
polar / retangular _________________________ x = r cos q ; y = r sin q ; 
retangular / polar _________________________ r = Ö x² + y² ; q = atan (y/x); 
 
6.3. Gráficos 3D 
 
A rede de superfície pode ser gerada por um conjunto de valores em 
uma matriz. Cada ponta na matriz representa o valor da superfície que 
corresponde ao ponto na tela. 
Para gerar um arquivo que representa uma superfície 3D, primeiramente 
calculamos o conjunto dos valores de x e y que representam as variáveis 
independentes e depois calculamos os valores de z que representam os 
valores da superfície. O comando no MATLAB para plotar gráficos 3D é 
mesh(z). 
O comando meshgrid tem os argumentos do vetor x e y, ou seja 
transforma o domínio especificado pelos vetores x e y em vetores que podem 
ser usados em cálculos de funções de 2 variáveis e construção de gráfico 3D. 
 
Exemplo: 
Gerar o gráfico 3D da função -0.5 < x < 0.5 ; -0.5 < y < 0.5 ; 
f(x ,y)= z = _1 - x²- y² 
1 = |x² + y² + z²| 
 
Solução: 
 
 
 
[xgrid,ygrid]=meshgrid(-0.5:0.1:0.5,-0.5:0.1:0.5); 
z=sqrt(abs(1 - xgrid.^2 - ygrid.^2)); 
mesh(z); 
 
 
Introdução ao MATLAB 
 
40 
 
 
 
 
Estes são alguns dos comandos de exibição de gráficos tridimensionais 
e de contornos: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Quando geramos redes de superfície 3D podemos querer escolher a 
posição de visão que será definida com os termos azimuth ( rotação horizontal 
) e vertical elevation que especifica os graus (rotação vertical ). 
 
Exemplo: Rotação horizontal: 
 
plot3 Exibição do gráfico em espaço 3D. 
fill3 Desenhar polígono 3D. 
comet3 Exibir em 3D com trajetória de cometa. 
contour Exibir contorno 2D. 
contour3 Exibir contorno 3D. 
clabel Exibir contorno com valores. 
quiver Exibir gradiente. 
mesh Exibir malha 3D. 
meshc Combinação mesh/contour. 
surf Exibir superfície 3D. 
surfc Combinação surf/contour. 
surfil Exibir superfície 3D com iluminação. 
slice Plot visualização volumétrica. 
cylinder Gerar cilindro. 
sphere Gerar esfera. 
 
Introdução ao MATLAB 
 
41 
f(x ,y) = z = 1 - x²- y² 
1 = |x² + y² + z²| 
 
Solução: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exemplo: Rotação vertical: 
 
f(x ,y)= z = _1 - x²- y² 
1 = |x² + y² + z²| 
 
Solução: 
 
 
 
 
 
 
 
>> [xgrid,ygrid] = meshgrid(-0.5:0.1:0.5;-0.5:0.1:0.5); 
>> z=sqrt(abs(1 - xgrid.^2 - ygrid.^2)); 
>> mesh(z,[-37.5,0]); 
>> [xgrid,ygrid]=meshgrid(-0.5:0.1:0.5;-0.5:0.1:0.5); 
>> z=sqrt(abs)1 - xgrid.^2 - ygrid.^2)); 
>> mesh(z,[-37.5,-30]); 
 
 
Introdução ao MATLAB 
 
42 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Introdução ao MATLAB 
 
43 
 
 
 
 
 
7. Programação 
7.1 Arquivo.m 
 
 Os comandos do MATLAB são normalmente introduzidos através da 
janela de comando, onde uma única linha de comando é introduzida e 
processada imediatamente. O MATLAB é, no entanto, capaz também de 
executar seqüências de comandos armazenadas em arquivos. 
 Os arquivos que contêm as declarações do MATLAB são chamados 
arquivos “.m”, e consistem em seqüências de comandos normais do MATLAB, 
possibilitando incluir outros arquivos “.m” escritos no formato texto (ASCII). 
 Para editar um arquivo texto na janela de comando do MATLAB 
selecione New M-File para criar um novo arquivo ou Open M-File para editar 
um arquivo .m já existente, a partir do menu File. 
 Os arquivos podem, também, ser editados fora do MATLAB utilizando 
qualquer editor de texto. Para isso, basta salvar os arquivos com a extensão 
“.m”. 
 Para executar um programa do tipo M-File, deve-se selecionar Run 
Script, também a partir do menu File. 
 Existem alguns comandos e declarações especiais para serem usadas 
nos arquivos. 
 Alguns comandos importantes para se trabalhar com arquivos.m são: 
 
 
 
% Usado para inserir comentários no texto; 
clear Apaga todo os dados da memória; 
input Usado quando se deseja adicionar um dado 
ao problema pela janela de comando; 
pause Causa uma pausa na execução do 
programa até que uma tecla seja digitada; 
clc Limpa a janela de comando 
figure(n) Mostra a janela gráfica de número n; 
close all Fecha todas as janelas gráficas. 
 
 
7.2 Operadores Lógicos e Relacionais 
 
 Os operadores usados para a comparação de duas matrizes com as 
mesmas dimensões são expressos por: 
 
 
7.2.1 Operadores Relacionais 
Programação 
 
Introdução ao MATLAB 
 
44 
 
Símbolo Descrição 
< Menor 
< = Menor ou igual 
> Maior 
> = Maior ou igual 
= = Igual 
~ = Diferente 
 
 A comparação é feita entre os pares de elementos correspondentes e o 
resultado é uma matriz composta de números um(1) e zero(0), representando 
respectivamente verdadeiro e falso. Por exemplo: 
 
» 2+2 ~ = 4 
ans = 
 0 
 
Observação: Apenas os operadores “= =” e “~ =” testam tanto a parte 
real como a imaginária, os demais, apenas a parte real. 
 
» x=5; y=3*(x= =3) 
y = 
 0 
» x=5; y=3*(x= =5) 
y = 
 3 
» x=5; y=3*(x~ =5) 
y = 
 0 
» x=5; y=3*(x~ =3) 
y = 
 3 
 
7.2.2 Operadores Lógicos 
 
Símbolo Função 
& AND 
| OR 
~ NOT 
xor XOR 
 
 
 
Esses operadores operam da mesma forma que os operadores 
relacionais, dando como resposta verdadeiro ou falso. Exemplo: 
 
 
 
INPUTS AND OR XOR 
 
Introduçãoao MATLAB 
 
45 
A B & | xor 
0 0 0 0 0 
0 1 0 1 1 
1 0 0 1 1 
1 1 1 1 0 
 
» A = [ 1 0 1 
 0 0 0 
 1 1 1] 
A = 
 1 0 1 
 0 0 0 
 1 1 1 
 
» B= [ 0 1 0 
 0 0 1 
 -1 10 0] 
 
B = 
 0 1 0 
 0 0 1 
 1 1 0 
» A&B 
ans = 
 0 0 0 
 0 0 0 
 1 1 0 
 
Note que foi aplicado o operador lógico AND e esse comparou cada 
elemento da matriz A com cada elemento da matriz B, sendo que sua resposta 
pode ser apenas 0 ou 1. Sendo que qualquer número diferente de 0, inclusive 
os negativos, é considerado 1 pois o MATLAB trabalha na linguagem binária. 
Os operadores lógicos possuem a precedência mais baixa relativamente 
aos operadores aritméticos e relacionais. 
A precedência entre os operadores lógicos se dá da seguinte maneira: 
 
NOT Maior precedência; 
AND e OR Têm igual precedência após NOT; 
 
7.3. Comandos For – While - If 
 
Os comandos FOR, WHILE e IF controlam o fluxo e especificam a 
ordem e a estrutura de cálculo do programa. No MATLAB estes comandos são 
semelhantes aos usados na linguagem de programação C, mas com uma 
estrutura diferente. Nas próximas seções deste capítulo apresentaremos a 
estrutura de tomada de decisões IF e os dois comandos para gerar loops no 
MATLAB: o comando FOR e o comando WHILE. 
 
7.3.1. Comando If 
 
 
Introdução ao MATLAB 
 
46 
Esta instrução permite que executemos um comando se a expressão 
lógica é verdadeira e um diferente comando se a expressão é falsa. A forma 
geral do comando if combinada à instrução else é mostrada a seguir: 
 
 
if expressão 
grupo de comandos A 
else 
grupo de comandos B 
end 
 
 
 A seguir é apresentado um exemplo do uso da declaração if no 
MATLAB. Você pode fazê-lo na janela de comando ou ainda através do método 
.m novamente. 
 
for i = 1:5, 
 for j = 1:5, 
 if i = = j 
 A(i,j)=2; 
 else if abs(i-j) = =1 
 A(i,j) = -1; 
 else 
 A(i,j) = 0; 
 end 
 end 
 end 
end 
 
A 
A = 
 2 -1 0 0 0 
 -1 2 -1 0 0 
 0 -1 2 -1 0 
 0 0 -1 2 -1 
 0 0 0 -1 2 
 
 
 
Neste exemplo fizemos o uso do comando if, sendo que utilizamos, o 
que é normal, um dentro de outro. Sempre lembrando que no uso do comando 
if devemos ter uma seqüência que executa caso a condição seja verdadeira e 
outra que não é requerida, mas pode-se ter também, que execute um outro 
processo caso a condição seja falsa (else). Após o ciclo, pediu-se o valor da 
variável A para sabermos se realmente o comando funcionou. 
 
 
 
 
7.3.2. Ciclo For 
 
 
Introdução ao MATLAB 
 
47 
 O ciclo for é controlador de fluxo mais simples usado na programação 
MATLAB. Analisando a expressão: 
 
for i=1:5, 
 x(i)=i^2; 
 end 
 
Pode-se notar que o ciclo for é dividido em três partes: 
1. i =1 é realizado antes do ciclo começar. 
2. Testando a condição que controla o ciclo (i<=5). Se for o ciclo é 
executado. 
3. Se o teste do ciclo for falso o ciclo termina devido ao comando end. 
 
Exemplo: 
 
for i = 1:8 
 for j = 1:8, 
 A(i,j) = i + j; 
 B(i,j) = i - j; 
 end 
end 
C= A + B 
C = 
 2 2 2 2 2 2 2 2 
 4 4 4 4 4 4 4 4 
 6 6 6 6 6 6 6 6 
 8 8 8 8 8 8 8 8 
 10 10 10 10 10 10 10 10 
 12 12 12 12 12 12 12 12 
 14 14 14 14 14 14 14 14 
 16 16 16 16 16 16 16 16 
 
Neste exemplo fizemos duas matrizes através de dois ciclos variando de 
1 a 8 e ao fim disso fizemos a operação da soma dessas duas matrizes 
gerando uma matriz C que é dada por: 
 
C = A + B → C = (i + j) + (i - j) → C = 2i 
 
 
7.3.3 Ciclo While 
 
 No ciclo while apenas a condição é testada. Vamos fazer um exemplo 
agora utilizando o arquivo.m: 
 Primeiro abra o menu File vá em New e em seguida seleciona M-file 
 Agora na janela correspondente ao M-File escreva o seguinte comando: 
 
a=1;b=15; 
while a<b, 
 clc 
 disp('loop em curso') 
 a=a+1 
 b=b-1 
 
Introdução ao MATLAB 
 
48 
 pause(2) 
end 
clc 
disp('fim do loop') 
 
Antes de mais nada, salve o arquivo como loop.m na mesma pasta onde 
você está rodando o programa. 
Nesse comando teremos uma comparação de dados entre as variáveis a 
e b começando com a valendo 1 e b valendo 15 e enquanto a for menor que b 
o ciclo segue e a cada ciclo a variável a é incrementada em 1 e a b perde uma 
unidade, isso ocorrerá até que a fique maior que b. Também é importante 
salientar o comando pause que é o tempo que o ciclo irá levar a mais que o 
normal, pois como sabemos o processamento se daria em frações de 
segundos e consequentemente não poderíamos observar o comando, por isso 
o pause de 2 segundos. 
Agora volte a janela de comando e digite loop que a instrução toda será 
processada. 
 
 
7.4. Declarando Funções 
 
 
 Para criarmos funções necessitamos trabalhar na janela de M-Files, para 
tanto, como você já sabe, vá em File→New→M-File. Antes de apresentarmos 
vamos dar as 3 regras principais para a criação de funções no MATLAB: 
1. Deve-se ter ao menos o nome da função, a variável de entrada e a 
função f. 
2. O arquivo .m deve ser salvo com o mesmo nome da função. 
3. A função f deve ser igualada a função operacional. 
 
Vamos tornar mais claro esses pontos com um exemplo: 
 
function f = hema(x) 
 
f = x/24/30/12 
 
Abrimos o M-File e digitamos function f e após isso igualamos a uma 
função que criaremos, no caso hema, que significa horas em ano sendo uma 
transformação. Na linha abaixo igualamos a função f ao corpo da função hema. 
E por último temos a nossa variável de entrada que é o x, que representa as 
horas. Pronto, agora basta salvar esse arquivo com o nome idêntico da função 
hema, após isso vamos à janela de comando principal e chamamos pela nova 
função: 
 
 
» hema(8640) 
f = 
 1 
ans = 
 
Introdução ao MATLAB 
 
49 
 1 
 
No caso, está digitado exatamente o valor de um ano em horas, portanto 
a resposta é 1. 
 
 
Aplicação à Solução de Problemas: 
Fibras Óticas 
 
Se a luz está direcionada para o extremo de uma longa haste de vidro 
ou plástico, a luz será totalmente refletida pelas paredes, ziguezagueando e 
segue adiante até chegar a outra extremidade. Este interessante fenômeno 
ótico pode ser usado para transmitir luz e imagens regulares, de um lugar para 
outro. Se “guia de luz”, a luz seguirá a forma da haste e emergirá somente na 
extremidade, como mostramos na figura a seguir: 
 
 
 
 A fibra ótica é uma fibra de vidro muito fina. Se os extremos das fibras 
são polidos e o arranjo espacial é o mesmo em ambos extremos (um feixe 
coerente), a fibra pode ser usada para transmitir uma imagem, e o feixe é 
chamado condutor de imagem. Se as fibras não têm o mesmo arranjo para 
ambos extremos (feixe incoerente), a luz é transmitida em vez da imagem, e 
por esta razão é chamada guia de luz. Por causa da flexibilidade das fibras 
óticas, as guias de luz e condutores de imagens são usadas em instrumentos 
projetados para permitir a observação visual de objetos ou áreas que de outro 
modo seriam inacessíveis. Por exemplo, um endoscópio é um instrumento 
usado por físicos para examinar o interior do corpo de um paciente com 
somente um pequeno corte. Um endoscópio usa uma fibra ótica para transmitir 
a luz necessária dentro do corpo de um paciente. As fibras óticas podem ser 
usadas para transmitir feixes de luz LASER, o qual

Continue navegando