Buscar

Apostila Mini Curso MatLab

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 24 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 24 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 24 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

Instituto Federal do Sudeste de Minas Gerais – Campus Juiz de 
Fora 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Apostila Mini Curso de MatLab 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Autores: Felipe Souza Amaral 
 
Hoberty Martins Pedrosa 
 
Luís Gustavo Duarte de Paula
Introdução ao MatLab 
 
O Matlab é um software criado pela Mathworks em 1984 destinado à 
análise e modelagem de sistemas e algoritmos. Devido à sua praticidade, essa 
poderosa ferramenta computacional vem sendo utilizada tanto em 
universidades quanto em empresas do mundo todo. 
Em relação a uma linguagem de programação tradicional (como C/C++), 
o desenvolvimento de algoritmos no ambiente Matlab é sem dúvida mais 
simples e rápida. Mas apresenta uma linguagem de programação menos 
eficiente que as tradicionais. 
Temos por objetivo deste mini curso, fornecer um contato inicial, ou 
aprimoramento, necessária para desenvolver programas no ambiente Matlab. 
O aluno será capaz de entender como o Matlab funciona e descobrir quais 
funções são úteis para as suas aplicações. 
O Matlab (Matrix Laboratory) pode ser definido como um ambiente de 
computação numérica baseado em matrizes. Dentre as suas principais 
características, destacam-se: 
 
• gráficos e visualização de dados; 
 
• linguagem de programação de alto nível; 
 
• toolboxes, que oferecem funcionalidades específicas por área de aplicação. 
 
 
 
Interface do software 
 
• Command Window: área na qual os dados e instruções são digitados e os 
resultados são apresentados; 
 
• Workspace: área de memória de trabalho do Matlab, na qual todas as 
variáveis são armazenadas; 
 
• Current Folder: É o diretório do software, onde é mostrado as pastas que 
estão sendo utilizadas no MatLab; 
 
• Command History: histórico das instruções já executadas.
 
 
Erros no MatLab 
 
No MATLAB os comandos e operações são avaliados e o resultado é 
posto na área de trabalho, caso o usuário digite um comando que não exista, 
ou uma expressão que não faça sentido para o software, o mesmo envia para 
área de trabalho uma mensagem de erro referente à operação que o usuário 
executou. 
Esta mensagem de erro é um comentário especificando o erro cometido 
e, normalmente, seguido da expressão digitada erroneamente pelo usuário. 
Exemplo: 
 
