O Sundaresan Matlab
Por: Gabriel Moreira • 22/9/2019 • Relatório de pesquisa • 307 Palavras (2 Páginas) • 500 Visualizações
clear all
%close all
t = [1:0.01:100];
s = tf('s');
K = 5; % Ganho DC do sistema
tau1 = 0.08; % Constante de tempo do sistema
tau2 = 0.1;
td = 0.2; % Tempo de atraso (atraso de transporte).
G = [K/((tau1*s+1)*(tau2*s+1))]*exp(-td*s); % Sistema de segunda ordem com atraso
[y,t,u] = step(G); % Resposta ao degrau do sistema
y_ = (1/K)*y; % Normalização da saída
% Método de Sundaresan
m1 = trapz(t,1-y_);% Primeiro momento
dy_ = diff(y_);
dy_max = max(dy_);
k = size(y_);
k = k(1)-1;
for j=1:k
if dy_(j) == dy_max;
i = j;
end
end
neta = tau1/tau2;
alpha = (tau1*tau2)/(tau1-tau2);
Mi = (neta^(1/(1-neta)))/(alpha*(neta-1));
tm = td + alpha*(log(neta)+(neta^2-1)/neta);
tau1_ = (neta^(neta/(1-neta)))/Mi;
tau2_ = (neta^(1/(1-neta)))/Mi;
td_ = m1 - tau1_ - tau2_;
K_ = y(length(y));
Gs = [K_/((tau1_*s+1)*(tau2_*s+1))]*exp(-td_*s);
1
ys = step(Gs);
plot(t,ys);
hold on
plot(t,y);
Published with MATLAB® R2013a
2
clear all
close all
clc
K = 10;
xi = 0.7;
wn = 6.1058;
td = 0.35;
s = tf('s');
G = [K*wn^2/(s^2+2*xi*wn*s+wn^2)]*exp(-td*s);
[y,t] = step(G);
% Método de Sundaresan
y_ = (1/K)*y;
N = size(y_);
%plot(t,y_)
grid on
K_ = y(N);
% Area achurada
for
...