I'm having a problem developing my GUI to solve a differential equation and I can not find the error.
The equation I'm trying to solve is defined by:
T*x'+x = kSigma*heaviside(t-t0) + kSin*sin(Omega*t+alpha*pi/180).
The approach I have tried is:
function lsg = DGLvar(t,T,Omega)
x = 1;
kSin = 1;
kSigma = 5;
t0 = 0;
alpha = 0;
lsg = 1/T * (-x + kSigma*heaviside(t-t0) + kSin*sin(Omega*t+alpha*pi/180) );
In the GUI the code looks like this:
function pushbutton1_Callback(hObject, ~, handles)
t=[0 100];
periode=get(handles.sliderT,'value');
Omega=get(handles.slideromega,'value');
[x,t]=ode45(@DGLvar,t,periode,Omega);
plot(handles.axes2,x,t,'g')
I'm getting the following error:
Error using DGLvar (line 8)
Not enough input arguments.
Error in odearguments (line 87)
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ode45 (line 113)
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
Error in PT1>pushbutton1_Callback (line 218)
[x,t]=ode45(@DGLvar,t,periode,Omega);
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in PT1 (line 42)
gui_mainfcn(gui_State, varargin{:});
Error in @(hObject,eventdata)PT1('pushbutton1_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating uicontrol Callback
How can I resolve this error?