Você está na página 1de 20

Apostila de MatLab

Fabrício Leonardo Silva

2018
SUMÁRIO

1. INTRODUÇÃO. ............................................................................................ 2

1.1. Algoritmo e Lógica................................................................................. 2

1.2. Estrutura de um algoritmo ..................................................................... 3

1.3. Interface do MatLab. ............................................................................. 5

1.4. Variáveis. .............................................................................................. 5

1.5. Comandos Básicos. .............................................................................. 6

2. MANIPULAÇÃO DE VETORES E MATRIZES. ........................................... 8

2.1. Declarando vetores e matrizes. ............................................................. 8

2.2. Operações com vetores e matrizes. ...................................................... 9

3. Gráficos. .................................................................................................... 11

4. AJUSTE DE CURVAS E INTERPOLAÇÃO. .............................................. 18

5. ESTRUTURA DE REPETIÇÃO (LOOP). ................................................... 19

6. ESTRUTURA CONDICIONAL. .................................................................. 19

7. FUNÇÕES. ................................................................................................ 19

8. RESOLUÇÕES DE EDO’s......................................................................... 19

1
1. INTRODUÇÃO.

Acompanhado desta apostila vem os slides do curso de MatLab e duas


pastas, “Apoio” e “Programas”. Dentro da pasta “Apoio” está contido todo
material auxiliar do curso, que servirá de base para o desenvolvimento dos
algoritmos neste curso. Dentro da pasta “Programas” estão todos os algoritmos
que serão desenvolvidos neste curso.

1.1. Algoritmo e Lógica.

Algoritmos são procedimentos lógicos definidos, que levam à solução de


um problema. A lógica em programação é a técnica de desenvolver algoritmos.
Em outras palavras, o algoritmo é o passo a passo (método) que deve ser
seguido para solucionar um problema, e a lógica é a habilidade de organizar os
passos.

Para entender melhor o que é logica e o que é algoritmo, supõem-se que


uma pessoa está doente e vai a um hospital. No hospital, o médico receita para
ela um remédio que deve ser tomado de 12 em 12 horas e que não deve ser
tomado de estômago vazio (em jejum). Assim, a pessoa tem um “problema” para
resolver: tomar o remédio.

Admite-se que a pessoa decide começar o tratamento imediatamente, e


toma o primeiro comprimido as 15:00 horas, dessa maneira, ela tomará o
próximo comprimido as 3:00 horas. Com isso, ela irá tomar o primeiro
comprimido as 15:00; para tomar o segundo comprimido ela acordará as 2:45;
terá que fazer um lanche; tomar o segundo comprimido e voltar a dormir.
Seguindo esse procedimento (algoritmo), a pessoa conseguirá resolver o
problema em questão (tomar o remédio se curar), entretanto, será que essa é a
melhor maneira de resolve-lo?

Uma segunda proposta para solucionar o problema seria esperar até as


20:00 horas para começar o tratamento. Dessa maneira, o segundo comprimido
seria ingerido as 8:00 horas, próximo ao horário do café da manhã. Com isso, a
pessoa evitaria acordar na madrugada para tomar o remédio.

2
Nota-se que tanto no primeiro como no segundo caso o “problema” foi
resolvido. Entretanto, no primeiro caso, existe um desconforto maior no
tratamento para a pessoa, pois ela precisa levantar toda a madrugada para tomar
o remédio. Embora, os dois métodos solucionem o “problema” o segundo seria
uma escolha melhor.

De maneira semelhante, na programação, existem várias formas de


chegar na mesma resposta. A lógica utilizada para criar os algoritmos, ou seja,
a forma como é desenvolvido o procedimento a ser seguido pelo computador,
influenciará no desempenho do programa.

Voltando ao problema do remédio, supondo que a pessoa tenha uma


rotina fora do convencional, e trabalhe durante a noite e durma durante o dia
(como é o caso de garçons). Para essa pessoa o primeiro caso seria uma
escolha melhor que o segundo. Na programação ocorre o mesmo, dependendo
da forma como o algoritmo será aplicado ou os recursos disponíveis pelo
programador a lógica que deve ser utilizada para solucionar o problema poderá
ser diferente.

Deve-se ter em mente que a lógica utilizada pode mudar de problema para
problema, e pela forma como o programa é aplicado. Não existe um padrão a
ser seguido. Dessa forma, duas pessoas podem utilizar logicas diferentes para
criar algoritmos para resolver o mesmo problema, e os dois algoritmos
apresentarem desempenhos semelhantes.

1.2. Estrutura de um algoritmo

Todo algoritmo, por mais complexo que seja, pode ser dividido em três
etapas: entrada de dados, processamento de dados e saída de dados. Na Figura
1 é apresentado a estrutura mais simples de um algoritmo.