??? a+b*(2+5)-(3+5*(5-9) 
 
A closing right parenthesis is missing. 
 
Check for a missing ")" or a missing operator. 
 
Este erro significa que algum parêntese está aberto errado ou 
está faltando na expressão como um todo. 
 
Help 
 
Todos os comandos do MATLAB estão presentes no help. Todos 
estes comandos possuem uma sintaxe que deve ser obedecida, e um 
número de parâmetros que deve ser utilizado. O comando “help 
comando” mostra na área de trabalho um resumo de como se deve 
operar com o comando especificado. 
 
O help é muito útil para obtenção de informações sobre comandos 
que venham a ser utilizados durante um trabalho.
Variáveis e Operadores Aritméticos 
 
Para criar uma variável na Janela de Comando, digite no prompt o 
nome da variável e atribua um valor: 
 
>> num = 7 
num = 
7 
 
Quando uma expressão não é atribuída a uma variável, o valor 
calculado é atribuído à variável padrão ans. 
 
>> num + 1 
ans = 
8 
 
No exemplo acima, como num contém o valor 7, a variável padrão ans 
recebe o valor 7. 
 
É possível incrementar ou decrementar uma variável. 
 
>> num = num - 2 
num = 
5 
 
Exercício 1: Crie uma variável peso para armazenar o peso de um objeto em 
quilogramas. Converta o peso para libras e coloque o resultado em outra 
variável. O fator de conversão entre as duas unidades é: 1 kg = 2, 2 libras. 
 
- Operadores Aritméticos 
 
Exercício 2:Crie uma variável ftemp para armazenar a temperatura em graus 
Fahrenheit. Faça a conversão para graus Celsius e armazene o resultado em 
uma variável ctemp. A fórmula de conversão é dada por: C = (F - 32) x 5/9. 
 
- Funções Elementares 
 
sqrt(x) Calcula a raiz quadrada de x. 
 
exp(x) Esta função retorna ao valor de e, onde e é a base para logaritmo 
natural ou aproximadamente 2.718282. 
 
log(x) Retorna ln(x), o logaritmo natural de x para a base e. 
 
log10(x) Retorna logx10, ou seja, o logaritmo de x na base 10. 
 
roots(x) Comando para calcular raízes de polinômios de graus infinitos. 
 
pi Adota o valor do número irracional π (3.1416). 
 
- Funções Trigonométricas 
 
As funções trigonométricas supõem que os ângulos estejam 
representados em radianos. A seguir uma lista de funções trigonométricas com 
uma breve descrição: 
 
sin(x) Calcula o seno de x, em radianos. 
cos(x) Calcula o cosseno de x, em radianos. 
tan(x) Calcula a tangente de x, em radianos. 
asin(x) Calcula o arco seno de x, onde x deve estar entre –1 e 1. A função 
apresenta um ângulo em radianos entre - pi/2 e pi/2. 
 
acos(x) Calcula o arco cosseno de x, onde x deve estar entre –1 e 1. A 
função apresenta um ângulo em radianos entre 0 e pi. 
 
atan(x) Calcula o arco tangente de x, onde x deve estar entre –1 e 1. A 
função apresenta um ângulo em radianos entre - pi/2 e pi/2. 
 
Exercício 3: Calcule as seguintes expressões matemáticas: 
 
• x2=19 
 
• 31.2 
 
• tan π 
 
Exercício 4: Calcule as raízes da função f(x) = 2x4+14x3+7x2-34x-9.
Exercício 5: Um avião levanta voo sob um ângulo constante de 20º. Após 
percorrer 2 000 metros em linha reta, qual será a altura atingida pelo avião, 
aproximadamente? 
 
Matrizes 
 
Matriz é uma espécie de tabela que apresenta linhas que são definidas 
como i e colunas que são definidas como j, uma matriz pode representar um 
sistema de equações e facilitando sua solução. 
 
 
 
- Representando uma matriz no matlab 
 
Para representar uma matriz no matlab utilizamos uma variável para 
guardá-la e o sinal de igual (=) guarda esse valor na varável. Para representar 
de fato uma matriz utilizamos o colchetes ([ ]) e os números são escritos e o 
espaço entre os números representam as colunas e o ponto virgula representa 
as linhas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
- Matriz de zeros: 
 
A matriz de zeros pode ser gerada com o comando zeros(i,j), onde i é o 
número de linhas que o usuário deseja e j o de colunas. 
 
- Matriz de Uns: 
 
Para gerar a matriz de uns basta utilizar o comando ones(i,j). 
 
 
 
 
 
- Matriz identidade: 
 
Para gerar a matriz identidade basta utilizar o comando eye(i,j). 
 
 
 
- Criando uma matriz diagonal principal: 
 
Para gerar uma matriz diagonal a partir de uma matriz podemos usar o 
comando diag(C), este comando retira a diagonal principal da matriz e o 
transforma em um vetor, mas se aplicarmos o comando duas vezes sobre a 
matriz C criaremos uma matriz diagonal principal. 
 
- Matriz triangular superior: 
 
Com o comando triu(C) podemos zerar todos os elementos abaixo da 
diagonal principal da matriz C. 
 
 
 
- Matriz triangular inferior: 
 
Com o comando tril(C) podemos zerar todos os elementos acima da 
diagonal principal da matriz C. 
 
 
 
- Descobrindo a dimensão da matriz: 
 
Podemos descobrir a dimensão de uma matriz utilizando o comando 
size(C). 
 
 
 
 
Também podemos guardar os valores da 
dimensão da matriz em duas variáveis. 
 
Faça o comando [n,m]=size(C) e observe 
o que ocorre.
- Operações com matrizes: 
 
Podemos retirar de uma matriz linhas ou colunas para esta operação 
basta fazercom que esta linha ou coluna receba vazio ( A(i,j)=[ ]; ) 
 
 
 
 
Note que os dois pontos (:) representa 
todas as colunas, então se retira os 
elementos da linha 3 da coluna 1 à coluna 
4. 
 
 
 
 
Exercício: retire a coluna um e três da 
matriz A. 
 
 
 
 
Matriz transposta é uma operação onde as linhas de uma matriz viram 
colunas, e as colunas viram linhas, este comando é representado por aspas 
simples („). 
 
 
 
 
Para a multiplicação de matrizes utilizamos o sinal de multiplicação entre 
as variáveis que representam a matriz. 
 
Obs.: Lembre-se, o produto de matrizes não é o mesmo produto usual entre 
números. Por exemplo, se multiplicamos a matriz A por ela própria, ocorrerá 
um erro, pois na multiplicação de matrizes é realizada linha que multiplica 
coluna, assim o número de linhas tem que ser o mesmo que o número de 
colunas.
 
 
A3x4 * A3x4=impossível. 
 
A3x4 * A’4x3=possível. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Potenciação é utilizada para elevar uma a uma potência, mas estamos 
apenas multiplicando ela por ela mesma. No caso da matriz A ocorreria o erro, 
pois ela não é uma matriz quadrada, para esse exemplo utilizaremos a matriz 
B. 
A matriz B será introduzida através de um comando que seleciona uma 
coluna como ponto inicial até outra coluna final, ele é representado por dois 
pontos (:), ou seja, construiremos a matriz B a partir da matriz A. 
 
 
 
 
 
 
 
 
Para realizar a potenciação 
basta colocarmos B^n, onde n 
é um número real. Neste caso 
utilizamos n=2, onde B^2=B*B. 
 
 
 
 
 
Podemos também elevar cada termo 
da matriz ao quadrado, basta colocar antes 
do sinal de potenciação (^), um ponto (.).
- Determinante de uma matriz: 
 
Podemos determinar também o determinante de uma matriz quadrada 
com um simples comando det(B). 
 
 
 
 
- Matriz inversa. 
 
A matriz inversa pode ser determinada pelo comando inv(B) ou pelo 
comando B^-1. 
 
 
 
 
- Aplicação de matrizes para resolução de sistema de 
equações: 
 
Aplicaremos o conceito da regra de Kramer se utiliza o cálculo da matriz 
inversa para obter a solução do sistema. 
 
 
A -1 (AX) = A-1 B 
(A-1 A)X = A-1 B 
X = A-1 B 
 
% Resolucao de sistema de equacoes lineares: 
%
% 2x -y+3z = 11 
% 4x -3y+ 2z =0 
% x + y+z=6 
% 3x + y +z=10 
clc 
clear 
A=[ 3 5 0 
2 0 1 
5 1 -1 ] 
B=[ 1 
3 
10] 
x= A\B 
 
 
A regra de Kramer só se aplica para sistemas com uma única solução. 
Por exemplo, se tentarmos utilizar o mesmo algoritmo para a solução de um 
problema de balanceamento de equações químicas que é um sistema possível, 
mas com infinitas soluções, ele encontrará a solução trivial (0,0,0,0), para a 
solução deste problema usaremos a definição da decomposição em LU. 
 
(NH4 )2CO3→NH3+H2O+CO2 
 
X(NH4 )2CO3→ YNH3+ZH2O+WCO2 
 
{ 
 
 
 
 
Fixando x=1 
 
X Y Z W | 
1 0 0 0 |1 
2 -1 0 0 |0 
8 -3 -2 0 |0 
1 0 0 -1 |0 
3 0 -1 -2 |0 
 
Como o sistema possui várias soluções, fixaremos um das variáveis 
para encontrarmos uma única solução, após isso usaremos o comando [L U] = 
lu(A), este comando divide a matriz em duas e armazena uma matriz triangular 
superior em U e um "matriz triangular psicologicamente inferior", onde 
A = L * U. 
% para a solução do balanceamento da equação: 
%Matriz ampliada. 
% X Y Z W | 
% 2 -1 0 0 |0 
% 8 -3 -2 0 |0
% 1 0 0 -1 |0 
% 3 0 -1 -2 |0 
Clc 
clear 
A=[ 1 0 0 0 
2 -1 0 0 
8 -3 -2 0 
1 0 0 -1 
3 0 -1 -2 ] 
B=[1;0;0;0;0; ] 
[L U] = lu(A) 
y=L\B 
x=U\y 
F=L*U 
 
 
 
- Comando randi: 
 
O comando randi(numero), gera números inteiros positivos de 1 a número. 
 
Exercício: crie uma matriz de dimensões aleatórias e termos aleatórios. 
 
- Comando sum: 
 
O comando sum(C(1,:))soma um vetor da matriz. 
 
Exercício: faça a soma te todos os termos da primeira coluna. 
 
 
- Comando mean: 
 
O comando mean() é utilizado para calcular a média. 
 
Exercício: faça a média dos números da segunda coluna. 
 
- Comando sortrows : 
 
 
O comando sortrows() é utilizado para ordenar em ordem crescente ou 
decrescente. Observe que a matriz foi reordenada em ordem 
decrescente em relação a coluna 3. 
 
Exercício: faça em ordem crescente em relação a coluna 2. 
 
 
Desafios: 
 
1) Crie um algoritmo onde gere uma matriz com dimensões aleatórias e 
com valores aleatórios positivos e inteiros, diga qual é o maior 
número e sua posição. Se ele aparece mais de uma vez mostrar 
quantas vezes ele aparece e a posição de cada um na matriz.
2) Crie um algoritmo que gere a matriz com valores aleatórios positivos 
e inteiros que represente as notas dos alunos no decorrer dos 
bimestres e a partir desta matriz calcule a média, coloque as notas 
em ordem decrescente e diga qual aluno tem a maior nota, qual tem 
a menor nota e mostre a média da turma. 
 
 
 
