Você está na página 1de 22

UNIVERSIDADE FEDERAL DO CEARÁ

CENTRO DE TECNOLOGIA
CURSO DE ENGENHARIA CIVIL

Introdução ao MATLAB

Eduardo Paro Mesquita

Fortaleza, Ceará
Janeiro, 2013
Sumário
Apresentação .............................................................................................................................. 3
1. Introdução ........................................................................................................................... 4
2. Comandos Básicos .............................................................................................................. 4
2.1. Área de Trabalho ......................................................................................................... 4
2.2. Operações e Funções Básicas ...................................................................................... 6
3. Variáveis e Matrizes ........................................................................................................... 8
3.1. Operações entre Matrizes .......................................................................................... 11
4. Expressões Simbólicas ...................................................................................................... 13
5. Gráficos ............................................................................................................................. 14
5.1. Utilizando o Symbolic Toolbox ................................................................................ 14
5.2. Discretização ............................................................................................................. 16
6. Programação em MATLAB .............................................................................................. 18
Referências Bibliográficas ....................................................................................................... 22

2
Apresentação

Esta apostila tem como objetivo apresentar conceitos básicos do programa MATLAB, de
forma clara e objetiva, proporcionando fundamentação teórica para o uso do programa em
disciplinas da graduação e/ou projetos de pesquisa, além de fornecer base para posterior
aprofundamento na área.
Como existem materiais, apostilas e livros disponíveis sobre MATLAB de excelente
qualidade (consultar referências bibliográficas), procurou-se utilizar uma abordagem
diferente.
O método de exposição é baseado na aplicação dos conceitos apresentados na prática
através de figuras que mostram os diversos comandos e operações executados no programa,
proporcionando, assim, uma melhor visualização do conteúdo apresentado. Acredita-se que
esse seja o melhor método para uma primeira abordagem do MATLAB, visto que apresentar a
apenas a definição e a sintaxe de comandos, sem mostrar uma aplicação prática destes, torna-
se um processo cansativo e de pouca eficiência, o que prejudica o processo de aprendizagem.
Portanto essa apostila deve ser utilizada juntamente com outro material de
acompanhamento para esclarecer possíveis dúvidas que possam surgir ao longo do texto e
para obter maiores informações acerca dos comandos e métodos utilizados, garantindo, assim,
um aprendizado completo.

3
1. Introdução

O MATLAB (abreviação de MATrix LABoratory) é um programa de computador de


uso específico, projetado para otimizar cálculos aplicados a problemas técnico-científicos e de
engenharia. Além disso, o MATLAB também caracteriza-se por ser uma linguagem de
programação de alto nível com ambientes interativos para computação numérica, visualização
e programação.
Dentre diversas vantagens, o MATLAB possui uma ampla biblioteca de funções
predefinidas, o que torna mais fácil resolver problemas técnicos do que em outras linguagens
de programação, como C/C++. Entretanto, quanto maiores e mais complexas as rotinas e
funções utilizadas, a eficiência computacional possui um desempenho inferior quando
comparada com rotinas equivalentes em C/C++ por exemplo.

2. Comandos Básicos

2.1. Área de Trabalho

A área de trabalho do MATLAB é exibida na figura Figura 1.

Figura 1 – Área de trabalho

4
O MATLAB é capaz de executar cálculos interativos simples na área de trabalho. A
seguir alguns exemplos:

Figura 2 – Cálculos simples.

Veja que a cada cálculo realizado o MATLAB armazena o resultado em uma variável
numérica chamada “ans”, esse é o formato padrão do programa. Na próxima seção
aprenderemos a criar variáveis e armazenar valores (ou cadeia de caracteres) nelas. Na figura
Figura 3 é mostrado outro exemplo de cálculo básico realizado na área de trabalho. Observe
que dessa vez, além de valores numéricos, foi inserido uma cadeia de caracteres entre aspas
simples e também foi utilizado o operador “ponto e vírgula” que suprime a repetição da
entrada dos dados.

5
Figura 3 – Ambiente interativo.

2.2. Operações e Funções Básicas

No MATLAB as operações básicas são representadas por:

+ Soma
- Subtração
* Multiplicação
/ Divisão
^ Potência

As expressões são avaliadas da esquerda para a direita. A potenciação possui a maior


precedência, seguida pela multiplicação e divisão e por fim soma e subtração. É recomendado
o uso de parêntesis para organização das expressões.
Como citado anteriormente, o MATLAB possui diversas funções científicas pré-definidas,
criadas para facilitar e agilizar a resolução de problemas técnico-científicos. A seguir é
mostrada uma lista de algumas funções básicas.
6
abs(x) - valor absoluto de x.
acos(x) - arco cujo cosseno é x.
asin(x) - arco cujo seno é x.
cos(x) - cosseno de x.
exp(x) - exponencial de x
log(x) - logaritmo de x na base e.
log10(x) - logaritmo de x na base 10.
sin(x) - seno de x.
sqrt(x) - raiz quadrada de x.
tan(x) - tangente de x