Figura 1 - Estrutura básica de um algoritmo

3
Exemplo: Algoritmo para calcular a média de um aluno e informar sua situação.

Para desenvolver o algoritmo, a princípio deve-se pensar nas três etapas


mostradas na Figura 1. As notas do aluno serão as entradas de dados, pois é
com elas que o programa vai poder calcular a média do aluno. No
processamento de dados, será calculada a média do aluno e identificado a
situação do aluno. A situação do aluno (aprovado, exame ou reprovado) será a
saída de dados do algoritmo. Na Figura 2, é apresentado um fluxograma do
algoritmo.

Figura 2 - Fluxograma do algoritmo para calcular a média de um aluno e informar sua situação.

Com o fluxograma é possível escrever o algoritmo

- As notas do aluno são informadas;


- Cálculo da média;
- Se a média for maior que 7;
- Aluno Aprovado.
- Se a média menor que 7 e maior que 4;
- Exame.
- Se a média menor que 4;
- Aluno reprovado.

4
1.3. Interface do MatLab.

Na Figura 3 é apresentado a interface do MatLab.

--

Figura 3 - Interface do MatLab.

1.4. Variáveis.

Uma variável pode ser entendida como um espaço na memória do


computador reservado para armazenar informações. As variáveis possuem três
propriedades: nome, tipo e conteúdo. O nome é a identificação da variável. O
tipo determina quais conteúdos podem ser inseridos na variável, se são valores
numéricos inteiros (int), ou numéricos reais (float), ou caracteres (strings) ou
lógicos (bool). E o conteúdo é a informação armazenada na variável.

Para algumas linguagens de programação, antes de armazenar um valor


em uma variável, é necessário informar ao programa o tipo de dado que a
variável vai armazenar, se é um número (inteiro ou real), se é um caractere ou
se é um valor lógico (sim ou não). Esse processo de criar a variável é chamado
de declarar a variável.

5
No MatLab para declarar uma variável não é necessário informar o tipo de
dado que a variável vai armazenar, dessa maneira, só é necessário informar o
nome da variável e o dado que ela vai armazenar. Na Figura 4, é mostrado dois
exemplos de como é feita a declaração no MatLab. Pode-se notar que para
armazenar caracteres na variável, eles devem ser colocados entre apóstrofos.

Figura 4 - Declaração de variável no MatLab.

O nome da variável deve respeitar as seguintes regras:

 Deve iniciar com letra.


 Pode possuir no máximo 32 caracteres.
 Não pode conter espaços nem pontuação.

Ainda vale lembrar que no MatLab há diferença entre letras maiúsculas e


minúsculas. E as variáveis literais devem ser declaradas entre apóstrofo.

1.5. Comandos Básicos.

Na Tabela 1, é apresentado alguns dos comandos do MatLab. Com esses


comandos é possível realizar as operações matemáticas básicas.

Tabela 1 - Comandos básicos no MatLab.

Comando Descrição
+ Soma
- Subtração
* Multiplicação
/ Divisão
^ Potenciação
sqrt(x) Raiz Quadrada
abs(x) Módulo de um número
exp(x) Exponencial

6
log(x) Logaritmo natural (ln)
floor(x) Arredonda x para inteiro na direção de menos infinito
ceil(x) Arredonda x para inteiro na direção de mais infinito
fix(x) Arredonda x na direção de zero
round(x) Arredondar para o próximo número inteiro
cos(x) Cosseno do ângulo x
sin(x) Seno do ângulo x
tan(x) Tangente do ângulo x
acos(x) Arco cosseno de x
asin(x) Arco seno de x
atan(x) Arco tangente de x

Na Figura 5, são apresentados exemplos da utilização de alguns dos


comandos no MatLab.

Figura 5 - Exemplos de utilização de alguns comandos.

7
2. MANIPULAÇÃO DE VETORES E MATRIZES.

No MatLab os valores inseridos nas variáveis são armazenados em


matrizes. Quando o valor inserido é um escalar, ele é armazenado numa matriz
1x1. Dessa maneira, é possível manipular matrizes e vetores no MatLab.
Lembrando que um vetor pode ser entendido como uma matriz coluna ou linha.

2.1. Declarando vetores e matrizes.

Para declarar um vetor ou uma matriz, seus elementos devem estar entre
colchetes, e é declarado uma linha de cada vez. Para separar as colunas de uma
mesma linha, os elementos devem estar separados por um espaço simples ou
uma vírgula. Para separar os elementos de uma linha e de outra, deve-se usar
o ponto e vírgula. Para exemplificar o processo de declaração de matriz, deseja-
se declarar a seguinte matriz:

