1 / 80

SEMANA DA TECNOLOGIA - 2011 Unidades de Gestão: gep | getec | gead Minicursos e Oficinas

SEMANA DA TECNOLOGIA - 2011 Unidades de Gestão: gep | getec | gead Minicursos e Oficinas matlab 1º Semestre de 2011. Prof. Alan Souza Prado. SEMANA DA TECNOLOGIA – 2011 – MATLAB. INTRODUÇÃO AO MATLAB. MATLAB 7.0. SEMANA DA TECNOLOGIA – 2011 – MATLAB. O que é o MATLAB?.

mauli
Download Presentation

SEMANA DA TECNOLOGIA - 2011 Unidades de Gestão: gep | getec | gead Minicursos e Oficinas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SEMANA DA TECNOLOGIA - 2011 Unidades de Gestão: gep | getec | gead Minicursos e Oficinas matlab 1º Semestre de 2011 Prof. Alan Souza Prado

  2. SEMANA DA TECNOLOGIA – 2011 – MATLAB INTRODUÇÃO AO MATLAB MATLAB 7.0

  3. SEMANA DA TECNOLOGIA – 2011 – MATLAB O que é o MATLAB? MATrixLABoratory Software de alto desempenho que realiza cálculos utilizando matrizes. Seus comandos são mais próximos da forma como escrevemos expressões algébricas, tornando mais simples o seu uso. MATLAB é definido como um sistema interativo e uma linguagem de programação para computação técnica e científica em geral, integrando a capacidade de fazer cálculos, visualização gráfica e programação. MATLAB 7.0

  4. SEMANA DA TECNOLOGIA – 2011 – MATLAB Para que usamos então o MATLAB? • cálculos matemáticos; • desenvolvimento de algoritmos; • modelagem, simulação e confecção de protótipos; • análise, simulação e confecção de dados; • gráficos científicos e de engenharia; • desenvolvimento de aplicações, incluindo a elaboração de interfaces gráficas com o usuário. MATLAB 7.0

  5. SEMANA DA TECNOLOGIA – 2011 – MATLAB Conhecendo o Ambiente do MATLAB MATLAB 7.0

  6. SEMANA DA TECNOLOGIA – 2011 – MATLAB Conhecendo o Ambiente do MATLAB Janela de Comando Área de Trabalho Histórico de comandos MATLAB 7.0

  7. SEMANA DA TECNOLOGIA – 2011 – MATLAB Formas de Utilizar o MATLAB • Para utilizar o MATLAB, você pode inserir diretamente na janela de comando as instruções desejadas. • Você pode também criar um arquivo denominado M-file, para posteriormente executar suas instruções. • Para essa segunda opção será aberto um editor de códigos. MATLAB 7.0

  8. SEMANA DA TECNOLOGIA – 2011 – MATLAB Funcionamento do MATLAB • Diretamente na janela de comandos • Uma vez inicializado o Matlab, aparecerá na janela de comandos um prompt >> • O promptsignifica que o Matlab está esperando um comando. Todo comando deve ser finalizado teclando-se Enter. MATLAB 7.0

  9. SEMANA DA TECNOLOGIA – 2011 – MATLAB Funcionamento do MATLAB • No Matlab, pode-se obter ajuda sobre qualquer comando ou função. • >> help • Ajuda sobre um pacote específico ou sobre um comando ou função é obtida com o comando: • >> help nome MATLAB 7.0

  10. SEMANA DA TECNOLOGIA – 2011 – MATLAB Cálculos Científicos • O Matlabfaz cálculos simples e cientícoscomo uma calculadora. • Suponha que você vai a uma loja e compra 3 objetos que custam 25 reais cada e 5 objetos que custam 12 reais cada. Quanto custou a sua compra? • No Matlab você pode resolver este problema de pelo menos duas maneiras. A mais simples é • >> 3*25 + 5*12 • ans= • 135 MATLAB 7.0

  11. SEMANA DA TECNOLOGIA – 2011 – MATLAB Cálculos Científicos • Observe que no Matlaba multiplicação tem precedência sobre a adição. Note também que ele chamou o resultado de ans. • Alternativamente, você pode usar variáveis para armazenar informação. • >> q1=3, p1=25, q2=5, p2=12 • q1 = • 3 • p1 = • 25 • q2 = • 5 • p2 = • 12 MATLAB 7.0

  12. SEMANA DA TECNOLOGIA – 2011 – MATLAB Cálculos Científicos • >>total=q1*p1+q2*p2 • total = • 135 • O Matlabr oferece as seguintes operações aritméticas: • a+bsoma a e b. Por exemplo, 5+6. • a-bsubtrai a de b. Por exemplo, 15-12. • a*b multiplica a por b. Por exemplo, 3.14*0.15. • a^b calcula a elevado a b. Por exemplo, 5^(1/2) MATLAB 7.0

  13. SEMANA DA TECNOLOGIA – 2011 – MATLAB Cálculos Científicos • Observe que no Matlabo sinal de igual tem um sentido diferente daquele da Matemática. Aqui, igual significa atribuição. O que estiver à direita do sinal de igual é “colocado" na variável que estiver à esquerda. • Usamos a vírgula para separar os comandos que são dados em uma mesma linha. • Esta separação poderia ser feita com ponto e vírgula. Mas, neste caso o Matlab não mostra os resultados dos comandos. MATLAB 7.0

  14. SEMANA DA TECNOLOGIA – 2011 – MATLAB Cálculos Científicos • >> q1=3; p1=25; q2=5; p2=12; • >> total=q1*p1+q2*p2 • Em qualquer momento, podemos ver o valor que está contido em uma variável, simplesmente digitando no prompt o seu nome. • >> total • total = • 135 MATLAB 7.0

  15. SEMANA DA TECNOLOGIA – 2011 – MATLAB Variáveis • O Matlabtem certas regras para nomear as variáveis. • Os nomes de variáveis devem ser nomes iniciados por letras não podem conter espaços nem caracteres de pontuação. • O Matlabfaz diferença entre letras maiúsculas e minúsculas. • Alguns nomes são usados para variáveis predefinidas. MATLAB 7.0

  16. SEMANA DA TECNOLOGIA – 2011 – MATLAB Variáveis Pré Definidas • ans - usada para os resultados. • pi - número . • inf- significa infinito. • NaN ou nan - significa não é um número, por exemplo, 0/0. • i e j - unidade imaginária . • nargin - número de argumentos de entrada de uma função. • nargout - número de argumentos de saída de uma função. • realmin - menor número que o computador pode armazenar. • realmax - maior número que o computador pode armazenar. MATLAB 7.0

  17. SEMANA DA TECNOLOGIA – 2011 – MATLAB Funções Científicas • O Matlabtem uma série de funções científicas pré definidas. • A maioria pode ser usada da mesma forma que seria escrita matematicamente. Por exemplo • >> x=sqrt(2)/2 • x = • 0.7071 • >> y=acos(x) • y = • 0.7854 • >>y_graus=y*180/pi • y_graus = • 45.0000 MATLAB 7.0

  18. SEMANA DA TECNOLOGIA – 2011 – MATLAB Funções Científicas • abs(x) - valor absoluto de x. • acos(x) - arco cujo cosseno é x. • asin(x) - arco cujo seno é x. • atan(x) - arco cuja tangente é x. • ceil(x) - maior inteiro mais próximo de x. • cos(x) - cosseno de x. • exp(x) - exponencial de x. • fix(x) - parte inteira de x real. • floor(x) - menor inteiro mais próximo de x. • gcd(x,y) - máximo divisor comum de x e y. • lcm(x,y) - mínimo múltiplo comum de x e y. • log(x) - logaritmo de x na base e. • log10(x) - logaritmo de x na base 10. • rem(x,y) - resto da divisão de x por y. • round(x) - inteiro mais próximo de x. • sin(x) - seno de x. • sqrt(x) - raiz quadrada de x. • tan(x) - tangente de x. MATLAB 7.0

  19. SEMANA DA TECNOLOGIA – 2011 – MATLAB Variáveis e Expressões Simbólicas • Agora, vamos ver como podemos manipular com expressões que além de números e variáveis numéricas, contém também variáveis simbólicas. Por exemplo: • >> symsx • >> simplify((sin(x))^2+(cos(x))^2) • ans= • 1 • Estes comandos mandam o Matlab simplificar a expressão sen2x + cos2x. Primeiro precisamos dizer ao Matlabque x é uma variável simbólica, depois simplificar a expressão que envolve x. • Neste caso usamos uma função chamada simplify. Aqui função é um comando, que pode ter alguns argumentos de entrada e alguns de saída. Neste caso, a função simplifytem como argumento de entrada uma expressão simbólica e de saída também. MATLAB 7.0

  20. SEMANA DA TECNOLOGIA – 2011 – MATLAB Variáveis e Expressões Simbólicas • Uma vez definido que a variável x é uma variável simbólica, podemos definir expressões que envolvem esta variável. Por exemplo, dadas duas funções: f(x) = 2x2+ 3x - 5 e g(x) = x2 - x + 7; podemos fazer uma série de operações algébricas envolvendo estas funções. MATLAB 7.0

  21. SEMANA DA TECNOLOGIA – 2011 – MATLAB Variáveis e Expressões Simbólicas • >> f=2*x^2+3*x-5; g=x^2-x+7; • >> f+g • ans = • 3*x^2+2*x+2 • >> f-g • >> f*g • >> expand(ans) • >> f/g • >> expand(ans) • >> pretty(ans) • >> f^3 • >>expand(ans) MATLAB 7.0

  22. SEMANA DA TECNOLOGIA – 2011 – MATLAB Variáveis e Expressões Simbólicas • O Matlabpode realizar operações mais avançadas sobre expressões simbólicas. A função composecalcula a composição das • funções f(x) e g(x) em f(g(x)), a função finverse encontra a inversa funcional de uma expressão e a função subs substitui uma variável por um número (ou por outra variável) em uma expressão. • >> f=1/(1-x^2); g=sin(x); • >> compose(f,g) • ans = 1/(1-sin(x)^2) • >> compose(g,f) • ans = sin(1/(1-x^2)) • >> finverse(g) • ans = asin(x) • >> subs(f,x,2) • ans = -1/3 MATLAB 7.0

  23. SEMANA DA TECNOLOGIA – 2011 – MATLAB Variáveis e Expressões Simbólicas • O Matlabpode resolver equações. Por exemplo, para resolver a equação • ax2+ bx + c = 0; • algebricamente, podemos usar os comandos: • >>syms a b c x • >> solve(a*x^2+b*x+c) • ans = • [1/2/a*(-b+(b^2-4*a*c)^(1/2))] • [1/2/a*(-b-(b^2-4*a*c)^(1/2))] • >>pretty(ans) MATLAB 7.0

  24. SEMANA DA TECNOLOGIA – 2011 – MATLAB Variáveis e Expressões Simbólicas • diff(f) - calcula a derivada de f. • compose(f,g) - determina a composta f(g(x)). • expand(expr) - expande uma expressão expr. • finverse(expr) - determina a inversa funcional da expressão expr. • pretty(expr) - exibe a expressão expr numa forma mais bonita. • simple - procura encontrar uma forma mais simples de escrever uma expressão expr. • simplify(expr) - simplifica a expressão expr. • solve(expr) - acha a(s) solução(es) da equação expr= 0. • subs(expr,x,a) - substitui na expressão expr a variável x por a. • syms x y z a - define as variáveis simbólicas x, y, z e a MATLAB 7.0

  25. SEMANA DA TECNOLOGIA – 2011 – MATLAB Variáveis e Expressões Simbólicas • Existem várias outras funções para manipulação de expressões algébricas. Você pode obter informações sobre elas digitando help symbolic. • Uma função interessante que mostra as capacidades do Matlabem tratar com funções matemáticas é funtool que é uma calculadora para funções. MATLAB 7.0

  26. SEMANA DA TECNOLOGIA – 2011 – MATLAB Variáveis e Expressões Simbólicas • As categorias gerais de funções matemáticas disponíveis no MATLAB incluem: • Matemática elementar; • Funções especiais; • Matrizes elementares e especiais; • Decomposição e fatorização de matrizes; • Análise de dados; • Polinômios; • Solução de equações diferenciais; • Equações não-lineares e otimização; • Integração numérica; • Processamento de sinais. MATLAB 7.0

  27. SEMANA DA TECNOLOGIA – 2011 – MATLAB Vetores e Matrizes • O MATLAB permite a manipulação de linhas, colunas, elementos individuais e partes de matrizes. MATLAB 7.0

  28. SEMANA DA TECNOLOGIA – 2011 – MATLAB Vetores e Matrizes MATLAB 7.0

  29. SEMANA DA TECNOLOGIA – 2011 – MATLAB Vetores e Matrizes • Exemplo 1: • >> x = 1 : 5 • gera um vetor linha contendo os números de 1 a 5 com incremento unitário. Produzindo • Exemplo 2: • >> z = 6 : -l : l • Exemplo 3: • Pode-se, também, gerar vetores usando a função linspace. Por exemplo, • >> k = linspace(0, l, 6) • >> x = linspace(1,10.5,5) MATLAB 7.0

  30. SEMANA DA TECNOLOGIA – 2011 – MATLAB Vetores e Matrizes • Exemplo 4: • >> x=logspace(0,2,5) • Exemplo 5: • >> x=[8 6 8.10 5*pi] MATLAB 7.0

  31. SEMANA DA TECNOLOGIA – 2011 – MATLAB Vetores e Matrizes • Nos exemplos apresentados os vetores possuem uma linha e várias colunas (vetores linha). • Da mesma forma podem existir vetores coluna (uma coluna e várias linhas). Para se criar um vetor coluna elemento por elemento estes devem estar separados por ( ; ). Por exemplo: • >>v=[1.5;-3.2;9] MATLAB 7.0

  32. SEMANA DA TECNOLOGIA – 2011 – MATLAB Vetores e Matrizes • Esses vetores coluna podem também ser criados a partir dos comandos utilizados anteriormente para criar os vetores linha, acompanhados do símbolo (' ), que é o operador de transposição. Exemplo: • >> y=(1:0.5:3)‘ • >> z=[0 -2.3 4 sqrt(33)]' MATLAB 7.0

  33. SEMANA DA TECNOLOGIA – 2011 – MATLAB Endereçamento de Vetores • No Matlab, cada um dos elementos de um vetor podem ser acessados através de seu índice que identifica cada uma das colunas. Por exemplo : • >> x=1:10 • x= • 12345678910 • >> x(3) % Acessa o terceiro elemento de x • ans = • 3 • >> x(5) % Acessa o quinto elemento de x • ans= • 5 MATLAB 7.0

  34. SEMANA DA TECNOLOGIA – 2011 – MATLAB Endereçamento de Vetores • Esses elementos de um vetor também podem ser acessados em blocos. Por exemplo: • >> c=linspace(10,40,7) • c =10 15 20 25 30 35 40 • >> c(3:5) % terceiro a quinto elemento de c • ans = • 20 25 30 • >>c(5:-2:1) % quinto, terceiro e primeiro elementos de c • ans = • 30 20 10 MATLAB 7.0

  35. SEMANA DA TECNOLOGIA – 2011 – MATLAB Endereçamento de Vetores • O endereçamento indireto também é possível, permitindo referenciar os elementos em qualquer ordem: • >> c([4 1]) %quarto e primeiro elementos • ans = • 25 10 • No caso de vetores coluna, os comandos acima funcionam de maneira similar. Por exemplo: • >> d=c' MATLAB 7.0

  36. SEMANA DA TECNOLOGIA – 2011 – MATLAB Endereçamento de Vetores • >> d([4 1]) %quarto e primeiro elementos • ans = • 25 • 10 • >> d(5:-2:1) • ans = • 30 • 20 • 10 MATLAB 7.0

  37. SEMANA DA TECNOLOGIA – 2011 – MATLAB Operações entre Vetores • As operações básicas entre vetores só são definidas quando estes tiverem o mesmo tamanho e orientação (linha ou coluna). Estas operações são: MATLAB 7.0

  38. SEMANA DA TECNOLOGIA – 2011 – MATLAB Matrizes • O MATLAB trabalha essencialmente com um tipo de objeto, uma matriz numérica retangular ( 1x1; 2x2; 3x3; i ( linha) x j (coluna); etc). • Para criar uma variável onde é armazenada uma matriz, basta escrever os elementos da matriz entre colchetes [ ... ], sendo os elementos de uma mesma linha da matriz separados por vírgula e as linhas separadas por ponto e vírgula. MATLAB 7.0

  39. SEMANA DA TECNOLOGIA – 2011 – MATLAB Matrizes • Por exemplo, para armazenar a matriz: • numa variável de nome A usamos o comando • >> A=[1,2,3;4,5,6] MATLAB 7.0

  40. SEMANA DA TECNOLOGIA – 2011 – MATLAB Matrizes • O operador ‘:’ indica da onde ate aonde • Podemos acessar os elementos de uma matriz usando os comandos • >> A(2,3) • 6 • >> A(2,:) • 4 5 6 • >> A(:,1) • 1 • 4 • >> A(:,1:2) • 1 2 • 4 5 MATLAB 7.0

  41. SEMANA DA TECNOLOGIA – 2011 – MATLAB Matrizes • As matrizes podem ser concatenadas • >> B=[A,[7;8]] • B = • 1 2 3 7 • 4 5 6 8 • >> [A;[7,8,9]] • ans= • 1 2 3 • 4 5 6 • 7 8 9 MATLAB 7.0

  42. SEMANA DA TECNOLOGIA – 2011 – MATLAB Matrizes • Existem algumas funções para geração de algumas matrizes elementares: • zeros: Cria uma matriz preenchida com zeros • >>Z= zeros(2,5) • Z= • 00000 • 00000 • ones: Cria uma matriz preenchida com uns • >>A= ones(3,4) • A= • 1 1 1 1 • 1 1 1 1 • 1 1 1 1 MATLAB 7.0

  43. SEMANA DA TECNOLOGIA – 2011 – MATLAB Matrizes • eye: Cria a matriz identidade • >> eye(3) • ans = • 1 0 0 • 0 1 0 • 0 0 1 • rand: Cria uma matriz de números aleatórios entre 0 e 1 • >>round(10* rand(2,3)) • ans= • 0 2 7 • 9 3 3 MATLAB 7.0

  44. SEMANA DA TECNOLOGIA – 2011 – MATLAB Matrizes • randn: Cria uma matriz de números aleatórios. • >>randn(3,5) • ans = • 0.5287 -2.1707 0.6145 0.5913 -1.0091 • 0.2193 -0.0592 0.5077 -0.6436 -0.0195 • -0.9219 -1.0106 1.6924 0.3803 -0.0482 • magic(N) – gera matriz quadrada de ordem N de números inteiros que têm a soma de cada linha, coluna ou diagonal principal iguais. • >> magic(3) • ans = • 8 1 6 • 3 5 7 • 4 9 2 MATLAB 7.0

  45. SEMANA DA TECNOLOGIA – 2011 – MATLAB Operações com Matrizes • As operações com matrizes no MATLAB são as seguintes: • Transposta, Inversa, Determinante; • Adição; • Subtração; • Multiplicação; • Divisão à direita; • Divisão à esquerda; MATLAB 7.0

  46. SEMANA DA TECNOLOGIA – 2011 – MATLAB Operações com Matrizes • Transposta - O caracter apóstrofo, " ' " , indica a transposta de uma matriz. Considere os exemplos a seguir: • >>A=[1 2 3; 4 5 6; 7 8 0] • A = 1 2 3 • 4 5 6 • 7 8 0 • >> B = A‘ • B =1 4 7 • 2 5 8 • 3 6 0 • >> x = [-1 0 2]' • X = • -1 • 0 • 2 MATLAB 7.0

  47. SEMANA DA TECNOLOGIA – 2011 – MATLAB Operações com Matrizes • det(A) – determinante de A. • inv(A) – inversa de A. • reshape(A) – reformata A. • size(A) – vetor contendo o tamanho de cada dimensão de A. • lenght(A) – comprimento do vetor ou dimensão máxima de A • diag(A) – retorna a diagonal de A em um vetor • tril(A) – matriz triangular inferior de A • triu(A) – matriz triangular superior de A MATLAB 7.0

  48. SEMANA DA TECNOLOGIA – 2011 – MATLAB Operações com Matrizes • Adção/Subtração - A adição e subtração de matrizes são indicadas, respectivamente, por "+" e "-". As operações são definidas somente se as matrizes tiverem as mesmas dimensões. Por exemplo, a soma com as matrizes mostradas acima, A + x, não é correta porque A é 3x3 e x é 3x1. Porém, • >> C = A + B • é aceitável, e o resultado da soma é • C = • 2 6 10 • 6 10 14 • 10 14 0 MATLAB 7.0

  49. SEMANA DA TECNOLOGIA – 2011 – MATLAB Operações com Matrizes • A adição e subtração também são definidas se um dos operadores é um escalar, ou seja, uma matriz l x l. Neste caso, o escalar é adicionado ou subtraído de todos os elementos do outro operador. Por exemplo: • >> y = x - 1 • resulta em • Y = • -2 • -1 • 1 MATLAB 7.0

  50. SEMANA DA TECNOLOGIA – 2011 – MATLAB Operações com Matrizes • Existem também algumas funções que auxiliam em operações, como: • S=sum(A(:)) – soma todos os elementos da matriz A. • S=sum(A(x:y)) – soma todos os elementos da matriz A indo de x ate y. • S=sum(A) – soma todos os elementos de cada coluna separadamente e os coloca numa matriz linha. MATLAB 7.0

More Related