MATLAB数组大小不兼容的报错

一个关于航天器的模型,要用遗传算法求最优解
是刚开始学matlab的,对matlab的变量之类的不熟,这个函数写到这个样子,但是不知道怎么修改
主要问题在这里出现

m=@(y) k('y','r','vr','dthetadt','alfa');

y= fsolve(m,[40000000,70000000]);

t=y./(24*3600);

end

代入到遗传算法后出现如下错误

对于此运算,数组的大小不兼容。

出错 symengine>@(alfa,dthetadt,r,vr,y)
出错 func>@(y)k('y','r','vr','dthetadt','alfa') (第 41 行)
m=@(y) k('y','r','vr','dthetadt','alfa');

出错 fsolve (第 264 行)
fuser = feval(funfcn{3},x,varargin{:});

出错 func (第 43 行)
y= fsolve(m,[40000000,70000000]);

出错 second (第 38 行)
Parent(i).y=func(Parent(i).L10,L20,Parent(i).L30,Parent(i).L40);

原因:
Failure in initial objective function evaluation. FSOLVE cannot continue.

相关文档

如果用细胞数组的话,细胞数组不能使用四则运算
如果把y的引号去掉,则会有Cat函数报错,原因是两边数据类型不一致

请问这个要怎么解决呢