1 2 3
𝑀𝑎𝑡𝑟𝑖𝑧 = [ ]
4 5 6
Na Figura 6 é mostrado duas possíveis maneiras de como declarar uma
matriz no MatLab. Na primeira as colunas são separadas por espaço simples e
na segunda as colunas são separadas por virgulas.

Figura 6 - Exemplo de declaração de matrizes no MatLab.

Caso seja desejado criar um vetor que vá de 1 até 3 variando de 0,5, ou


seja, 𝑣𝑒𝑡𝑜𝑟 = [1 1,5 2 2,5 3 ]. Na Figura 7 é apresentado outra forma de
declara este vetor, primeiramente é informado o primeiro valor do intervalo (1)
posteriormente é inserido dois pontos e informado o intervalo desejado (0,5), por
fim é inserido dois pontos novamente e o intervalo final (3).

8
Figura 7 - Exemplo de declaração de vetores no MatLab.

2.2. Operações com vetores e matrizes.

As operações com vetores e matrizes no MatLab são feitas de forma


idêntica as operações com vetores e matrizes na matemática. Dessa Maneira,
para somar e subtrair matrizes (ou vetores), todas as matrizes envolvidas na
operação devem conter o mesmo número de elementos. Supondo duas
matrizes:

1 2 1 1 0 0
𝐴 = [1 2 2] 𝐵 = [0 1 0]
0 2 0 0 0 1

Na Figura 8, são apresentados exemplos de soma e subtração das


matrizes “A” e “B”.

Figura 8 - Exemplo de soma e subtração de matrizes no MatLab.

Na multiplicação a primeira matriz deve ter o número de colunas igual ao


número de linhas da segunda matriz. Como a matriz “A” possui 3 colunas e a
matriz “B” possui 3 linhas, é possível multiplicar A por B. Na Figura 9, é
apresentado um exemplo de multiplicação de matrizes.

9
Figura 9 - Exemplo de multiplicação de matrizes no MatLab.

Agora, supondo que é desejado multiplicar a matriz “A” e “B” elemento a


elemento, ou seja, o elemento da posição 1x1 da matriz “A” vezes o elemento da
posição 1x1 da matriz “B”, e assim sucessivamente até os elementos da posição
3x3. Para realizar esse procedimento, deve-se colocar um ponto antes do sinal
de multiplicação. Na Figura 10, é apresentado um exemplo de multiplicação de
matrizes, elemento a elemento.

Figura 10 - Exemplo de multiplicação de matrizes, elemento a elemento.

10
3. Gráficos.

Na Tabela 2 são apresentadas as principais funções utilizados para gerar


(plotar) gráficos.

Tabela 2 - Principais funções para gerar gráficos

Função Descrição
figure() Cria uma nova figura.
plot(x,y) Plotar gráfico em 2D.
subplot(a,b,c) Plotar subdiagramas.
bar(x,y) Cria um diagrama de barras verticais.
title() Insere título.
xlabel Nomeia o eixo x.
ylabel Nomeia o eixo y.
grid on/off Ativa/Desativa grade no gráfico.
Legend Adiciona legenda ao gráfico.

Para o estudo de gráficos no MatLab, será utilizada a pasta “Apoio”.


Dentro da pasta “Apoio”, serão utilizados os dados contidos no arquivo
“3Graficos.txt”. No arquivo, há uma tabela com quatro colunas, referente as
coordenadas de três funções. Na primeira coluna estão contidos os valores da
variável independente. Da segunda a quarta coluna, estão contidos os valores
das funções em função da variável dependente. Em outras palavras na primeira
coluna estão os valores de “𝑥” e nas demais colunas os valores respectivos de
“𝑓(𝑥)”.

Para importar os dados do arquivo “3Graficos.txt é utilizado o comando


“load(arquivo)”, como mostra a Figura 11.

Figura 11 – Exemplo de como importar dados para o MatLab.

11
Na Figura 11, as três primeiras linhas servem para preparar o ambiente do
MatLab para o programa. O comando “close all” fecha todas as figuras abertas.
O comando “clear all” deleta todas as variáveis, dessa maneira, evita um possível
conflito caso seja declarado uma variável já existente na área de trabalho
(Workspace). E comando “clc” limpa a janela de comando (Command Window).

Como pode ser observado Figura 11, para utilizar a função “load(arquivo)”,
basta informar entre apóstrofos o nome do arquivo e indicar a variável em que
os dados serão armazenados. Dessa maneira, a variável “dados” armazenará os
dados do arquivo. Nas quatro últimas linhas são armazenadas as “coordenadas”
das funções nas variáveis “𝑥”, “𝑓𝑥1”, “𝑓𝑥2” e “𝑓𝑥3”. Com isso é possível criar os
gráficos. Na Figura 12 é apresentado um exemplo de como plotar gráficos no
MatLab.

