GET – Engenharia de Produção

Slides:



Advertisements
Apresentações semelhantes
Continuidade: sem interrupções
Advertisements

Estruturação de Linguagens (Pascal e C++)
Carlos André Vaz Junior
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Linguagem C Marco Reis.
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
MATLAB Comandos Básicos.
Ciclos, Vectores e Gráficos Simulação da Queda de Corpos II
PLANILHA DE CALCULO.
Informática Aplicada.
Excel Profa. Cristina M. Nunes.
1 MergeSort Seja uma lista A de n elementos. O algoritmo consiste das seguintes fases Dividir A em 2 sub-listas de tamanho n/2 Conquistar: ordenar cada.
Instrutor: Marcelo Escobar
Curso MATLAB 6 Instrutor: Marcelo Escobar Complementação da Introdução.
LINGUAGEM C.
Iniciação ao MatLab Profa Dra. Rossana Lott Rodrigues
The language of tecnical computing
Curso de PHP O comando // serve para comentário linear no php
Introdução ao JavaScript
Linguagem C Estruturas de Seleção.
Revisão da Linguagem C.
Classes e objetos Arrays e Sobrecarga
Tópicos Tipos de Dados Variáveis por Valor Variáveis por Referência
Folha de cálculo Conceitos básicos Criação de uma folha de cálculo
Folha de Cálculo Como Dar Nome a Uma ou mais Células?
Introdução a Computação e Cálculo Numérico
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Aula prática 6 Vetores e Matrizes
Matlab– Noções introdutórias
Análise de modelos matemáticos por meio de simulações computacionais
FOLHA DE CÁLCULO.
Introdução ao MatLab Aula 4
Aula 02 Variáveis, Matrizes, Gráficos
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Seminário 1: Revisão de C
Matlab Mini Curso PET 2012.
Monitoria de Sistemas Inteligentes
Sistemas de Controle de Aeronaves II
Fundamentos de Programação
Linguagem e Ambiente Scratch
Informática André alencar.
Minicurso MATLAB Básico
Linguagem de Programação JAVA
MICROSOFT WORD AULA DO DIA 16/10/2009
Frações e porcentagens
Planilha Eletrônica - Excel
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Linguagem de Programação JAVA
Programação e Aplicações Gráficas
Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da.
Introdução ao MATLAB 5.3 para Hidrólogos
Curso de modelagem numérica computacional com o software livre (Octave) Instituto Federal de Educação, Ciência e Tecnologia do Piauí –IFPI, campus Parnaíba.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Monitoria de Sistemas Inteligentes IF684
MatLab (Matrix Laboratory)
MATLAB - Matrix Laboratory Adaptado de Profa
Introdução à Programação
Fundamentos de Excel.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
FOLHA DE CÁLCULO.
Microsoft Excel.
Usando Excel Prof. Rosemberg Trindade. Parte 1 Representação tabular de distribuição com variáveis discretas e contínuas.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas
MatLab (Matrix Laboratory)
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
Algoritmos Grupos de Slides No 2. Prof. SIMÃO Estrutura de decisão simples “Se” if end Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto.
Noções básicas de editores de texto Profª Juliana Schivani MÍDIAS EDUCACIONAIS.
Folha de cálculo - EXCEL. O que é a folha de cálculo Folha de cálculo integrada: – Funções de base de dados – Possibilidade de criação de gráficos – Ferramentas.
Transcrição da apresentação:

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

AGENDA Objetivo Dados Histórico Funções Layout Gráficos Help 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.

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

LAYOUT

LAYOUT Command Window

LAYOUT Command History Window

LAYOUT Workspace

LAYOUT Edit / Debug Window

LAYOUT Figure Window

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 “

HELP Help

DADOS Linguagem (M-código) Simples e objetiva Unidade fundamental de dados: matriz (array) Índice começa com 1

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

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

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

DADOS Acessando um elemento da matriz nome_da_variavel(linha,coluna) Exemplo: >> matriz2=[ 3 4 5; 6 7 8]; >> matriz2(1,2) ans = 4

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

DADOS Acessando x elementos de uma linha/coluna da matriz Exemplo: ans = 6 7

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

DADOS >> b=linspace(2,10,5) b = 2 4 6 8 10 nome_da_variavel=linspace (primeiro,último,número de elementos) Exemplo: >> b=linspace(2,10,5) b = 2 4 6 8 10

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

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

DADOS >> A+B Exemplo: >> A=[ 1 2 3] ans = A = 4 6 8 1 2 3 4 6 8 >> A/B 0.5200 Exemplo: >> A=[ 1 2 3] A = 1 2 3 >> B=[ 3 4 5] B = 3 4 5

DADOS Operadores Relacionais Realizam operações de comparação entre variáveis Sinal Significado < Menor <= Menor ou igual > maior >= Maior ou igual == Igual ~= Diferente

DADOS Operando elemento a elemento >> A./B ans = 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

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>e d = ans = 12 56 78 1 0 1 >> e=[ 2 90 22] e = 2 90 22

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

