Академический Документы
Профессиональный Документы
Культура Документы
CONTROLADOR PID
Vamos usar una tabla en la cual tenemos el tiempo y el porcentaje
de agua en el tanque.
Tiempo (s)
Nivel de agua
(%)
0
0
10
10
15
35
Pasos a seguir:
Interpolacin Polinomial
Polinomio de Lagrange
Modelo matemtico
30
89
Calcular parmetros L y T
end
if vx>max(X)
set(handles.error,'string','Ingrese el valor de t dentro del intervalo
de valores ');
end
%para mostrar el valor dentro de la grafica
s=pol(vx);
s=num2str(s);
set(handles.solucion,'string',s);
s=str2double(s);
plot(vx,s,'ko');
hold on
%HALLANDO LOS VALORES DE T Y L
%Primer punto de inflexin
R=poly2sym(C);
%Usaremos el metodo de biseccin para el valor del punto de inflexin
A=diff(diff(R));
A=inline(A);
a=min(X);
b=max(X);
n=ceil(log((b-a)/(1e-3))/log(2));
for i=1:n
xb=(a+b)/2;
if A(a)*A(xb)<0
b=xb;
else
a=xb;
end
end
%Hallando la recta tangente al punto de inflexin
syms xt;
f1x=diff(R);
f1x=inline(f1x);
yt=pol(xb)+f1x(xb)*(xt-xb);
%ecuacin de la recta tangente
yt=inline(yt);
%graficamos la recta tangente
fplot(yt,[min(X),max(X),min(Y),max(Y)],'g');
plot(max(Y),[min(X),max(X)],'g');
hold off
%Hallando el valor de L con metodo de bisceccin
al=min(X);
bl=max(X);
n=ceil(log((bl-al)/(1e-3))/log(2));
for i=1:n
L=(al+bl)/2;
if yt(al)*yt(L)<0
bl=L;
else
al=L;
end
end
set(handles.valorl,'String',L);