MATLAB: Effects of parameter on oscillatory behaviour.

differential equationsparametersolve

How can I keep changing only Kc value (1 to 5) and using it in the Differential Equation.
if true
clc; clear all;
A=2; %Cross Sectional Area of the Tank [m^2]
Kc=1; %Proportional gain [m^2/min]
t1=0.1; %Integral Time Constant [min]
syms t y(t)
ode= A*diff(y,t,2)+Kc*diff(y,t,1)+(Kc/t1)*y==0;
Dy=diff(y);
cond1 = y(0) == 0;
cond2 = Dy(1e-10) == 2;
conds=[cond1 cond2];
sol=dsolve(ode,conds,t)
ezplot(sol,[0,20])
end

Best Answer

  • Leave ‘Kc’ as a symbolic variable. Then you can vary it in your fsurf call:
    A=2; %Cross Sectional Area of the Tank [m^2]
    % Kc=1; %Proportional gain [m^2/min]
    t1=0.1; %Integral Time Constant [min]
    syms Kc t y(t)
    ode= A*diff(y,t,2)+Kc*diff(y,t,1)+(Kc/t1)*y==0;
    Dy=diff(y);
    cond1 = y(0) == 0;
    cond2 = Dy(1e-10) == 2;
    conds=[cond1 cond2];
    sol(t,Kc)= dsolve(ode,conds,t)
    fsurf(sol,[0,20,1,5])
    xlabel('t')
    ylabel('Kc')
    view(30,30)