Você está na página 1de 4

UNIVERSIDADE DO ESTADO DE SANTA CATARINA

CENTRO DE CIÊNCIAS TECNOLÓGICAS


DEPARTAMENTO DE ENGENHARIA ELÉTRICA

LABORATÓRIO DE SISTEMAS DE CONTROLE II

1 PROGRAMAÇÃO EM MATLAB

1.1 Introdução
Arquivos que contêm código de linguagem MATLAB são chamados de M-files. M-files
podem ser funções, que aceitam argumentos e produzem um resultado, ou podem ser scripts, que
executam uma série de declarações do MATLAB. O nome de um arquivo M-file deve ser seguido por
“.m”.
Para escrever um M-file, deve-se selecionar "File + New + M-File" ou clicar no botão de
atalho . Com isso, o Editor/Debugger é aberto e um programa M-file pode ser criado.

Script M-files Function M-files


 Não aceitam argumentos de entrada.  Podem aceitar argumentos de entrada.
 Operam sobre dados definidos no workspace  Por default, as variáveis internas são locais.
do Matlab.
 Úteis para automatizar uma série de passos  Úteis para aumentar a linguagem do Matlab.
que necessitam ser repetidos várias vezes.

1.2 Exemplo de Script M-File


Um exemplo simples de um Script M-file é dado abaixo (Figura 1.1), através do qual é
calculada a média de uma lista de valores:

Figura 1.1 - Exemplo de Script M-File


Para salvar o M-File do tipo script ou do tipo function, utilize a opção "Save" do menu
"File" do MATLAB Editor/Debugger, o que abrirá a janela mostrada na Figura 1.2 (Windows 98).
LABORATÓRIO DE SISTEMAS DE CONTROLE II 2

Escolha, então, um diretório apropriado para salvar seu arquivo e o nome do arquivo seguido da
extensão ".m".

Figura 1.2 - Janela para salvar arquivo


Os comentários inseridos no arquivo servem para auxiliar os usuários que não sabem utilizá-
lo. A estes comentários, está associado o comando help do Matlab. Ao ser acionado conforme se
mostra a seguir, os comentários inseridos no início do programa são exibidos na área de trabalho.
>> help media

Uma propriedade muito importante de um Script M-File é que suas variáveis são globais, o
que implica na necessidade de declará-las no Matlab. Note que se, no exemplo anterior, for usado um
nome diferente para a variável P, por exemplo T = [1 3 5], não será possível obter o resultado, pois
internamente a variável T não é utilizada e a variável P não existe.
>> T=[0 1 3];
>> media
??? Undefined function or variable P.

É necessário que, na declaração das variáveis, sejam utilizados os mesmos nomes internos ao
arquivo. Desta forma, tem-se:
>> P=[0 1 3];
>> media
resp = 1.3333

Utilize agora este arquivo para calcular a média entre alguns valores e testar seu funcionamento!!!
Obs.: Para executar um arquivo script M-File, basta digitar seu nome na janela de comandos do
Matlab.

1.3 Exemplo de Function M-File


O uso de uma function M-file é ilustrado no cálculo do fatorial de um número. Dá-se o nome
fatorial(n) à function que realiza esta operação, que é salva no arquivo “fatorial.m” (veja Figura 1.3).
O valor particular do argumento de entrada n deve ser fornecido por um script-file ou na linha de
comando do Matlab; fazendo isso, o fatorial de n é calculado e transferido através do argumento de
saída resultado. Assim, ao digitar-se fatorial(5), obtém-se a seguinte resposta:
>> fatorial (5)
resultado = 120
LABORATÓRIO DE SISTEMAS DE CONTROLE II 3

Figura 1.3 – Exemplo de Function M-File


Esta function possui alguns elementos comuns a todas as function M-file. A primeira linha
define o nome da função, o número e a ordem dos argumentos de entrada e saída, na forma
function[argumentos de saída] = nome da função [argumentos de entrada])
onde os termos entre colchetes são opcionais.

1.4 Definindo os Caminhos de Procura de Arquivos do Matlab


É importante ressaltar que os arquivos de usuários devem ser salvos num diretório que esteja
no caminho de procura do Matlab, ou seja, no seu Matlab Path. Para ver os diretórios em que o
Matlab pesquisa arquivos do tipo M-file (ou outros), escolha “File+Set Path” na janela de comandos.
Com isso, a janela da Figura 1.4 é aberta, permitindo operações relacionadas aos caminhos (paths).

Figura 1.4 - Janela Set Path


Numa function, podem ser empregadas as estruturas normalmente usadas em linguagens de
programação, tais como if - else - end, for - end, while - end. A seguir, são mostradas duas funções
pré-programadas (fprintf e input) e uma estrutura condicional (if-else-end):
LABORATÓRIO DE SISTEMAS DE CONTROLE II 4

Comando Sintaxe
Fprintf fprintf(‘O valor medido é %d e o valor calculado é %d’,x,y)
Input N = input(‘Digite o número de provas ’)
if else elseif if x >= 5
fprintf(‘Texto 1’)
else
fprintf(‘Texto 2’)
End

1.5 Tarefa
Considere um sistema de terceira ordem, linear e invariante no tempo, descrito no espaço de estados
por:
− 5 1 0  0
A =  0 − 2 1 , B =  0 , C = [− 1 1 0] , D = 0
 
 0 0 1  1
a) Encontre x, supondo que Ax = B;
b) Determine y, sabendo que yA = C;
c) Sendo G(s) = C(sI-A)-1B, obtenha G(0) e G(1);
d) Encontre o posto de CM = [B AB A2B].

Finalmente, considere a matriz A (n x n) e os vetores B (n x 1) e C (1 x n) arbitrários, relativos à


representação de um sistema no espaço de estados. Seja CM = [B AB A2B ... An-1B] a matriz de
controlabilidade e OM = [C’ A’C’ (A’)2C’ ... (A’)n-1C’] a matriz de observabilidade do sistema.

Escreva um programa que conclua e informe sobre a controlabilidade e a observabilidade de um


sistema dado. Este programa deve ser composto por um script m-file (programa principal), no qual é
definido o sistema, e por duas function m-file: uma para formar a matriz CM, determinar o seu posto e
informar se o sistema é ou não controlável e outra para formar a matriz OM, determinar o seu posto e
informar se o sistema é ou não observável.

A matriz A e os vetores B e C devem ser definidos no script m-file e transferidos por argumentos
para as function m-file.

Você também pode gostar