MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados...

95
MINI CURSO MATLAB GET – Engenharia de Produção

Transcript of MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados...

Page 1: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

MINI CURSO MATLAB

GET – Engenharia de Produção

Page 2: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

AGENDA

• Objetivo

• Histórico

• Layout

• Help

• Dados

• Funções

• Gráficos

• Programação

Page 3: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

OBJETIVO

Introduzir o MATLAB (MATrix LABoratory) como

ferramenta de programação computacional, usando

como base o cálculo de matrizes, bem como algumas

de suas aplicações.

Page 4: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

HISTÓRICO

• Final dos anos 70: Criação da linguagem MATLAB por Clever Moler

• 1983: Criação da ferramenta MATLAB, e da empresa MathWorks, detentora dos seus direitos comerciais

Page 5: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

LAYOUT

Page 6: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

LAYOUT

Command Window

Page 7: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

LAYOUT

Command History Window

Page 8: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

LAYOUT

Workspace

Page 9: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

LAYOUT

Edit / Debug Window

Page 10: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

LAYOUT

Figure Window

Page 11: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

HELP

• Ferramenta de ajuda sobre todas as funções, comandos e operadores existentes no MATLAB.

• Escrever na janela de comando:

“help função/comando/operador “

Page 12: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

HELP

Help

Page 13: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS

• Linguagem (M-código)

• Simples e objetiva

• Unidade fundamental de dados: matriz (array)

• Índice começa com 1

Page 14: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS

• Usa-se o ponto e vírgula ( ; ) ao final de cada linha de comando caso não se queira mostrar seu processamento na janela de comando

• Para fazer comentários usa-se o símbolo de porcentagem (%)

• Existem inúmeras funções pré-definidas

• Permite ao usuário criar sua própria biblioteca de funções

Page 15: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOSÉ possível salvar o código de um programa como um arquivo de texto: MATLAB-Editor

New/M-File

Page 16: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS• Declaração de dados

• Não é necessário declarar o tipo de variável• nome_da_variável=[dados];• Exemplos:

>> matriz1=[1 2 3 4] >> matriz2=[ 3 4 5; 6 7 8]

matriz1 = matriz2 =

1 2 3 4 3 4 5 6 7 8

Page 17: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS• Acessando um elemento da matriz

• nome_da_variavel(linha,coluna)• Exemplo:

>> matriz2=[ 3 4 5; 6 7 8]; >> matriz2(1,2)

ans =4

Page 18: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS• Acessando a última linha ou o último elemento de

uma matriz• Exemplo:

-Último elemento -Última linha>> matriz2(end,end) >>matriz2(end,:)

ans = ans =

8 6 7 8

Page 19: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS• Acessando x elementos de uma linha/coluna da

matriz• Exemplo:

>> matriz2(2,1:2)

ans =

6 7

Page 20: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS

• Outras formas de inicialização de matrizes• nome_da_variável = primeiro:incremento:último• Exemplo:

>> a=1:2:10

a =

1 3 5 7 9

Page 21: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS• nome_da_variavel=linspace

(primeiro,último,número de elementos)• Exemplo:

>> b=linspace(2,10,5)

b =

2 4 6 8 10

Page 22: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS• Operações com escalares e matrizes

• Escalares: Todas as operações (soma, subtração, multiplicação, divisão, potenciação etc) são feitas de forma simples

• Exemplo:

>> a=2; b=3;>> a/b

ans =

0.6667

Page 23: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS

• Matrizes:• Soma e Subtração: matrizes de mesma

dimensão• Multiplicação: número de colunas da

primeira igual ao número de linhas da segunda

• Divisão: matrizes com mesmo número de linhas

• Potência: matrizes quadradas

Page 24: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS

• Exemplo:

>> A=[ 1 2 3]A = 1 2 3

>> B=[ 3 4 5]B = 3 4 5

>> A+Bans =4 6 8

>> A/Bans =0.5200

Page 25: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS

• Operadores Relacionais• Realizam operações de comparação entre

variáveis

Sinal Significado

< Menor

<= Menor ou igual

> maior

>= Maior ou igual

== Igual

~= Diferente

Page 26: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS

• Operando elemento a elemento• As operações são feitas elemento a elemento• Matrizes quadradas• Antes do sinal da operação desejada coloca-se um ponto ( . )• Exemplo:

>> A./B

ans =

0.3333 0.5000 0.6000

Page 27: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS

• Ao utilizar os operadores relacionais, os dados são retornados em forma de matriz, com 0 para falso e 1 para verdadeiro• Exemplo:

>> d= [12 56 78] >> d>ed = ans = 12 56 78 1 0 1

>> e=[ 2 90 22]e =2 90 22