EXEMPLO 01: A distância percorrida por uma massa em queda livre é dada pela equação:

1 2
x  x0  v0 t  gt
2
Use o MATLAB para calcular a posição da massa no tempo t = 4s, para x0 = 5 m, v0 = 10 m/s
e g = 9,81 m/s2.
Na Figura 4 é mostrada a solução do Exemplo 01.

Figura 4 – Solução Exemplo 01

7
Observe que o Exemplo 01 foi resolvido de 2 maneiras diferentes. No Método 1 foi utilizada
a equação e a substituição dos valores diretamente, enquanto que no Método 2 foram criadas
variáveis para representar os dados do problema. A utilização de variáveis motiva a
introdução do próximo tópico: Variáveis e Matrizes.

3. Variáveis e Matrizes

A unidade de dados fundamental do MATLAB é a matriz. Em definição simples, as


matrizes podem ser consideradas como arranjos de valores em formato de tabela, organizados
em linhas e colunas.

Figura 5 – Matriz

Até mesmo números (escalares) são tratados como matrizes no MATLAB, são
considerados matrizes com apenas uma linha e uma coluna.
Os tipos mais comuns de variáveis no MATLAB são double e char. Variáveis do tipo
double são a principal representação numérica no MATLAB, elas podem representar valores
reais ou complexos. O tipo char é composto por escalares ou matrizes representando
caracteres.

IMPORTANTE: Em outras linguagens de programação como C/C++, o nome e o tipo da


variável precisam ser declarados no programa antes da utilização da variável. No MATLAB
as variáveis podem ser criadas a qualquer momento, simplesmente associando valores a elas,
e os tipos de dados associados determinam o tipo da variável (CHAPMAN, 2003).

As diversas formas de inicialização de variáveis são mostradas na Figura 6.

8
Figura 6 – Inicialização de Variáveis

Para separar elementos de uma mesma linha pode ser introduzido um espaço em branco ou
uma vírgula separando os valores. O símbolo de ponto e vírgula é usado para separar
elementos de uma mesma coluna. No último bloco foi criada uma matriz 3 x 3 utilizando os
operadores citados acima. Observe, também, que é possível acessar os elementos de uma
matriz, como mostrado na Figura 7.

Figura 7 – Acessando elementos de uma matriz


9
IMPORTANTE: Existem funções predefinidas que facilitam a criação de determinados tipos
de vetores e matrizes. Algumas dessas funções são mostradas na Figura 8.

Figura 8 – Funções para criação de matrizes

Também é importante citar os operadores para criação de vetores, como o operador dois-
pontos. A tabela abaixo mostra um resumo desses principais operadores.
x = a:b Cria um vetor x iniciando com o valor a, com
incremento de 1 unidade até chegar no valor b,
ou no valor mais próximo a ele.
x = a:i:b Cria um vetor x iniciando com o valor a, com
incremento de i unidades até chegar no valor b
ou no valor mais próximo a ele.
x = linspace(a,b,n) Cria um vetor x iniciando com o valor a e
terminando com o valor b, com n elementos
igualmente espaçados entre si.

Na Figura 9 são mostrados alguns exemplos.

10
Figura 9 – Operadores para criação de vetores

3.1. Operações entre Matrizes

No MATLAB existem dois tipo de operações entre matrizes, chamadas de operações


estruturais e operações matriciais. Operações matriciais são as operações usuais entre
matrizes, como definidas na álgebra linear, enquanto que operações estruturais são operações
executadas elemento a elemento CHAPMAN, (2003). Na Figura 10 são mostradas algumas
operações matriciais básicas e na Figura 11é ilustrada a diferença entre operações matriciais e
operações estruturais.

Figura 10 – Operações Matriciais


11
Figura 11 – Operações Matriciais e Estruturais

Observe que nas operações estruturais deve-se colocar um ponto antes da operação. Como
mostrado na figura a multiplicação estrutural de A por B é representada por A.*B.

IMPORTANTE: É um erro comum confundir os dois tipos de multiplicação no MATLAB.


É necessário cuidado no momento de diferenciar multiplicação estrutural e multiplicação
matricial.

12
4. Expressões Simbólicas

O MATLAB, através do pacote Symbolic Toolbox, permite ao usuário a manipulação de


expressões que contém, além de números e variáveis numéricas (ou caracteres), variáveis
simbólicas, semelhante a programas como o Maple. A Figura 12 ilustra o uso de variáveis
simbólicas.

Figura 12 – Expressões Simbólicas

Observe que para declarar uma variável simbólica é necessário utilizar o comando syms. A
seguir uma lista de funções importantes para manipulação algébrica:
diff(f) - calcula a derivada de f.
compose(f,g) - determina a composta f(g(x)).
expand(expr) - expande uma expressão expr.
finverse(expr) - determina a inversa funcional da expressão expr.
pretty(expr) - exibe a expressão expr numa forma mais “bonita”.
simple - procura encontrar uma forma mais simples de escrever uma expressão expr.
simplify(expr) – simplifica a expressão.