Gráficos 
 
Engenheiros usam gráficos para analisar, e resolver, problemas e 
situações. Por isso é muito importante aprendermos a interpretar, e gerar, 
gráficos e suas formas. Neste tópico vamos aprender como o MATLAB pode 
nos ajudar a gerar gráficos. 
Suponhamos que queremos plotar os valores de uma matriz em vez de 
imprimi-los. Podemos usar o MATLAB para plotar gráficos. Nesta seção, 
mostraremos como gerar um simples gráfico x-y de dados armazenados em 
dois vetores. Então, sem conhecer alguns comandos, você pode 
imediatamente começar usando o MATLAB para gerar gráficos. 
 
 
- Comando plot 
 
 
Suponha que queira plotar os dados de temperatura a seguir coletados 
em uma experiência de física: 
 
 
Tempo(s) Temperatura(°C) 
0 54.2 
1 58.5 
2 63.8 
3 64.2 
4 67.3 
5 71.5 
6 88.5 
7 90.1 
8 90.6 
9 89.5 
10 90.4 
 
 
Suponha também que os dados relativos ao tempo estejam 
armazenados em um vetor denominado x, e que os relativos à temperatura 
estejam armazenados em um vetor denominado y. Para plotar estes pontos, 
simplesmente usamos o comando plot, onde x e y são vetores-linha ou vetores- 
coluna. 
 
