0% acharam este documento útil (0 voto)
10 visualizações57 páginas

MComplementar 11

A aula introdutória de MATLAB, ministrada por Vilma A. Oliveira, tem como objetivo apresentar o ambiente e as funções básicas do software, utilizando uma abordagem interativa. Os alunos são incentivados a realizar exercícios práticos, incluindo operações matemáticas e manipulação de vetores e matrizes. O documento também aborda a criação de scripts e a utilização de comandos para operações com dados.

Enviado por

Rodrigo Bastos
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
10 visualizações57 páginas

MComplementar 11

A aula introdutória de MATLAB, ministrada por Vilma A. Oliveira, tem como objetivo apresentar o ambiente e as funções básicas do software, utilizando uma abordagem interativa. Os alunos são incentivados a realizar exercícios práticos, incluindo operações matemáticas e manipulação de vetores e matrizes. O documento também aborda a criação de scripts e a utilização de comandos para operações com dados.

Enviado por

Rodrigo Bastos
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Uma introdução ao MATLAB

Vilma A. Oliveira

USP São Carlos

Aula 1a

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 1 / 57


Colaboradores

Colaboradores
Elmer Alexis Gamboa Peñaloza
Rodolpho Vilela Alves Neves
Rafael Fernando Quirino Magossi
Rafael Mariano
Márcio Campos
Ricardo Takahashi

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 2 / 57


Introdução

Introdução
Esta aula é para ser ministrada de forma interativa utilizando um
microcomputador com o aplicativo Matlab instalado. Tem por objetivo
apresentar aos alunos o ambiente e funções básicas do Matlab. Na
apresentação encontram-se diversos exercícios a serem resolvidos em sala
sob a supervisão do professor.

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 3 / 57


Porque usar o Matlab?

Porque usar o Matlab?


Ambiente amigável
Linguagem de programação simples e de fácil dedução
Muitas ferramentas e interfaces
Usado em diversas áreas do conhecimento

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 4 / 57


Primeiros passos Interface

Interface principal

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 5 / 57


Primeiros passos Interface

Interface de programação

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 6 / 57


Primeiros passos Interface

Interface de programação com livescript

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 7 / 57


Primeiros passos Interface

Interfaces combinadas

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 8 / 57


Primeiros passos Linguagem de programação

Interface de programação
» a = 1+1
» b = [1, 1, 2, 3, 5, 8, 13, 21]
» x = a+b
x=
3, 3, 4, 5, 7, 10, 15, 23

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 9 / 57


Primeiros passos Linguagem de programação

Tarefas!
O aluno deve tentar realizar as operações indicadas utilizando o Matlab.

Tarefa!
Resolver as operações abaixo utilizando a área de trabalho do Matlab
3 9
5( ) + ( ) = 5.55
4 5
3 9
43 ( − ) = −48
4 (2)(3)

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 10 / 57


Primeiros passos Linguagem de programação

Tarefa!
Encontrar o volume de uma lata de cerveja (considerar a lata como um
cilindro)

V = πr 2 h

h = 3 cm
r = 12.5 cm

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 11 / 57


Primeiros passos Linguagem de programação

Tarefa!
Encontrar o volume de uma lata de cerveja (considerar que a lata é um
cilindro)
» r=3
» h=12.5
» V = pi ∗ 32 ∗ 12.5
V=
353.4292

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 12 / 57


Primeiros passos Outros operadores

Natural logarithm
» log(a); Números complexos
Base ten log » y = 5i;
» log10(a); » z = 1+3*i;
Exponential: » w = 3j;
» exp(a);

Funções trigonométricas
» cos(pi);
» sin(pi);
» tan(pi);
» acos(pi);
» asin(pi);
» atan(pi);

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 13 / 57


Primeiros passos Arquivo script

Script
Usando arquivos script, é possível salvar o que foi feito para continuar
depois ou para gravar dados. Os arquivos são bastante úteis em caso de
existir uma sequência longa de operações. Exemplificando um arquivo
script:
File -> New -> Script
Ou clicar no ícone New file na barra de comandos no topo da tela do
Matlab

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 14 / 57


Primeiros passos Arquivo script

Script
Digitar no arquivo script:

% Exemplo 1: Usando o arquivo script


x = [1,2,3,4];
y = exp(x)

Salvar o arquivo como exemplo1.m

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 15 / 57


Primeiros passos Arquivo script

Script
Na linha de comando da janela, digite:

» exemplo1

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 16 / 57


