错误使用 dec2mat DECVARS must be a vector of length 43 出错 main1 (第 150 行) uopt=dec2mat(lmisys,xopt,UU);
时间: 2023-11-29 14:04:03 浏览: 418
这个错误提示说明了在调用 `dec2mat` 函数时,传入的第一个参数 `lmisys` 中 `DECVARS` 这个域的长度不为 43,而是一个非向量的值。因此,你需要检查一下 `lmisys` 的定义是否正确,确保其中的 `DECVARS` 是一个长度为 43 的向量。
另外,你也可以尝试在调用 `dec2mat` 函数之前,先打印一下 `lmisys` 的内容,查看其中的各个域是否符合预期。例如,可以使用以下代码:
```
disp(lmisys);
uopt=dec2mat(lmisys,xopt,UU);
```
这样可以在控制台输出 `lmisys` 的内容,方便你进行调试。
相关问题
对于此运算,数组的大小不兼容。 出错 untitled4>@(i)costfun(x0+cumtrapz(t(i:end),[u(i:end);u(end)]),u(i)) (第 21 行) objfun = @(u) sum(dt*arrayfun(@(i) costfun(x0 + cumtrapz(t(i:end),[u(i:end);u(end)]),u(i)),1:N-1)); 出错 untitled4>@(u)sum(dt*arrayfun(@(i)costfun(x0+cumtrapz(t(i:end),[u(i:end);u(end)]),u(i)),1:N-1)) (第 21 行) objfun = @(u) sum(dt*arrayfun(@(i) costfun(x0 + cumtrapz(t(i:end),[u(i:end);u(end)]),u(i)),1:N-1)); 出错 fmincon (第 568 行) initVals.f = feval(funfcn{3},X,varargin{:}); 出错 untitled4 (第 30 行) [uopt,fopt] = fmincon(objfun,x0,[],[],Aeq,beq,lb,ub,[],options); 原因: Failure in initial objective function evaluation. FMINCON cannot continue. 相关文档
根据错误信息,这是一个使用 MATLAB 中的 fmincon 函数进行优化的问题。出错信息中提到了函数参数不兼容,导致无法计算初始目标函数值。建议检查代码中的变量维度是否正确,并确认函数参数的类型和数量是否与 fmincon 函数要求的一致。同时,也可以尝试使用调试工具逐步检查代码,确定错误出现的具体位置和原因。如果问题仍然存在,可以参考 MATLAB 的官方文档或者向 MATLAB 的官方支持团队寻求帮助。
阅读全文