Vous êtes sur la page 1sur 7

Aula 01 Introduo ao software MATLAB

SCS Sistemas de Controle / Servomecanismos


Aula 01 Introduo ao software MATLAB
O MATLAB (Matrix Laboratory) um ambiente de programao de alto desempenho voltado para a
resoluo de problemas expressos em notao matemtica, projeto e simulao de sistemas de controle,
anlise de dados e criao de grficos, entre outras aplicaes. Adicionalmente, um programa grfico
chamado Simulink, que trabalha juntamente com o MATLAB, permite a simulao interativa de sistemas
dinmicos. A tela principal do programa contm uma janela de comandos (command window), uma janela
para exibio das variveis definidas pelo usurio (workspace) e o histrico de comandos. A janela de
comando fornece a principal forma de comunicao entre o usurio e o interpretador MATLAB, que exibe
um sinal de prontido (prompt) para indicar que est pronto para receber instrues.
Novo modelo do Simulink

Workspace

Ajuda

Prompt do interpretador

Janela de
comandos
Histrico de
comandos

Figura 1: Tela principal do MATLAB

SCS Sistemas de Controle / Servomecanismos

Aula 01 Introduo ao software MATLAB

1. Manipulao de matrizes
O tipo numrico padro usado pelo MATLAB a matriz de valores em ponto flutuante: nmeros reais ou
complexos so armazenados em matrizes 1x1. A maneira mais simples de se armazenar uma matriz na
memria com uma atribuio, como em:
>> A = [2

5]

O resultado do comando anterior mostrado na Figura 2. Note que o comando passou a fazer parte do
histrico do programa e que a matriz foi armazenada no workspace. A alocao da matriz tambm pode ser
confirmada pelos comandos who (que mostra os nomes das variveis armazenadas) ou whos (que mostra
os nomes e espaos ocupados pelas variveis). Exemplo:
>> whos
Name

Size

Bytes

Class

1x5

40

double array

Grand total is 5 elements using 40 bytes

O MATLAB sensvel caixa, ou seja, diferencia letras maisculas de minsculas e aloca


automaticamente o espao de memria necessrio para as variveis usadas.

Comando digitado

Figura 2: Atribuio de valores

SCS Sistemas de Controle / Servomecanismos

Aula 01 Introduo ao software MATLAB

A matriz deste exemplo chamada de vetor linha, j que se trata de uma matriz com apenas 1 linha: na
digitao, os valores do vetor podem ser separados por espaos, como no exemplo, ou por vrgulas. Para
criar um vetor coluna deve-se separar cada linha das demais usando ponto-e-vrgula. Exemplo:
>> B = [5; -4; 6.5]
B =
5.0000
-4.0000
6.5000

Para criar uma matriz bidimensional basta combinar as sintaxes anteriores:


>> M = [2 1 3; 4 6 7; 3 4 5]
M =
2
4
3

1
6
4

3
7
5

Quando for interessante omitir a exibio do resultado de qualquer comando basta encerr-lo com pontoe-vrgula. Exemplo:
M = [2 1 3; 4 6 7; 3 4 5];% Cria uma matriz 3x3 (3 linhas e 3 colunas)
O smbolo de porcentagem serve para criar comentrios de uma linha, tanto na janela de comandos
quanto no ambiente de programao do MATLAB.
Os elementos de uma matriz podem ser acessados pelo nome da varivel, seguido de ndices entre
parnteses, sendo que o primeiro elemento sempre o de ndice 1. Exemplo de acesso:
>> x = B(2)
x =
-4

Se uma nova informao for atribuda a um vetor ou matriz os redimensionamentos necessrios sero
feitos automaticamente. Exemplo:
>> A = [4 5 9];
>> A(6) = 8

Valores inseridos
automaticamente

A =
4

SCS Sistemas de Controle / Servomecanismos

Aula 01 Introduo ao software MATLAB

Para acessar os elementos de uma matriz escreve-se o conjunto de ndices entre parnteses, separados por
vrgula. Exemplo:
>> x = M(2,3)
x =
7
O resultado de qualquer comando que no seja atribudo a uma varivel especfica armazenado em uma
varivel especial chamada ans. Exemplo:
>> M(2,1)
ans =
4
Para facilitar a repetio de comandos possvel usar as setas para cima e para baixo do teclado ou dar um
duplo-clique nos itens da janela de histrico. No existem comandos especficos para desfazer atribuies
feitas na janela de comando, apesar de existir a opo undo no menu Edit do programa.
A indexao de matrizes pode ser usada em conjunto com o sinal ":" para indicar "todos os elementos" de
uma certa dimenso. Por exemplo, os comandos a seguir criam um vetor linha com todos os elementos da
segunda linha da matriz M:
M = [2 -1 5; 3 1 1; 2 0 2];
com ";"?
v1 = M(2,:)

% Qual o efeito de encerrar a instruo

