matlab 优化求解 :线性约束能写到中去吗 nonlcon

求解,写了会怎么样
我是把线性约束的计算结果,在nonlcon中写成向量c 返回函数值
例如:
function [c,ceq]=nonlcon(x)
ceq=[];
c=[];
for ii=1:10%只是线性约束
c=[c;x(ii)-ii];
end
end
会影响结果还有求解速度 吗

没有人回答
不过我试了一下 好像不影响速度

1、首先,可以肯定,把线性约束写到非线性约束函数中去是允许的。从理论上说,线性可以看成非线性的一种特殊情况;而从实际应用看,我也曾多次这样用过。

2、对求解结果和速度的影响很难说,与很多因素有关,包括目标函数、其它约束、初始条件、算法等等,包括不同版本的MATLAB可能也存在差别,不能凭对于个例的主观感受下结论。

3、从算法上说,线性约束和非线性约束的处理方式不同,通常非线性的速度会更慢一些,但速度的差异对于比较简单问题往往体现不出来。至于对结果的影响,一般来说不会有显著差异,但由于对约束条件处理方式的不同可能导致求解的过程不同,进而对结果产生影响。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-19
放到 ul 里面追问

请认真仔细看问题再回答,谢谢