A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "MINI CURSO MATLAB GET – Engenharia de Produção. AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação."— Transcrição da apresentação:

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

2 AGENDA Objetivo Histórico Layout Help Dados Funções Gráficos Programação

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

4 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

5 LAYOUT

6 Command Window

7 LAYOUT Command History Window

8 LAYOUT Workspace

9 LAYOUT Edit / Debug Window

10 LAYOUT Figure Window

11 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

12 HELP Help

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

14 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

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

16 DADOS Declaração de dados Não é necessário declarar o tipo de variável nome_da_variável=[dados]; Exemplos: >> matriz1=[ ] >> matriz2=[ 3 4 5; 6 7 8] matriz1 = matriz2 =

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

18 DADOS Acessando a última linha ou o último elemento de uma matriz Exemplo: -Último elemento-Última linha >> matriz2(end,end) >>matriz2(end,:)ans =

19 DADOS Acessando x elementos de uma linha/coluna da matriz Exemplo: >> matriz2(2,1:2) ans = 6 7

20 DADOS Outras formas de inicialização de matrizes nome_da_variável = primeiro:incremento:último Exemplo: >> a=1:2:10 a =

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

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

23 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

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

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

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

27 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= [ ] >> d>e d = ans = >> e=[ ] e =

28 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

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

30 DADOS – Exercícios 1)Declare as seguintes matrizes: A= B= [ ] [10] [ ] [12] [ ] [14] 2)Realize as operações a. A(:,1) + B b. A(1,:) – B c. A*B

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

32 RESOLUÇÃO EXERCÍCIOS

33

34

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

36 FUNÇÕES Exemplos >> eye(2) ans = >> a a = >> size(a) ans = 2 3

37 FUNÇÕES Funções Trigonométricas Funções Exponenciais FunçõesSignificado sinSeno asinArco seno cosCosseno acosArco cosseno tanTangente atanArco tangente FunçõesSignificado expExponencial logLogaritmo natural log10Logartimo base 10 sqrtRaiz quadrada

38 FUNÇÕES Funções Complexas Funções de Aproximação FunçõesSignificado absValor absoluto angleÂngulo de fase conjComplexo conjugado imagParte imaginária realParte real FunçõesSignificado fixAproximação na direção de zero floorAproxima na direção de - ceilAproxima na direção de + roundAproxima para o inteiro mais próximo remResto da divisão

39 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+32*x

40 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

41 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 = [ ] >>b = randint(1,4,[1 100]) b = [ ]

42 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

43 RESOLUÇÃO EXERCÍCIOS

44

45 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 ComandoDescrição plotPlotar linear loglogGráfico em escala logarítmica semilogyGráfico em escala semi-logarítmica (eixo y) semilogxGráfico em escala semi-logarítmica (eixo x) fillDesenhar polígono 2D polarGráfico em coordenadas polar barGráfico de barras histHistograma

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

47 GRÁFICOS Gráfico Seno

48 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 = [ ] >> plot (y) %Pontos marcados: %(1,5) (2,4) (3,6) (4,9)

49 GRÁFICOS Figure/Exemplo

50 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

51 GRÁFICOS Figure : Abre uma nova janela onde o novo gráfico será gerado Exemplo: >> x=[ ]; >> y=[ ]; >> plot (x,y) >> figure >> plot (y,x)

52 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

53 GRÁFICOS Gráfico Hold on/Hold off

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

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

56 GRÁFICOS Gráfico Subplot

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

58 GRÁFICOS Gráfico fplot

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

60 GRÁFICOS text (adiciona um texto na posição indicada) >>text (x,y, 'texto desejado') Exemplo: >> x=[ ]; >> y=[ ]; >> plot(x,y,'green') >> xlabel('x'); >> ylabel('y'); >> text(8,2,'(8,2)')

61 GRÁFICOS Gráfico Comandos Especiais

62 GRÁFICOS – Exercícios 1)Plote o gráfico da função f(x)=2x², sendo o vetor x=[ ]. 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 separadas b. No mesmo gráfico c. Na mesma janela, em gráficos separados

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

64 RESOLUÇÃO EXERCÍCIOS

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

66 RESOLUÇÃO EXERCÍCIOS

67 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

68 RESOLUÇÃO EXERCÍCIOS

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

70 RESOLUÇÃO EXERCÍCIOS

71 PROGRAMAÇÃO Operadores Lógicos:

72 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

73 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

74 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

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

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

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

78 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

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

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

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

82 PROGRAMAÇÃO Switch – Case switch variavel case 0 expressão (ões) 1; case {1, 2} expressão (ões) 2; case 3 expressão (ões) 3; otherwise expressão (ões) 4; end

83 PROGRAMAÇÃO 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

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

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

86 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

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

88 PROGRAMAÇÃO Editor/Debug

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

90 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 ) 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.

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

92 RESOLUÇÃO EXERCÍCIOS

93 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)]; end

94 RESOLUÇÃO EXERCÍCIOS

95 Dúvidas?


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

Apresentações semelhantes


Anúncios Google