plot (x, y)
O gráfico é gerado automaticamente. A prática mostra que um bom 
gráfico deve incluir unidades, título e uma breve descrição. Logo, podemos 
aperfeiçoá-lo como os seguintes comandos: 
 
Title(‘texto’) Adiciona um título ao gráfico. 
Xlabel(‘texto’) Inclui uma descrição na direção do eixo-x 
Ylabel(‘texto’) Inclui uma descrição na direção do eixo-y 
Grid Adiciona linhas de grade ao gráfico 
Text(x, y, ‘text’) Este comando escreve um texto na tela do gráfico no ponto 
específico das coordenadas (x, y) usando os eixos dos gráficos. Se x e y são 
vetores, o texto é escrito a cada ponto. 
 
 
gtext(‘text’) Este comando escreve um texto nas posições indicadas na 
tela do gráfico pelo mouse. 
 
 
plot (x,y); 
 
title („Mini curso MatLab‟); 
 
xlabel („Tempo(s)); 
 
ylabel („Temperatura(°C)); 
 
grid; 
 
 
 
- Gráficos de Barras e Degraus 
 
bar(x,y) Este comando gera gráficos de barras com elementos do vetor y 
localizados no vetor x, contém o mesmo espaço entre os valores.
stairs(x,y) Este comando gera um gráfico de degraus com os elementos do 
vetor y. 
 
 
 
