970 likes | 1.22k Views
MINI CURSO MATLAB. GET – Engenharia de Produção. AGENDA. Objetivo Histórico Layout Help Dados Funções Gráficos Programação. OBJETIVO.
E N D
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 (MATrixLABoratory) 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 CleverMoler • 1983: Criação da ferramenta MATLAB, e da empresa MathWorks, detentora dos seus direitos comerciais
LAYOUT CommandWindow
LAYOUT CommandHistoryWindow
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: >> matriz2(2,1:2) 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 • 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 • Exemplo: >> A=[ 1 2 3] A = 1 2 3 >> B=[ 3 4 5] B = 3 4 5 >> A+B ans = 4 6 8 >> A/B ans = 0.5200
DADOS • Operadores Relacionais • Realizam operações de comparação entre variáveis
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
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 >> 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”.
FUNÇÕES • Funções Prontas do MATLAB • Funções de inicialização de matrizes
FUNÇÕES • Exemplos >> eye(2) ans = 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 • Funções Complexas • Funções de Aproximaçã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
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
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
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’)
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 • Holdon/ Hold off • Subplot