Vetor e matrizes

Vetor e matrizes
Quando trabalhar com dados, pode precisar de realizar operações com
estes. Vetores são matrizes de 1-dimensão.
» a = [1; 2; 3]
» a = [1, 2, 3] a=
a= 1
123 2
3

» a’
=
123

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 17 / 57


Vetor e matrizes Operações básicas

Vetores e matrizes
Matlab permite agrupar vetores e criar novos vetores. Sejam u e v dois
vetores colunas dimensão m e n respectivamente. O que acontece se
digitar:

» w = [u; v]

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 18 / 57


Vetor e matrizes Operações básicas

Vetores e matrizes

» w = [u; v];
» size(w)
ans =
m+n

As mesmas operações funcionam para linha também.

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 19 / 57


Vetor e matrizes Operações básicas

Vetores e matrizes
É possível criar vetores com elementos espaçados uniformemente usando
dois-pontos:

» t = [0:10]
t=
0 1 2 3 4 5 6 7 8 9 10

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 20 / 57


Vetor e matrizes Operações básicas

Vetores e matrizes
Pode também mudar o tamanho do passo usando a seguinte sintaxe:

» t = [0:2:10]
t=
0 2 4 6 8 10

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 21 / 57


Vetor e matrizes Operações básicas

Tarefa!
Usando um arquivo script, criar um vetor de tempo t from 0 a 10 usando
passo 1. Então, criar um vetor y = 1-exp(-t). Em seguida, criar um vetor
t2 de 0 a 10 usando passo 0.1 e um vetor y2 = 1-exp(-t2).

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 22 / 57


Vetor e matrizes Tarefas

Tarefa!
Primeiro, criar o vetor t:

» t = [0:10];

Então, o vetor y:

» y = 1-exp(-t);

e os vetores t2 e y2:

» t2 = [0:0.1:10]; y = 1-exp(-t2);

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 23 / 57


Vetor e matrizes Tarefas

Tarefa! (extra)
Usando o comando plot, plotar t x y e t2 x y2 no mesmo gráfico.
Dica:
A sintaxe do plot é plot(a,b), a e b devem ser do mesmo tamanho.
Pode plotar mais uma dupla usando (a,b,c,d).

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 24 / 57


Vetor e matrizes Referenciando elementos de vetores

Extraindo informações de vetores


Existem vários comandos para tirar informações de vetores. Seguem alguns
exemplos:

» f = [1 4 -6 3 7 9 -2 6 3 -7 4 9 19]
» max(f)
» length(f)
ans =
ans =
19
13

» min(f)
ans =
-7

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 25 / 57


Vetor e matrizes Referenciando elementos de vetores

Extraindo informações de vetores


Primeiramente, obter o produto entre os elementos do vetor v.
Defina v = [4 6 9].
O produto interno é dado por:

» v.*v
ans =
16 36 81

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 26 / 57


Vetor e matrizes Referenciando elementos de vetores

Extraindo informações de vetores


Para obter a soma do produto entre os elementos do vetor v:

» a = sum(v.*v)
a=
133

O módulo de v é a raiz quadrada de a.

» mag = sqrt(a)
mag =
11.5325

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 27 / 57


Vetor e matrizes Operações de matrizes

Operações de matrizes
A matriz é um arranjo 2-dimensional de números. Para criar uma matriz no
Matlab, digitamos cada linha como uma sequência entre vírgulas (ou
espaço), e então usar ponto e virgula para definir o fim de cada linha. Por
exemplo:

» A = [1, 4; 5 2] »2*A
A = ans =
1 4 2 8
5 2 10 4

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 28 / 57


Vetor e matrizes Operações de matrizes

Operações de matrizes
Se duas matrizes têm o mesmo tamanho, podem ser adicionadas ou
subtraídas:

» B = [1 3; -1 -4];
» A+B
ans =
2 7
4 -2

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 29 / 57


Vetor e matrizes Operações de matrizes

Operações de matrizes
Pode-se também computar a transposta da matriz. A transposta troca as
linhas por colunas em uma matriz.

» A’
ans =
1 5
4 2

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 30 / 57


Vetor e matrizes Operações de matrizes

Operações de matrizes
Se a matriz contém elementos complexos, a transposta será a matriz
transposta conjugada a qual é formada pelo complexo conjugado de cada
elemento da matriz transposta:

» C = [1+i, 4-i; 5+2i, 3-3i] » C’