- Gráficos múltiplos 
 
Para plotar curvas múltiplas no mesmo gráfico deve se usar vários 
argumentos no comando plotar. 
 
plot(x, y, w, z); 
 
Quando se executa este comando a curva correspondente a x, y e a 
curva correspondente a w, z são plotadas no mesmo gráfico. O MATLAB 
seleciona linhas diferentes para ascurvas plotadas. 
Outro comando bastante utilizado quando se deseja plotar mais de uma 
curva em um mesmo gráfico é o comando hold. 
Exemplo: 
 
plot(x,y) 
hold on 
plot(w,z) 
hold off 
- Estilo de linha e marcação 
 
O comando plot(x, y) nos mostra uma linha plotada representando 
os vetores y e x, mas podemos selecionar outros tipos de linha. Também 
podemos selecionar plotar pontos ao invés de linhas. A seguir as diferentes 
opções de linhas e marcações: 
 
Tipos de Linha Indicador Tipo de Ponto Indicador 
Solid - Point . 
Dashed -- Plus + 
Dotted : Star * 
Dashdot -. Circle o 
 x-mark x 
O comando a seguir representa linha sólida com tipo de ponto x-mark. 
 
plot(x, y, x, y, „x‟) 
 
Podemos também escolher as cores que serão usadas: 
 
Cor Indicadores 
Vermelho r 
Verde g 
Azul b 
Branco w 
 
 
 
O comando seguinte representa linha sólida azul para os vetores x, 
y e pontos vermelhos do tipo x-mark: 
 
plot(x, y, „b‟, x, y, „xr‟); 
 
- Subplot 
 
O comando subplot é usado quando se quer visualizar dois ou mais 
gráficos ao mesmo tempo. 
 
Subplot(211), plot(x,y); 
Subplot(212), plot(y,x); 
Esse comando significa que teremos 2 gráficos sendo o primeiro 
(plot(x,y)) colocado no canto superior esquerdo da tela e o segundo colocado 
no canto superior direito da tela. 
 
Exercício 1: Gerar um gráfico linear das funções, abrangendo 12 pontos de 
uma função para os valores de x começando de x=0 e incrementando de 0.5. 
Implemente pontos, linhas e cores indicadores. Gere também gráfico em barras 
e degraus. 
 
a) y = 5x2 
b) y = logx 
c) y = ex
Estrutura de seleção 
 
Até agora fizemos programas que seguem uma sequencia de comandos 
da primeira a última linha de programação. Mas o MatLab, também usa 
ferramentas de estrutura de seleções bastantes conhecidas, como no caso o if 
e o switch. 
A instrução if usa expressões que são avaliadas como logicamente 
verdadeiras ou falsas. O comando if permite o uso das cláusulas opcionais else 
e elseif. 
 
- Instrução if 
 
A instrução if permite selecionar qual instrução ou grupo de instruções 
deve ser executado. A forma geral da instrução if é dada pela sintaxe que se 
segue. 
 
if condição 
ação 
end 
 
Uma condição é uma expressão logica que prova como verdadeira ou 
falsa. A ação é uma declaração ou um grupo de declarações que será 
executada se a condição for verdadeira. Quando a instrução if é executada, 
primeiramente a condição é avaliada. Se o valor da condição for logicamente 
verdadeiro, a ação será executada, caso contrário, a ação não será executada. 
A ação pode conter qualquer número de instruções até a palavra reservada 
end. 
Por exemplo, a instrução if a seguir verifica se o valor de uma variável é 
negativo. Se for, o valor é alterado para um número positivo usando a função 
valor absoluto (abs), do contrário nada será alterado. 
 
 
 
Exercício: Solicite ao usuário a digitação de um número e calcula a raiz 
quadrada. 
 