Figura 12 - Exemplo de como plotar um gráfico no MatLab.

Na primeira linha da Figura 12, o comando “figure(1)” cria uma figura, janela
em que será plotado o gráfico. Na segunda linha, o comando “plot(x,fx1)” plota o
gráfico da primeira função. Os demais comandos criam títulos aos eixos e ao
gráfico (que devem ser inseridos entre apóstrofos), e também criam grades
(linhas horizontais e verticais) ao fundo da curva. Na Figura 13 é apresentado o
gráfico obtido pelas linhas de comando da Figura 12.

12
Figura 13 - Gráfico da primeira função do arquivo 3Graficos.txt.

Caso seja desejado alterar a cor da curva do gráfico, basta o comando


(letra) de cor adicionar entre apóstrofos. Na Tabela 3 é apresentando a relação
entre os comandos e cores no MatLab.

Tabela 3 - Comandos para alteração de cores dos gráficos.

Comando Cor
y Amarelo
m Rosa
c Azul (ciano)
r Vermelho
b Azul
g Green
w Branco
k Preto

13
Outra alteração possível nos gráficos é o tipo de linha. Na Tabela 4 são
apresentados os comandos que devem ser utilizados para alterar o tipo de linha
do gráfico.

Tabela 4 - Comandos para alteração do tipo de linha do grafico.

Comando Linha
. Pontilhada
-. Traço Ponto
.- Continua com pontos
-- Tracejada
- Solida

Agora é desejado plotar as três funções no mesmo gráfico, para isso, o


comando “plot” é modificado para “plot(x1,y1,x2,y2,...,xn,yn)”. Na Figura 14, é
apresentado um exemplo de como plotar as três funções em um mesmo gráfico.

Figura 14 - Exemplo de como plotar mais de uma função em um gráfico no MatLab.

No exemplo da Figura 14, as três funções são plotadas juntas no mesmos


gráficos. As curvas das funções são diferenciadas por cor e tipo de linha. A
primeira função é plotada em vermelho com linha tracejada, a segunda função é
plotada em verde com linha continua, e a terceira função é plotada em azul com
linha continua. Na Figura 15 é apresentado o gráfico gerado utilizando os
comandos da Figura 14.

14
Figura 15 - Gráfico com as três funções do arquivo 3Graficos.txt.

Por fim, caso seja necessário plotar mais de um gráfico na mesma figura,
o comando “subplot” deve ser utilizado. Este comando divide a figura em n linhas
e m colunas, e em cada subdivisão pode ser plotado um gráfico. Dessa maneira,
se for dividido a figura em duas linhas e duas colunas é possível plotar 4 gráficos
na mesma figura. No comando “subplot”, primeiro é informado o número de
linhas que é desejado dividir a figura, posteriormente é informado o número de
colunas, em último, é informado a posição em que o gráfico será plotado. Na
Figura 16, é apresentado um exemplo de aplicação do comando “subplot”.

15
Figura 16 - Comandos para plotar mais de um gráfico na mesma figura.

Pela Figura 16, é possível notar que a figura é dividida em duas linhas, e a
primeira linha é dividida em duas colunas. Na primeira posição da primeira linha
é plotado a primeira função, e na segunda posição a segunda função. Na
segunda linha é plotado um gráfico com as duas funções. Na Figura 17 é mostrado
o gráfico obtido com os comandos da Figura 16.

16
Figura 17 - Gráfico obtido no exemplo da utilização do subplot.

17
4. AJUSTE DE CURVAS E INTERPOLAÇÃO.

Na Tabela 5, são apresentadas as principais funções utilizadas para


realizar ajuste de curvas e interpolação.

Tabela 5 – Principais funções utilizadas no ajuste de curvas e interpolação.

Função Descrição
polyfit(x,y,n) Ajusta a curva y(x) para um polinômio de grau n.
polyval(P,x) Retorna o valor do polinômio P em x.
Interp1(x,y,xq) Retorna a interpolação da curva y(x) para o valor xq.

Para o estudo de ajuste de curvas no MatLab, será utilizado novamente


os dados contidos no arquivo “3Graficos.txt”. A terceira curva do arquivo, foi
obtida por um polinômio de terceiro grau, expresso na Equação 1:

𝑃(𝑋) = 0,2 ∙ 𝑥 3 − 𝑥 2 + 0,8 ∙ 𝑥 (1)

18
5. ESTRUTURA DE REPETIÇÃO (LOOP).

6. ESTRUTURA CONDICIONAL.

7. FUNÇÕES.

8. RESOLUÇÕES DE EDO’s.

19

Você também pode gostar