Minicurso de MATLAB -...
-
Upload
vuongtuyen -
Category
Documents
-
view
221 -
download
0
Embed Size (px)
Transcript of Minicurso de MATLAB -...

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