Exercício: Escreva um programa que receba como argumento um número 
inteiro correspondente a hora atual. A função deve retornar a hora seguinte. 
Lembre-se que se o usuário digitar 23, a hora seguinte e 0.
Instrução if-else 
 
 
A instrução if escolhe se uma ação é executada ou não. Para escolhas 
mais complexas, envolvendo duas ou mais ações, torna-se necessário utilizar 
uma instrução if com a cláusula else, ou if‟s aninhados ou ainda uma instrução 
switch. 
A instrução if-else é usado para escolher entre duas instruções ou 
conjuntos de instruções. A forma geral é: 
 
if condição 
ação1
else 
 
end 
 
ação2
 
A condição associada à instrução if é avaliada. Se verdadeira, o conjunto 
de instruções denominado ação1 é executado. Caso contrário, ou seja, se a 
condição for falsa, o conjunto de instruções denominado ação2 é executado. 
Observe que somente um desses conjuntos de instruções será executado a 
cada vez que a instrução if for executada. 
Por exemplo, para determinar se um valor, maior que zero, para o 
cálculo do raio é válido podemos usar as condições if e else, como demostra o 
exemplo abaixo. 
 
 
 
Exercício 1: 
Escreva um script que solicite ao usuário a digitação do numerador e do 
denominador para uma fração. Se o denominador for 0, uma mensagem de 
erro deve ser exibida, informando tratar-se de divisão por zero. Em caso 
contrario, exiba a fração na forma decimal. 
 
- Instrução switch 
 
 
A instrução switch é uma alternativa ao uso de instruções if-else 
aninhadas ou if com cláusulas elseif. A sintaxe do comando é apresentada a 
seguir.
 
switch expressão 
case caso1 
ação1 
case caso2 
ação2 
case caso3 
ação3 
otherwise 
açãon 
end 
 
A cláusula otherwise não é obrigatória. Ao contrário da linguagem C, no 
comando switch do Matlab apenas um case é executado. Assim, não existe um 
break entre as cláusulas case. Outra diferença é que a expressão a ser 
avaliada pelo comando switch pode ser um string, além de números inteiros e 
caracteres. 
 
Considere o Exemplo abaixo que verifica se a variável que retorna maior 
ou menor que 0.5. 
 
 
 
Exercício: Faça um programa onde o usuário entre com valor se o valor for 
maior que 100 deverá mostrar ALTO, se valor estiver entre 100 e 50 deverá 
mostrar MEDIANO se for menor que 50 deverá mostrar BAIXO. 
 
- Estruturas de Repetição 
 
 
Vamos estudar agora as instruções do Matlab que permitem a repetição 
de trechos de código. As declarações que fazem isso são chamadas de 
estruturas de repetição ou de laço. 
Existem dois tipos básicos de programação usando comandos de tipo: 
laços contados e laços condicionais.
Um laço contado é aquele em que as declarações se repetem um 
número previamente definido de vezes. Um laço condicional também executa 
uma ou mais declarações, mas sem especificar a priori quantas vezes as 
instruções terão de ser repetidas. Com um laço condicional, por exemplo, 
você poderia dizer “repita esses comandos até que essa condição se torne 
falsa”. A instrução ou conjunto de instruções que se repetem em um laço é 
chamado corpo do laço. 
Há duas instruções de laço no Matlab: for e while. Na prática, a instrução 
for é geralmente usada para laços contados e while é usada em laços 
condicionais. Vale ressaltar que embora laços sejam extremamente úteis na 
maioria das linguagens de programação, no Matlab muitas vezes não são 
necessários, especialmente quando se trata de manipulação de matrizes. 
 
 
- A Estrutura de Repetição for 
 
 
A instrução for é utilizada quando é necessária a repetição de uma 
instrução ou um conjunto de instruções em um script ou em função do usuário, 
sabendo-se de antemão quantas vezes o corpo do laço será repetido. 
A variável que é usada para percorrer os valores em um comando for é 
chamada de variável de controle do laço ou iterador. 
 
A forma geral do comando for é: 
 
for variável_de_controle = faixa 
corpo_do_laço 
end 
 
Onde variável_de_controle é a variável de controle do laço for, faixa é o 
intervalo de valores através do qual a variável de controle do laço deve 
percorrer e corpo_do_laço consiste no conjunto de instruções a serem 
executadas. O intervalo pode ser especificado utilizando-se um vetor, mas 
normalmente a forma mais fácil para especificar o intervalo de valores é 
através do operador dois pontos. 
 