C= ans =
1+1i 4-I 1-1i 5-2i
5+2i 3-3i 4+i 3+3i

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 31 / 57


Vetor e matrizes Operações de matrizes

Operações de matrizes
Se não quiser computar a transposta de uma matriz com elementos
complexos sem computar o conjugado, usar (.’):

» C.’
ans =
1+1i 5+2i
4-i 3-3i

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 32 / 57


Vetor e matrizes Operações de matrizes

Operações de matrizes
A multiplicação de arranjos trabalha com matrizes também. É importante
reconhecer que essa operação não é uma multiplicação de matrizes.

» A = [1, 4; 5 2]; B = [1 3; -1 -4];


» A.*B
ans =
1 12
-5 -8

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 33 / 57


Vetor e matrizes Operações de matrizes

Operações de matrizes
Considere as duas matrzes:

» C = [2, 1; 1, 2]; D = [3, 4; 5, 6];

A sua multiplicação é computada como:

» C*D
ans =
11 14
13 16

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 34 / 57


Vetor e matrizes Tipos especiais de matrizes

Tipos especiais de matrizes


A matriz identidade é a matriz quadrada com uns na diagonal e zeros nas
outras posições. Para criar uma matriz identidade de ordem n, faça:

» eye(n);
» eye(2)
ans =
1 0
0 1

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 35 / 57


Vetor e matrizes Tipos especiais de matrizes

Tipos especiais de matrizes


Para criar uma matriz de zeros, digite:

» zeros(n) % matriz de zeros de ordem n


» zeros(m,n) % mxn matriz de zeros

Para criar uma matriz de uns, digte ones(n) ou ones(m,n).

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 36 / 57


Vetor e matrizes Referenciando elementos de matrizes

Referenciando elementos de matrizes


Elementos individuais e colunas em uma matriz podem ser referenciadas
usando Matlab. Considere a matriz:

» A = [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 37 / 57


Vetor e matrizes Referenciando elementos de matrizes

Referenciando elementos de matrizes


Podemos escolher elementos da linha m e coluna n digtando A(m,n). Por
exemplo:

» A(2,3)
ans =
6

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 38 / 57


Vetor e matrizes Referenciando elementos de matrizes

Referenciando elementos de matrizes


Para referenciar todos os elementos na i-ésima coluna, escrevemos A(:,i).

» A(:,2)
ans =
2
5
8

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 39 / 57


Vetor e matrizes Referenciando elementos de matrizes

Referenciando elementos de matrizes


Para escolher os elementos da i-ésima até a j-ésima coluna, digitamos
A(:,i:j).

» A(:,2:3)
ans =
2 3
5 6
8 9

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 40 / 57


Vetor e matrizes Referenciando elementos de matrizes

Referenciando elementos de matrizes


Pode-se escolher pedaços de matrizes ou submatrizes também.

» A(2:3,1:2)
ans =
4 5
7 8

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 41 / 57


Vetor e matrizes Referenciando elementos de matrizes

Referenciando elementos de matrizes


Podemos trocar o valor de elementos de matrizes referenciando-se à sua
posição também.

» A(1,1) = -8
ans =
-8 2 3
4 5 6
7 8 9

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 42 / 57


Vetor e matrizes Gráfico tri-dimensional

Gráfico tri-dimensional

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 43 / 57


Vetor e matrizes Gráfico tri-dimensional

Tarefa!
Se as coordenadas x, y, e z forem dadas como uma função do parâmetro t
por:


x = √t *sin(2*t)
y = t * cos(2*t)
z = 0.5*t
Para 0 ≤ t ≤ 6 ∗ π

use o comando plot3, e plotar t x (x,y,z) na mesma figura.

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 44 / 57


Vetor e matrizes Gráfico tri-dimensional

Tarefa!

t=0:0.1:6*pi;

x = √t *sin(2*t)
y = t * cos(2*t)
z = 0.5*t
plot3(x,y,z,’k’,’linewidth’,1)
grid on
xlabel(’x’); ylabel(’y’); zlabel(’z’)

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 45 / 57


Vetor e matrizes Determinantes e sistemas lineares

Determinantes
Para calcular o determinante de uma matriz Ano Matlab, simplemente
digite det(A).

» A = [1 3; 4 5]; det(A)
ans =
-7

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 46 / 57


Vetor e matrizes Determinantes e sistemas lineares

Determinantes
Considere os seguintes conjuntos de equações:


5x + 2y − 9z = 44

−9x − 2y + 2z = 11

6x + 7y + 3z = 44

Para obter a solução de um sistema de equações desse tipo, use os


seguintes passos.

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 47 / 57


Vetor e matrizes Determinantes e sistemas lineares

Determinantes
Primeiro, encontre o determinante da matriz A:

 
5 2 −9
A =  −9 −2 2 
6 7 3

» A = [5 2 -9; -9 -3 2; 6 7 3];
» det(A)
ans =
368

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 48 / 57


Vetor e matrizes Determinantes e sistemas lineares

Determinantes

Quando o
No Matlab a solução única pode ser otida
determinante for
usando divisão à esquerda. Primeiro, criar
diferente de zero, uma
uma coluna com os elementos do lado direito
solução única existe.
do sistema. Assim,:
Esta solução é o vetor
coluna:
» b = [44; 11; 5];
x
  » A\b
X= y  ans =
z [−5.12507.6902 − 6.0272]0

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 49 / 57


Vetor e matrizes Determinantes e sistemas lineares

Sistemas de equações lineares


Uma maneira de analisar a solução do sistema de equações lineares é a
partir do rank da matriz do sistema. Seja o sistema de equações lineares
com m equações e n variáveis:

Ax = b

Uma mariz aumentada é formada adicionando o vetor b como uma coluna


da matriz A.

[A b]

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 50 / 57


Vetor e matrizes Determinantes e sistemas lineares

Sistema de equações lineares


O sistema de equações tem solução se e só se rank(A) = rank([A b]). Se o
rank for igual a n, então a solução é única.

Se rank(A) = rank([A b]) mas rank (A) < n, existem infintas soluções. Se
rank(A)= r, então r das variáveis podem ser expressas como uma
combinação linear das outras n-r variáveis

Para computar rank da matriz, pode usar o comando Matlab rank(A):

» rank(A);

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 51 / 57


Vetor e matrizes Determinantes e sistemas lineares

Tarefa!
Considere o sistema linear


x − 2y + z = 12

3x + 4y + 5z = 20

−2x + y + 7z = 11

Verificar que a solução é única usando o comando rank. Encontrar a


solução usando divisão à esquerda.

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 52 / 57


Vetor e matrizes Inversa and pseudoinversa de uma matriz

Inversa e pseudoinversa de uma matriz


Matlab tem comandos para computar a inversa e pseudoinversa de uma
matriz. A sintaxe é:

» A = [1, 2; 3, 4];
» inv(A); %Para inversa de uma matriz A
» pinv(A); %Para a pseudoinversa de uma matriz A

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 53 / 57


Vetor e matrizes Decomposição de uma matriz

Decomposição de uma matriz


Matlab computa a decomposição LU de uma matriz usando o comando lu.

» A = [1 2 3; 3 2 1; 7 5 11]; b = [4; 2; -1];


» [L,U] = lu(A);
L= U=
0.1429 1.0000 0 7.0000 5.0000 11.0000
0.4286 -0.1111 1.0000 0 1.2857 1.4286
1.0000 0 0 0 0 -3.555659

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 54 / 57


Vetor e matrizes Decomposição de uma matriz

Decomposição de uma matriz


Para resolver um sistema linear pode-se também resolver a equação:

x = U\(L\b)

» x = U\(L\b)
x=
-1.8125
4.1250
-0.8125

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 55 / 57


Vetor e matrizes Tarefas de fixação

Agora é hora de exercitar programando no Matlab.


Tarefas
a) Dado A = [1;2;3]; B = [4;5;6]; obter o produto elemento por elemento
dos dois vetores.
b) Considere as duas matrizes
A= [8 7 11;6 5 -1;0 2 -8]; B = [2 1 2;-1 6 4;2 2 2], computar o produto
elemento por elemento e o produto das matrizes.
c) Obter a solução do seguinte conjunto de equações lineares:
x+2y+3z= 12
-4x+y+2z = 13
9y-8z =-1
d) Use a decomposição LU para encontrar a solução do sistema:
x+7y-9z = 12
2x-y+4z = 16
x+y-7z = 16

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 56 / 57


Referências

Referências

[1] Matlab Product Help.


[2] Matlab Demystified. A Self-Teaching Guide, David McMahon, McGraw
Hill.
[3] Matlab: An Introduction with Applications, Amos Gilat, Fourth Edition,
John Wiley and Sons.

V. A. Oliveira (Elsevier, 2016) Engenharia de Controle: fundamentos Aula 1a 57 / 57

Você também pode gostar