matlabFunction 错误:无法生成用于匿名函数的分段代码

问题描述

让向量 x=[x(1),x(2)] 和一个函数 f(x) 我想找到标量“lambda”的值,以便最小化 f([lambda,lambda + 1]) 与 Matlab 我的想法是这样的

 syms lambda
 f=@(x)((x(1)^2+x(2))*(x(1)<x(2)))
 g=matlabFunction(f([lambda,lambda + 1]))
 xmin = fminunc(g,0)

但是有点不对劲 你能帮我吗?谢谢

Error using symengine
Unable to generate code for piecewise for use in anonymous functions.

Error in sym/matlabFunction>mup2mat (line 432)
res1 = mupadmex('symobj::generateMATLAB',r.s,ano,spa);

Error in sym/matlabFunction>mup2matcell (line 401)
    r = mup2mat(c{1},true,sparseMat);

Error in sym/matlabFunction (line 172)
    body = mup2matcell(funs,opts.Sparse);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)