Page 28: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS

• Concatenação de matrizes/vetores

• Consiste em agrupar as variáveis em uma única matriz

• Horizontal: Mesmo número de linhas• Vertical: Mesmo número de colunas• Pode-se também agrupar somente alguns

elementos de determinadas matrizes

Page 29: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS

• Exemplos

>> A >> C=[A;B]A = C =

1 2 3 1 2 3 3 4 5

>> BB = >> C=[B(1,1);A(1,2)]

3 4 5 C = 3>> C=[A B] 2 C = 1 2 3 3 4 5

Page 30: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS – Exercícios

1) Declare as seguintes matrizes:

A= B= [ 1 3 5 ] [10] [ 2 4 6 ] [12] [ 9 8 7 ] [14]

2) Realize as operações a. A(:,1) + Bb. A(1 ,:) – B’c. A*B

Page 31: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

DADOS – Exercícios

3) Concatene as matrizes utilizando B’ (matriz transposta).

4) Divida os elementos da matriz A por 2.

5) Concatene as duas primeiras linhas da matriz A com a matriz B’ (transposta).

6) Declare uma matriz com 10 elementos entre 0 e 1, usando “linspace”.

Page 32: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

Page 33: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

Page 34: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

Page 35: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

FUNÇÕES• Funções Prontas do MATLAB

• Funções de inicialização de matrizes

Funções Ações

zeros(m,n) Gera uma matriz m x n de zeros.

ones(n) 

Gera uma matriz n x n de um (1).

ones(m,n) Gera uma matriz m x n de um (1).

ones(size(array2)) Gera uma matriz de um (1) do mesmo tamanho do array2.

eye(m,n) Gera uma matriz identidade m x n

length(array2) Retorna o tamanho do vetor, ou a maior dimensão de um array bidimensional.

size(array2) Retorna dois valores especificando o numero de linhas e colunas em array2. 

input (‘Enter data: ’) Recebe dados de entrada do teclado.

Page 36: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

FUNÇÕES• Exemplos

>> eye(2)ans =

1 0 0 1

>> aa =

1 2 3 4 5 6

>> size(a)ans =

2 3

Page 37: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

FUNÇÕES

• Funções Trigonométricas

• Funções Exponenciais

Funções Significado

sin Seno

asin Arco seno

cos Cosseno

acos Arco cosseno

tan Tangente

atan Arco tangente

Funções Significado

exp Exponencial

log Logaritmo natural

log10 Logartimo base 10

sqrt Raiz quadrada

Page 38: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

FUNÇÕES• Funções Complexas • Funções de Aproximação

Funções Significado

abs Valor absoluto

angle Ângulo de fase

conj Complexo conjugado

imag Parte imaginária

real Parte real

Funções Significado

fix Aproximação na direção de zero

floor Aproxima na direção de -∞

ceil Aproxima na direção de +∞

round Aproxima para o inteiro mais próximo

rem Resto da divisão

Page 39: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

FUNÇÕES

• Outras funções matemáticas

• Derivada: necessário criar a função como char, usa-se apóstrofe

• Exemplo :

>> f='x^2+3' >> derivada=diff(f)

f = derivada =

x^2+3 2*x

Page 40: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

FUNÇÕES

• Integral: Integral Indefinida• Exemplo:

>> f = '3*x^2 - 15*x + 18' % Cria a função como char

f =3*x^2 - 15*x + 18

>> integral = int(f) % faz a integral da função

integral =x^3-15/2*x^2+18*x

Page 41: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

FUNÇÕES

• Aleatória: gera matrizes de números aleatórios rand(i,j) : gera matriz de i linhas, j colunas, com

elementos que variam de 0 a 1 randint(i,j,[mínimo máximo]) : gera matriz de i linhas, j

colunas, com elementos inteiros que variam de mínimo a máximo

Exemplo:

>>a = rand(1,3) a = [0.0344 0.4387 0.3816]

>>b = randint(1,4,[1 100])b = [77 80 19 49]

Page 42: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

FUNÇÕES – Exercícios

1) Calcule a integral de f(x)=cos(x) e de f(x)=3x²+5x

2) Calcule a derivada de f(x)=cos(x) e de f(x)=3x²+5x

Page 43: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

Page 44: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

Page 45: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

• Existe uma extensa variedade de formas gráficas para representar vetores e matrizes no MATLAB

• Possível gerar gráficos em duas ou três dimensõesComando Descrição

plot Plotar linear

loglog Gráfico em escala logarítmica

semilogy Gráfico em escala semi-logarítmica (eixo y)

semilogx Gráfico em escala semi-logarítmica (eixo x)

fill Desenhar polígono 2D

