Baixe o app para aproveitar ainda mais
Prévia do material em texto
Minicurso de MATLAB Programa de Educação Tutorial de Engenharia Elétrica lMax Rodrigues lCaroline Pereira lNayara Medeiros 28/03/15 Conteúdo a ser abordado na aula • Declaração e manipulação de vetores ; • Declaração e manipulação de matrizes; • Solução de um sistema linear de equações; • Aplicações; 06/04/2015 Vetores e Matrizes No Matlab, vetores e matrizes são interpretados da mesma forma, sendo que qualquer matriz linha ou coluna será interpretada como vetor ou matriz dependendo da operação, o Matlab faz isso automaticamente. 01/10/2014 Definição de Matrizes Uma matriz é montada linha após linha, onde espaço ou vírgula indicam transição de coluna e ponto-e-vírgula indica transição de linha. 01/10/2014 Uma outra maneira de definir matrizes consiste em criar vetores-linha com elementos em progressão aritmética através da simples sintaxe: >> valor_inicial : incremento : valor_final 01/10/2014 Ex.: >>[1:5:20 ; 1:4:16] Uma terceira forma de criar vetores utiliza a função linspace, que espaça linearmente um determinado número de elementos entre um valor final e um inicial. Sua sintaxe é: >> linspace(valor_inicial, valor_final,número_de_elementos) 01/10/2014 A função logspace é similar, porém espaça os elementos logaritmicamente na base 10. Uma diferença muito importante em sua sintaxe é que os valores iniciais e finais são potências de 10, devendo ser escritos apenas seus expoentes. 01/10/2014 Indexação O padrão de indexação matricial no Matlab é a forma tradicional intuitiva (r, c), onde r representa o número da linha e c representa o número da coluna. 01/10/2014 Indexação É possível selecionar mais de uma linha ou coluna, usando-se dois-pontos ':' entre os índices inicial e final para indicar o intervalo. 16/04/2013 06/04/2015 Franklin Zeno Quando os índices inicial e final são omitidos, indica-se o intervalo inteiro. A palavra reservada 'end' indica o fim da linha ou da coluna. Indexação Ex: 16/04/2013 O conceito de indexação pode ser ampliado quando no lugar dos índices colocam-se vetores ou matrizes de índices. 16/04/2013 Indexação Caso se coloque um índice que exceda as dimensões da matriz, o resultado será uma mensagem de erro. Por outro lado, se for definido um novo elemento que exceda essas mesmas dimensões, então a matriz será redimensionada de forma a incluir esse novo elemento, sendo as novas posições preenchidas com 0. 16/04/2013 Função min(vec) e max(vec) • A função min(vec) retorna o valor mínimo e sua posição. • A função max(vec) retorna o valor máximo e sua posição. Ex. >> vec = [5 3 1 9 7] >> [minVal , minInd] = min(vec). >> minVal = 1 >> minInd = 3; 06/04/2015 Encontrar elementos de um vetor • Utilizar a unção find(). Ex. S = [1 2 0 3]; % Como encontrar o valor 3. >> find(S == 3). Retorno: >> ans = 4. % encontrar posições para S > 1. >> indices = find(S>1) Retorno: >> indices = 2 4 % Obter os valores >> V = S(indices) Retorno: >> V = 2 3 06/04/2015 Listando intervalos e atribuindo valores 06/04/2015 Operações Aritméticas As operações aritméticas no Matlab podem ser de dois tipos: matricial ou escalar. As operações do tipo matricial referem-se às operações matemáticas sobre matrizes. As operações escalares são também denominadas de operações sobre conjuntos. Elas são realizadas elemento-a-elemento de cada matriz, aplicando-se o operador em questão apenas entre elementos de mesma posição matricial. 16/04/2013 Operações Aritméticas Definindo-se x = [2 3; 5 7] e y = [1 6; 2 4], pode-se associá-los pelos seguintes operadores: – '+' : adição (matricial e escalar). Ex.: x + y = [3 9; 7 11] – '−' : subtração (matricial e escalar). Ex.: x − y = [1 −3; 3 3] – '*' : multiplicação matricial. Ex.: x * y = [8 24; 19 58]. 16/04/2013 Operações Aritméticas – '/' : divisão matricial à direita. • Ex.: x/y = (x*y^−1) = x*inv(y) = [−0.2500 1.1250;−0.7500 2.8750] – '\' : divisão matricial à esquerda. • Ex.: x\y = (x^−1*y) = inv(x)*y = [−1.0000 − 30.0000; 1.0000 22.0000] – ‘^' : potenciação matricial. • Ex.: x^2 = (x*x) = [19 27; 45 64] 16/04/2013 Operações Aritméticas 16/04/2013 -Transposição •Ex.: x’ = Transposta de x = [2 5, 3 7] - ”.*” Multiplicação Escalar •Ex.: x.*y = [2 18; 10 28] -”./” Divisão Escalar a Direita •Ex.: x./y = (x.*(y.^-1)) = [2.00 0.50 ; 2.50 1.75] Operações Aritméticas – '.\' : divisão escalar à esquerda. • Ex.: x.\y = (x.^-1.*y) = [0.5000 2.0000; 0.4000 0.5714] – '.^' : potenciação escalar. • Ex.: x.^2 = [4 9; 25 49] S = [5 6].^[2 3] = [5^2 6^3]. Resposta: S = 25 216 16/04/2013 Operações lógicas e relacionais Operador Descrição < Menor que <= Menor ou igual a > Maior que >= Maior ou igual a == Igual a (não confundir com ‘=’ ) ~= Diferente de & E | OU ~ NÃO 16/04/2013 Matrizes Elementares Ones: cria uma matriz cujos elementos são todos iguais a 1, dados o número de linhas e colunas da matriz, respectivamente. 16/04/2013 Matrizes Elementares zeros: cria uma matriz cujos elementos são todos iguais a 0, dados os números de linhas e colunas. 16/04/2013 Matrizes Elementares eye: cria uma matriz identidade, dada sua ordem. 16/04/2013 Matrizes Elementares rand: cria uma matriz de elementos pseudo-aleatórios com distribuição uniforme entre 0 e 1, dados os números de linhas e colunas. Um comando similar, o rand, funciona de forma similar, mas com distribuição normal. 16/04/2013 Matrizes Elementares Esta função é muito útil para, por exemplo, se fazer testes em programas que vão trabalhar com dados imprevisíveis. 16/04/2013 Tamanho e dimensão de um vetor • length (vetor) - Essa função tem como retorno o tamanho do vetor Ex.: S = [1 2 3 4 5]; x = length(S). Retorno : x = 5; • Size(vetor) - Essa função tem como retono a dimensão do vetor Ex.: x = size(S); Retorno: x = 1 5; 06/04/2015 Solução de Sistemas Lineares Para resolver um sistema linear do tipo A*x = B procedemos da seguinte forma: >> X = linsolve(A,B) 16/04/2013 06/04/2015 1. Use operações matriciais para resolver o seguinte sistema de equações lineares. 4x – 2y + 6Z = 8 2x + 8y + 2z = 4 6x + 10y + 3z = 0 06/04/2015 2. Encontre uma maneira de substituir números menores ou igual a 3, de uma matriz dada x, pelo número 10. Antes de substituir, mostre qual a posição desses números na matriz e qual seu valor. x = [5 90 2 1; 7 84 0 11; 3 6 2 4; 4 3 2 1 ] 06/04/2015 Franklin Zeno 3. Gerar uma matriz aleatória e substituir o menor valor pelo número 2 e o maior valor da matriz pelo número 3. 4. A figura ao lado mostra um circuito elétrico composto de resistores e fontes de tensão. Determine a corrente em cada resistor usando a lei de Kirchoff para tensões e o método das correntes de malha. V1 = 20V R1 = 18Ω R4 = 6Ω R7 = 12Ω V2 = 12V R2 = 10Ω R5 = 15Ω R8 = 14Ω V3 = 40V R3 = 16Ω R6 = 8Ω 06/04/2015 fim!!! 06/04/2015
Compartilhar