O comando anterior pode ser traduzido como "armazene em v1 os elementos de M que esto na linha 2 e
em todas as colunas". Da mesma forma, o comando a seguir cria um vetor coluna com os elementos da
primeira coluna da matriz M:
v2 = M(:,1)
Finalmente, matrizes podem ser concatenadas por meio de atribuies diretas. Exemplo:
M2 = [[5; 5; 5]

v2

v1']

% Cria uma nova matriz 3 x 3

2. Seqncias
O uso de ":" tambm serve para denotar uma seqncia igualmente espaada de valores, entre dois limites
especificados, inteiros ou no.
Por exemplo, a instruo
v3 = 3:8
cria um vetor linha com os valores 3, 4, 5, 6, 7 e 8 (o incremento padro unitrio).
4

SCS Sistemas de Controle / Servomecanismos

Aula 01 Introduo ao software MATLAB

O incremento pode ser definido pelo usurio se a seqncia for criada sob a forma:
[Valor inicial: Incremento: Valor final]
Exemplo:
>> v4 = 2:0.5:4
v4 =
2.0000

2.5000

3.0000

3.5000

4.0000

Outra forma de se obter um vetor com valores igualmente espaados pelo uso da funo linspace. Por
exemplo, a instruo
y = linspace(10,200,25)
gera um vetor linha com 25 valores igualmente espaados entre 10 e 200. Se o parmetro que controla o
nmero de pontos for omitido, a seqncia ter 100 valores.
A diferena entre usar o operador ":" e a funo linspace que a primeira forma exige o espaamento
entre os valores enquanto a segunda requer a quantidade de valores.
Seqncias com valores linearmente espaados so usados, normalmente, para fornecer valores de
variveis independentes para funes. Por exemplo, as instrues a seguir criam um vetor com 50 valores
da funo y sen x , para x [0,2]:
x = linspace(0,2*pi,50);
valor de
y = sin(x);

% 'pi' uma funo interna que retorna o

Neste tipo de operao, chamada de vetorizada, o MATLAB cria ou redimensiona o vetor y com a mesma
dimenso do vetor x. Em situaes que exijam grandes variaes de valores, como na anlise de respostas
em freqncia, interessante que a variao de valores seja logartmica, o que pode ser obtido com o uso
da funo logspace, de sintaxe semelhante de linspace. Por exemplo, a instruo
f = logspace(0,4,50);
cria um vetor com 50 valores espaados logaritmicamente entre 10 0 1 e 10 4 1 .000 .
3. Operaes matemticas
O MATLAB reconhece os operadores matemticos comuns maioria das linguagens de programao nas
operaes com escalares (nmeros reais e complexos). Nas operaes com matrizes preciso respeitar as
regras da Matemtica em relao s dimenses envolvidas. Por exemplo, considere as seguintes matrizes:

1 4 5
A 2 3 9
6 0 1

5 5 5
B 4 6 2
3 4 5

SCS Sistemas de Controle / Servomecanismos

Aula 01 Introduo ao software MATLAB

Em seguida, considere as operaes:


i)
ii)
iii)
iv)
v)
vi)

C = A+B
C = A-B
C = A*B
C = A.*B
C = A./B
C = A.^2

(Soma)
(Subtrao)
(Multiplicao matricial)
(Multiplicao elemento-a-elemento)
(Diviso elemento-a-elemento)
(Potenciao elemento-a-elemento)

De acordo com as definies da Matemtica e as convenes do MATLAB, deve-se obter os seguintes


resultados:

i)

6 9 10
C 6 9 11
9 4 6

iv)

5 20 25
C 8 18 18
18 0
5

ii)

4 1
C 2 3
3 4

v)

0,2 0,8 1,0


C 0,5 0,5 4 ,5
2,0 0 0,2

0
7
4

iii)

36 49 38
C 49 64 61
33 34 35

vi)

1 16 25
C 4
9 81
36 0 1

Ateno:
1) Para obter o sinal de potenciao (^) preciso pressionar a tecla correspondente duas vezes;
2) A multiplicao de uma matriz A (n k) por uma matriz B (k m) produz uma matriz n m. Para as outras
operaes mostradas, as matrizes A e B devem ter as mesmas dimenses.
4. Operaes com matrizes
H uma srie de funes disponveis no MATLAB para gerao ou alterao de matrizes e vetores,
exemplificadas a seguir. Execute as instrues, anote os resultados obtidos e anote uma breve explicao
sobre a utilidade de cada funo.
a) x = max(M)
x = max(v)
[vmax imax] = max(v)
b) [nl nc] = size(M)
c) x = length(v)
x = length(M)
d) M2 = zeros(3)
M3 = zeros(3,2)

SCS Sistemas de Controle / Servomecanismos

Aula 01 Introduo ao software MATLAB

e) M4 = ones(4)
M5 = ones(size(M3))

5. Grficos
A maneira mais simples de traar um grfico bidimensional com o MATLAB pelo uso da funo plot. A
forma plot(x,y) desenha um grfico bidimensional dos pontos do vetor y em relao aos pontos do vetor x
(ambos devem ter o mesmo nmero de elementos). O grfico resultante desenhado em uma janela de
figura com as escalas automticas nos eixos x e y e segmentos de reta unindo os pontos.
Por exemplo, para desenhar o grfico da funo
y 1 1 ,1547 e 1 ,5 x sen 2 ,5981 x 1 ,0472 ,

no intervalo x 0 ,10 , pode-se utilizar a seguinte seqncia de comandos:


>> x = 0:0.1:10;
>> y = 1-1.1547*exp(-1.5*x).*sin(2.5981*x+1.0472);
>> plot(x,y)

Figura 3: Figura resultante do comando acima

SCS Sistemas de Controle / Servomecanismos

Vous aimerez peut-être aussi