matlab输入任意参数函数,函数Matlab中没有足够的输入参数

我在开发我的GUI来解决微分方程时遇到了问题,而且找不到该错误。函数Matlab中没有足够的输入参数

我试图解决的公式定义为:

T*x'+x = kSigma*heaviside(t-t0) + kSin*sin(Omega*t+alpha*pi/180).

我已经试过的方法是:

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));

在GUI中的代码如下所示:

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')

我收到以下错误:

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

如何解决此错误?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值