polar Gráfico em coordenadas polar

bar Gráfico de barrashist Histograma

Page 46: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

• Plot• Mais comum em plotagens bidimensionais

>> plot(x,y,’Opções de Estilo’)

• Exemplo:

>> t = linspace(0,1,1000);>> plot(t,sin(2*pi*t), ’red’)

Page 47: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

Gráfico Seno

Page 48: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

• Para produzir um gráfico linear dos elementos de um vetor Y pelos índices de X, deve-se utilizar:

>>plot(y)

• Exemplo:

>> y = [5 4 6 9]>> plot (y)

%Pontos marcados:%(1,5) (2,4) (3,6) (4,9)

Page 49: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

Figure/Exemplo

Page 50: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

• A cada comando “plot”, um novo gráfico substitui o anterior. Para que isso não ocorra, existem três opções de comando:

Figure

Hold on/ Hold off

Subplot

Page 51: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS Figure : Abre uma nova janela onde o novo gráfico

será gerado

Exemplo:

>> x=[ 1 2 3 4];>> y=[ 2 4 6 8];>> plot (x,y)>> figure>> plot (y,x)

Page 52: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

Hold on / Hold off: sobrepõe gráficos

Exemplo:>>t = linspace(0,1,1000);>>a=sin(2*pi*t);>>b=cos(2*pi*t);>>plot(a);>>hold on>>plot(b);>>hold off

Page 53: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

Gráfico Hold on/Hold off

Page 54: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

Subplot: Adiciona numa mesma janela outros gráficos

– Divide a janela em a x b gráficos– Coloca a curva no p-ésima gráfico

>>Subplot (a,b,p)

Page 55: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

Exemplo

>>t = linspace(0,1,1000);>>a=sin(2*pi*t);>>b=cos(2*pi*t);>>subplot(2,1,1)>>plot(a)>>subplot(2,1,2)>>plot(b)

Page 56: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

Gráfico Subplot

Page 57: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

• fplot• O comando fplot pode ser utilizado para plotar

gráficos de funções• fplot(‘função’,[intervalo de valores], opções de

estilo);• Exemplo>> fplot('cos(x)',[0,pi],'green')

Page 58: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

Gráfico fplot

Page 59: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

• Existem alguns comandos para melhorar a aparência dos gráficos e auxiliar na identificação dos dados

• title (inclui um título ao gráfico)• xlabel (permite que o eixo das abscissas do gráfico seja identificado)• ylabel (permite que o eixo das ordenadas do

gráfico seja identificado)

Page 60: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

• text (adiciona um texto na posição indicada)>>text (x,y, 'texto desejado')

• Exemplo:>> x=[ 4 8 12 16];>> y=[ 1 2 3 4];>> plot(x,y,'green')>> xlabel('x');>> ylabel('y');>> text(8,2,'(8,2)')

Page 61: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS

Gráfico Comandos Especiais

Page 62: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

GRÁFICOS – Exercícios

1) Plote o gráfico da função f(x)=2x², sendo o vetor x=[ 0 1 2 3 4 ]. Utilize a cor que desejar.

2) Plote o gráfico de f(x)=sin(x) e g(x)=cos(x), sendo x=linspace(0,2pi,1000), em:

a. Duas janelas separadasb. No mesmo gráficoc. Na mesma janela, em gráficos separados

Page 63: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

1) >> clc>> close all>> clear all>> x=[0 1 2 3 4];>> y=2.*x.^2;>> plot(x,y,'blue')

Page 64: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

Page 65: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO DOS EXERCÍCIOS

2) a. >> clc>>close all>> clear all>>x=linspace(0,2*pi,1000);>>y=sin(x);>>z=cos(x);>>plot(x,y,'green');>>figure>>plot(x,z,'red');

Page 66: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

Page 67: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS2)b.>> clc>>close all>>clear all>>x=linspace(0,2*pi,1000);>>y=sin(x);>>z=cos(x);>>plot(x,y,'green');>>hold on>>plot(x,z,'red');>>hold off

Page 68: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

Page 69: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

2)c.>> clcclose allclear allx=linspace(0,2*pi,1000);y=sin(x);z=cos(x);subplot(1,2,1);plot(x,y,'green');subplot(1,2,2);plot(x,z,'red');

Page 70: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

Page 71: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

• Operadores Lógicos:

Page 72: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

• Comandos de limpeza

CLC – Limpa a tela de programação

CLEAR ALL – Limpa todas as variáveis armazenadas

CLOSE ALL – Fecha todas as janelas abertas

Page 73: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

• Indentação Permite que o código digitado no editor seja

organizado de acordo com a hierarquia dos comandos