Existem diversas outras funções para manipulação de expressões algébricas. É possível obter
mais informações usando o comando help symbolic
13
5. Gráficos

Basicamente, existem 2 formas de plotar gráficos de funções no MATLAB. A primeira, e


mais simples, é trabalhando com variáveis simbólicas e utilizando o comando ezplot. A
segunda forma é realizar uma discretização da função. As duas formas são ilustradas a seguir.

5.1. Utilizando o Symbolic Toolbox

O MATLAB possui um comando especial para plotar funções e expressões simbólicas,


trata-se do comando ezplot. A utilização do comando é ilustrada abaixo. Mais informações
podem ser obtidas usando o comando help ezplot.

Figura 13 – Criação de gráficos com expressões simbólicas

14
Observe que ao digitar o comando ezplot surge a janela de edição. Nela podem ser realizadas
diversas operações de edição e personalização de gráficos, como exemplificado na Figura 14.

Figura 14 – Edição de gráficos

Também é possível a criação de gráficos 3D. Como mostra a figura 15, o processo é
semelhante ao anterior apenas com diferença de que os comandos a serem utilizados podem
ser ezsurf e ezmesh ao invés do comando ezplot.

Figura 15 – Gráficos 3D
15
5.2. Discretização

Outra forma de criação de gráficos é através da discretização de funções, que consiste na


discretização do domínio da função, gerando uma sequência de números a partir de outra
sequência tendo como lei de formação a expressão da função. A figura 16 ilustra o processo.

Figura 16 – Gráficos (discretização de funções)

Também é possível fazer a edição dos gráficos no comando plot, o que é conveniente para a
criação de gráficos em arquivos script ou funções. Algumas opções de edição são ilustradas
na figura 17. A figura 18 ilustra a linha de comando e o gráfico resultante.

Figura 17 – Edição de Gráficos (plot)

16
Figura 18 – Criação e edição de gráficos (plot)

17
6. Programação em MATLAB

Até agora utilizamos o MATLAB como uma planilha de cálculo, executando os comandos
diretamente na janela de comandos. Entretanto, a ferramenta mais poderosa do MATLAB é
utilizá-lo para executar sequências de comandos armazenadas em arquivos. Esses arquivos
que contém essas sequências de comandos são chamados de M-files, pois a extensão de
arquivo padrão utilizada no MATLAB é o formato “.m”. Para criar um M-file basta acessar o
menu File e clicar em New e M-file ou digitar o comando edit na janela de comandos.
Os M-files podem ser divididos em arquivos script ou funções. As figuras seguintes
ilustram a criação de um programa simples para cálculo da média aritmética de 2 números,
enfatizando a diferença entre arquivos script e funções. É importante destacar a utilização de
alguns comandos importantes na programação em MATLAB. Tais comandos são
apresentados nos exemplos que se seguem.

Figura 19 – Exemplo (1) de Programa (arquivo script)


18
Figura 20 – Exemplo (2) de Programa (arquivo script)

Observe que os programas mostrados nas figuras 19 e 20 desempenham exatamente a mesma


função, com a diferença apenas de que no exemplo (1) o usuário digita os valores de entrada
na linha de comando, enquanto que no exemplo (2) esses valores são definidos no próprio
arquivo script. A melhor maneira de entrada de dados dependerá do tipo de situação e do
objetivo do programa. A figura 21 ilustra a criação de uma função para cálculo da média de 2
números.

Figura 21 – Exemplo de Função

19
É importante destacar a forma geral apresentada na figura 21, pois ela é a mesma para
qualquer função do MATLAB:

function [variáveis de saída] = Nome_da_Função (variáveis de entrada)

Após criada, a função pode ser utilizada na janela de comandos ou em outros programas como
qualquer outra função do MATLAB.

Nas figuras seguintes são apresentados programas com exemplos de estruturas de repetição
(for, while) e estruturas condicionais (if-else). Para conhecer outras importantes estruturas
utilizadas na programação em MATLAB, consultar as referências bibliográficas.

Figura 22 – Exemplo de Programa (estruturas de repetição e condicionais)

20
Figura 23 - Exemplo de Programa (estruturas de repetição e condicionais)

21
Referências Bibliográficas

Chapman, S. J. . Programação em Matlab para engenheiros. Thomson. 2003

http://ifgjatai.webcindario.com/MatLab_para_Engenharia.pdf

http://www.ime.unicamp.br/~cheti/intmatlab.pdf

http://coralx2.ufsm.br/petmatematica/arquivos/Apostila_MATLAB.pdf

http://stoa.usp.br/diegopfc/files/3037/16996/ApostilaMatLab_UNI.pdf

22