Exemplo: Exibe números inteiros em uma linha. 
 
 
 
- Entrada de Dados em Laços for 
 
Muitos problemas exigem a entrada de vários valores pelo usuário em tempo 
de execução. O script abaixo explica melhor esse conceito.
 
 
Exemplo: Múltiplas entradas de dados pelo usuário.for i = 1:3 
num = input('Digite um número inteiro: '); 
fprintf('Você digitou %d\n',num) 
end 
 
Exercício: Crie um programa onde o usuário entre com o primeiro e ultimo 
valor de um vetor com passo 3, e calcule o quadrado de todos os elementos 
desse vetor. 
 
- Estrutura de repetição While 
 
 
O script do exemplo abaixo utiliza uma instrução while para solicitar 
diversas vezes ao usuário um número positivo. Quando o usuário digitar um 
valor não-positivo, o laço termina a execução e exibe a expressão Fim!. 
Exemplo: O script leNumeros.m lê números enquanto forem positivos. 
numero = input('Digite um número positivo: '); 
while numero >= 0 
fprintf('Número digitado: %d\n\n',numero) 
numero = input('Digite um número positivo: '); 
end 
fprintf('Fim!\n') 
 
 
 
Exercício: Faça um programa onde o usuário entre com o número maior que 
zero e calcula o fatorial desse número. (N! = N*(N-1)*(N-2)*(N-3)........) 
 
 
- Funções definidas Pelo Usuário 
 
Veremos agora como o usuário pode criar as suas próprias funções no ambiente 
do Matlab. Inicialmente, serão definidas funções que atuam de forma semelhante 
às funções embutidas, ou seja, recebem um argumento de entrada e retornam 
um 
valor de saída. 
 
Definição de uma Função 
 
Toda função do usuário deve iniciar por um cabeçalho, identificado pela palavra 
reservada function. Em seguida, deve ser fornecido o argumento de saída (ou de 
retorno), o caractere '=' e o nome da função que está sendo criada. Por fim, 
devem ser indicados os argumentos de entrada entre parênteses. As linhas 
seguintes devem conter o corpo da função. 
 
Por exemplo, a função calculaArea.m apresentada no Exemplo 2.28 calcula e 
retorna a área de um círculo cujo raio é fornecido como argumento de entrada. 
Recomenda-se que o nome usado para a função seja igual ao nome adotado 
para salvar o arquivo M-File, nesse exemplo, calculaArea. Esse requisito é 
importante para o correto funcionamento das funções definidas pelo usuário. 
 
Exemplo: Função para o cálculo da área de um círculo. Argumento de entrada: 
raio do círculo. 
function area = calculaArea(raio) 
area = pi * raio ^ 2; 
 
 
 
- Passagem de Múltiplos Argumentos 
 
Em muitos casos, uma função do usuário deve ser definida com mais de um 
argumento de entrada. Por exemplo, o volume de um cone é dado por 
 
 
 
onde r é o raio e h é a altura do cone. Nesse caso, uma função do usuário para 
calcular o volume do cone, chamada volumeCone, deve receber dois argumentos 
de entrada. 
 
 
Exemplo 
function volume = volumeCone(raio, altura) 
% Calcula o volume de um cone 
volume = pi / 3 * raio ^ 2 * altura; 
 
 
 
Uma vez que a função do usuário volumeCone possui dois argumentos de 
entrada, ao ser chamada, devem ser fornecidos dois parâmetros, um para cada 
argumento e na ordem correspondente. 
 
 
 
 
Exercício: sc e a a f n o pa a calc la e e o na a ea de e ng lo. 
Passe o comprimento e largura para a f n o co o a g en os de en ada. 
 
Exercício 2 sc e a a f n o cha ada tempck.m pa a con e e a 
 e pe a a de g a s elsi s pa a g a s el in. f n o ecebe 
a g en o de en ada co esponden e a e pe a a e g a s elsi s e 
 e o na a temperatura em Kelvin. K = C + 273, 15. xe plo de so da f n o

Outros materiais