Laboratório de Controle
Prof. Alexandre Brincalepe Campo
www.cefetsp.br/edu/brinca/federal.html
NOME
1
dígitos
β
2
5
Prontuário
4
5
6
3
7
8
8
Roteiro 1 - Introdução ao MATLAB
Tela principal
Ajuda do Matlab
>> helpwin
Comandos para programação em linguagem MATLAB
Control flow:
if
- Conditionally execute statements.
else
- IF statement condition.
elseif - IF statement condition.
end
- Terminate scope of FOR, WHILE, SWITCH, TRY and IF statements.
for
- Repeat statements a specific number of times.
while - Repeat statements an indefinite number of times.
9
Laboratório de Controle – E4 – Prof. Alexandre Brincalepe Campo
www.cefetsp.br/edu/brinca/federal.html
Comandos para inicialização de variáveis e gráficos:
close all
: fecha todas as janelas de figuras
clear all
: limpa o espaço de trabalho (“Workspace”)
clc
: limpa a janela de comandos (“Command Window”)
Exemplos:
1) for
N=3;
for I = 1:N,
for J = 1:N,
A(I,J) = 1/(I+J-1);
end
end
2) if
if I == J
A(I,J) = 2;
elseif abs(I-J) == 1
A(I,J) = -1;
else
A(I,J) = 0;
end
3) while
i=1;
T=0;
while i <= (N),
frequencia(i)=1/(periodo(i)*(10^(-3)));
T=T+(periodo(i)*(10^(-3)));
tempo(i)=T;
if T<60,
I1=i;
end;
i=i+1;
end;
2
Laboratório de Controle – E4 – Prof. Alexandre Brincalepe Campo
www.cefetsp.br/edu/brinca/federal.html
Parte 1 – Programa introdutório
Exemplo:
% Introduçao a programacao Matlab
% Inicializaçao das variaveis do Matlab
close all
clear all
clc
% Desenho de uma funçao
t=0:0.01:10;
N=size(t);
tamanho=N(1,2);
for i=1:tamanho,
y1(i)=(t(i))^2;
y2(i)=1/((t(i))^2);
end
figure(1)
plot(t,y1,'r');
hold on
plot(t,y2,'b');
xlabel('tempo')
ylabel('y1(t)-verm e y2(t)-azul')
title('Graficos das funcoes t2 e 1/t2')
grid
Análise
1 – Verifique o conteúdo da janela de ajuda do Matlab.
- Verifique o item: matlab\lang
- Verifique o item: matlab\elfun
2 – Execute o programa.
Exercícios
Exercício 1.1 – Altere a faixa de valores do eixo das abscissas para -10 a 10
e desenhe o novo gráfico. Altere o código do programa substituindo o comando
for pelo comando while. Faça as alterações necessárias para garantir a
execução do programa.
Exercício 1.2 – Faça um programa que desenhe o gráfico da função:
v(t) = 100 sen(2πt) no intervalo de 0 a 1 s.
Exemplo de Aplicação – Série de Fourier
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
Serie Trigonometrica de Fourier
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x=linspace(0,4*pi,100);
y=5-10/pi*sin(x)-10/(2*pi)*sin(2*x)-10/(3*pi)*sin(3*x);
figure(1)
plot(x,y,'b')
title('Serie de Fourier - Dente de Serra com 3 harmonicos')
xlabel('tempo')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
y=5-10/pi*sin(x)-10/(2*pi)*sin(2*x)-10/(3*pi)*sin(3*x)-10/(4*pi)*sin(4*x)...
-10/(5*pi)*sin(5*x)-10/(6*pi)*sin(6*x)-10/(7*pi)*sin(7*x)-10/(8*pi)*sin(8*x)...
-10/(9*pi)*sin(9*x)-10/(10*pi)*sin(10*x)-10/(11*pi)*sin(11*x)-10/(12*pi)*sin(12*x)...
-10/(13*pi)*sin(13*x);
hold on
plot(x,y,'r')
title('Serie de Fourier - Dente de Serra com 13 harmonicos')
xlabel('tempo')
grid
3
Laboratório de Controle – E4 – Prof. Alexandre Brincalepe Campo
www.cefetsp.br/edu/brinca/federal.html
Control Systems Toolbox
Parte 2 – Manipulação com polinômios no Matlab
% Inicializaçao das variaveis do Matlab
close all
clear all
clc
% Criaçao de um polinomio a partir de suas raizes
% poly(A): Funcao que cria o polinomio com as raízes armazenadas no vetor A
% Exemplo:
% B=[-4]
% P=poly(B)
% Resulta em P=[1 4], pois terá como conteúdo
% os coeficientes do polinômio: (x+4)
A=[-1];
B=[-2 -1];
P1=poly(A)
P2=poly(B)
% Construção dos polinômios P1=(x+1) e P2=(x2+3x+2)
P1=[1 1]
P2=[1 3 2]
% Produto entre dois polinomios
PP=conv(P1,P2);
% Calculo das Raizes de um polinomio qualquer
raizes_1=roots(P2);
raizes_2=roots(PP);
% Criacao de um polinomio a partir de um conjunto de dados
X=[0
1
2
3
4
5
6
7
8
9
10];
Y=[0
1
2
3
3.5 4.5 5
5.5 5.5 5
4 ];
% Grau do polinomio que sera gerado
N=5
% Geracao de um polinomio relacionado com os dados Y=f(X)
[P,S] = polyfit(X,Y,N)
% Verificacao de alguns valores de P
P(1,1)
P(1,2)
% Desenho do grafico dos valores experimentais
figure(1)
plot(X,Y);
hold on
% Desenho do grafico dos valores obtidos a partir do polinomio construido
t=0:0.1:10;
N=size(t);
tamanho=N(1,2);
for i=1:tamanho,
y1(i)=polyval(P,t(i));
end
plot(t,y1);
grid
% Grafico - tres eixos
figure(2)
ezsurf('1/(x^4) + 1/(y^4)',[0.5,1,0.5,1])
Exercícios
Exercício 2 – Dadas as funções de transferência de diversos sistemas, escreva
um programa que calcule as raízes dos polinômios do denominador (pólos) assim
como as raízes dos polinômios do numerador (zeros) de cada uma delas.
a)
F1 ( s ) =
3s 2 + 2
s 6 + s 5 + 2 s 4 + 3s 3 + s 2 + s + β
4
Laboratório de Controle – E4 – Prof. Alexandre Brincalepe Campo
www.cefetsp.br/edu/brinca/federal.html
b)
F2 ( s ) =
3s 2 + β
s 5 + βs 4 + 25s 3 + 7 s + 10
Parte 3
Estudo sobre funções de transferência.
Manipulação de sinais aplicados a sistemas dinâmicos.
Programa exemplo:
% Inicializaçao das variaveis do Matlab
close all
clear all
clc
% Criaçao de uma funcao de transferencia - Metodo 1
s = tf('s');
F = (s+1)/(s^2+3*s+1)
% Aplicaçao de um degrau ao sistema
figure(1)
step(F)
grid
% Criaçao de uma funcao de transferencia - Metodo 2
NUM1=[1 1];
DEN1=[1 3 1];
F=tf(NUM1,DEN1)
% Dada a seguinte funcao de transferencia
s = tf('s');
F = 1/(3*s+1)
% Aplicaçao de um degrau ao sistema
figure(2)
step(F)
grid
% Aplicacao de um impulso ao sistema
% Com a definicao do intervalo de tempo que sera apresentado
figure(3)
tempo=10;
impulse(F,tempo)
grid
% Aplicacao de uma funcao qualquer ao sistema
t=0:0.01:10;
U=sin(2*pi*t);
figure(4)
lsim(F,U,t)
grid
Exercício 3.1 – Faça um programa que apresente em gráfico do sinal da tensão
de saída ( vo(t) ) dos circuitos abaixo: Obs.: Em todos os casos abaixo a
chave mudou da posição B para a posição A no instante t = 0s e os
dispositivos que armazenam energia estavam com energia inicial igual a zero.
a)
b)
5
Laboratório de Controle – E4 – Prof. Alexandre Brincalepe Campo
www.cefetsp.br/edu/brinca/federal.html
c)
Exercício 3.2 – Apresente um sistema dinâmico de segunda ordem estudado na
disciplina Controle I e escreva um programa que execute a simulação do
referido sistema quando for aplicada uma entrada qualquer.
6
Download

Roteiro Experimental 1