DADOS Exemplos >> A >> C=[A;B] A = C = 1 2 3 1 2 3 3 4 5 1 2 3 1 2 3 3 4 5 >> B B = >> C=[B(1,1);A(1,2)] 3 4 5 C = 3 >> C=[A B] 2 C = 1 2 3 3 4 5

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) + B b. A(1 ,:) – B’ c. A*B

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”.

RESOLUÇÃO EXERCÍCIOS

RESOLUÇÃO EXERCÍCIOS

RESOLUÇÃO EXERCÍCIOS

FUNÇÕES Funções Prontas do MATLAB Funções de inicialização de matrizes 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.

FUNÇÕES Exemplos >> eye(2) ans = a = 1 0 0 1 1 2 3 4 5 6 1 0 0 1 >> a a = 1 2 3 4 5 6 >> size(a) ans = 2 3

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

FUNÇÕES Funções Complexas Funções de Aproximação 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 Funções Significado abs Valor absoluto angle Ângulo de fase conj Complexo conjugado imag Parte imaginária real Parte real

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

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

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]

FUNÇÕES – Exercícios 1) Calcule a integral de f(x)=cos(x) e de f(x)=3x²+5x Calcule a derivada de f(x)=cos(x) e de f(x)=3x²+5x

RESOLUÇÃO EXERCÍCIOS

RESOLUÇÃO EXERCÍCIOS

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ões Comando 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 barras hist Histograma

GRÁFICOS Plot >> plot(x,y,’Opções de Estilo’) 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’)

GRÁFICOS Gráfico Seno

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)

GRÁFICOS Figure/Exemplo

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

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)

GRÁFICOS >>t = linspace(0,1,1000); >>a=sin(2*pi*t); 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

GRÁFICOS Gráfico Hold on/Hold off

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)

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)

GRÁFICOS Gráfico Subplot

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')

GRÁFICOS Gráfico fplot

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)

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)')

GRÁFICOS Gráfico Comandos Especiais

GRÁFICOS – Exercícios Plote o gráfico da função f(x)=2x², sendo o vetor x=[ 0 1 2 3 4 ]. Utilize a cor que desejar. Plote o gráfico de f(x)=sin(x) e g(x)=cos(x), sendo x=linspace(0,2pi,1000), em: a. Duas janelas separadas b. No mesmo gráfico c. Na mesma janela, em gráficos separados

RESOLUÇÃO EXERCÍCIOS >> clc >> close all >> clear all >> x=[0 1 2 3 4]; >> y=2.*x.^2; >> plot(x,y,'blue')

RESOLUÇÃO EXERCÍCIOS

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');

RESOLUÇÃO EXERCÍCIOS

RESOLUÇÃO EXERCÍCIOS 2) 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

RESOLUÇÃO EXERCÍCIOS

RESOLUÇÃO EXERCÍCIOS 2) c. >> clc close all clear all x=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');

RESOLUÇÃO EXERCÍCIOS

PROGRAMAÇÃO Operadores Lógicos:

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

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”

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

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

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:

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

PROGRAMAÇÃO Processos iterativos If / If-Else if (condição1) expressão (ões) 1; elseif (condição2) expressão (ões) 2; else expressão (ões) n; end

PROGRAMAÇÃO a=100; b=40; if ((a+b)>=120) c=a+b; else c=a*b; end 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.

PROGRAMAÇÃO a=100; while(a<110) a=a+1; While while (condição) expressão (ões); end Exemplo: a=100; while(a<110) a=a+1; // Neste caso, serão dados 10 loops.

PROGRAMAÇÃO expressão (ões); end a=0; n=5; for i=1:n a=a+1; For for variavel_de_iteração = inicio : fim expressão (ões); end Exemplo: a=0; n=5; for i=1:n a=a+1; //A variável “a” vai sair do loop com o valor 5.

PROGRAMAÇÃO Switch – Case switch variavel case 0 expressão (ões) 1; otherwise expressão (ões) 4; end

PROGRAMAÇÃO a=50; switch a case 0 b=a+100; case 50 b=a; otherwise b=0; Exemplo: a=50; switch a case 0 b=a+100; case 50 b=a; otherwise b=0; End //Ao final, b terá seu valor igual a 50

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)

PROGRAMAÇÃO Exemplo: Função: function total = soma(a,b) total= a+b; m=5; n=3; resultado = soma(m,n); //A variável “resultado” terá valor 8 ao final.

PROGRAMAÇÃO tic programa toc Tempo de Simulação (Tic 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

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.

PROGRAMAÇÃO Editor/Debug

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.

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.

RESOLUÇÃO EXERCÍCIOS >> x=[]; %declara o vetor x sendo vazio for i=1:33 %existem 33 múltiplos de 3 entre 0 e 100 x=[x i*3]; end

RESOLUÇÃO EXERCÍCIOS

RESOLUÇÃO EXERCÍCIOS 2) >> %multiplos de 3 x=[]; for i=1:33 x=[x i*3]; end %testando os multiplos de 5 no vetor x y=[]; for a=1:33 if(rem(x(a),5)==0) y=[y x(a)];

RESOLUÇÃO EXERCÍCIOS

Dúvidas?