A hierarquização é feita tendo como base o espaçamento das margens de cada linha

Para indentar um código, basta selecioná-lo, clicar com o botão direito do mouse e escolher a opção “Smart Indent”

Page 74: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

• Saída de dados

• Existem alguns comandos que possibilitam a saída de dados, bem como permitem que o usuário os insira

• Os mais utilizados são disp, input, fprintf

Page 75: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

disp• O comando disp permite que mensagens sejam

exibidas ao usuário• disp(‘mensagem a ser exibida’);• Exemplo

>> disp('MINI CURSO DE MATLAB');MINI CURSO DE MATLAB>>

Page 76: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

input• O comando input permite que o usuário insira dados• Usado para trocar o valor de variáveis sem alterar o

código do programa• Exemplo

>> b=input('Insira o valor de b:');Insira o valor de b:

Page 77: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

fprintf• Método mais simples para saída de dados• Permite a combinação de frases com variáveis

numéricas de uma dimensão (escalar ou elemento de matriz)

• Exemplo

>> a=10;>> fprintf('o valor de a é %d',a);o valor de a é 10>>

Page 78: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

• Processos iterativos

If / If-Else

if (condição1)expressão (ões) 1;

elseif (condição2)expressão (ões) 2;

elseexpressão (ões) n;

end

Page 79: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

Exemplo:

a=100;b=40;

if ((a+b)>=120)c=a+b;

else c=a*b;

end// O valor de “c” ao final, será 140.

Page 80: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

While

while (condição)expressão (ões);

end

Exemplo:

a=100;while(a<110)

a=a+1;end// Neste caso, serão dados 10 loops.

Page 81: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

For

for variavel_de_iteração = inicio : fimexpressão (ões);

endExemplo:

a=0; n=5;for i=1:n

a=a+1;end//A variável “a” vai sair do loop com o valor 5.

Page 82: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

Switch – Case

switch variavelcase 0

expressão (ões) 1;case {1, 2}

expressão (ões) 2;case 3

expressão (ões) 3;otherwise

expressão (ões) 4;end

Page 83: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

Exemplo:

a=50;switch a

case 0b=a+100;

case 50b=a;

otherwiseb=0;

End//Ao final, b terá seu valor igual a 50

Page 84: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

• Criando Funções

function saida = nome_da_funcao(entrada) expressões;

*Os arquivos de função devem ser salvos com o mesmo nome dado à função*Se houver mais de uma entrada, separar por vírgulas*Se não deseja retornar nada, colocar apenas o nome e a(s) entrada(s)

Page 85: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

Exemplo:

Função: function total = soma(a,b)

total= a+b;

Programa:m=5; n=3;resultado = soma(m,n);

//A variável “resultado” terá valor 8 ao final.

Page 86: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

• Tempo de Simulação (Tic Toc)

tic

programa

toc

*A utilização do tic toc na programação faz com que o MATLAB mostre o tempo de duração da simulação que ocorreu entre eles

Page 87: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

• Modo Debug• É usado para acompanhar o desenvolvimento do

programa, passo a passo, no Editor, após este ter sido salvo.

• Utilizando:• Clicar no traço ao lado do número referente à linha a partir

da qual se deseja acompanhar. Aparecerá uma bolinha vermelha.

• Clicar em “Debug” no Barra de Menu e em “Run”. Aparecerá uma setinha verde na linha em que o programa está parado.

• Dar F10 para que o programa prossiga para a próxima linha.

Page 88: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

Editor/Debug

Page 89: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO

• Observações:

• Para terminar o modo debug, clicar em “Debug” e em “Exit Debug Mode”.

• A cada passo do modo debug, pode-se ver os valores contidos em cada variável ao posicionar a seta do mouse em cima dela.

Page 90: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

PROGRAMAÇÃO - Exercícios

1) Faça um programa, utilizando alguma estrutura de repetição, que armazene, em um vetor, todos os números múltiplos de 3, de 0 a 100.

2) Do vetor criado no exercício anterior, faça um programa que crie outro vetor, com apenas os números múltiplos de 5. Ou seja, o vetor novo terá os múltiplos de 3 e 5.

Page 91: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

1) >> x=[]; %declara o vetor x sendo vaziofor i=1:33 %existem 33 múltiplos de 3 entre 0 e 100

x=[x i*3];end

Page 92: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

Page 93: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

2) >> %multiplos de 3x=[];for i=1:33

x=[x i*3];end%testando os multiplos de 5 no vetor xy=[];for a=1:33

if(rem(x(a),5)==0)y=[y x(a)];

endend

Page 94: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

RESOLUÇÃO EXERCÍCIOS

Page 95: MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação.

Dúvidas?