非线性方程组中加入约束后如何实现。

  • function y=qinyang(x)
  • y=[(600-x(1))*x(4)-600*0.12;
  • (600-x(1)-x(2))*x(5)-600*0.12;
  • (600-x(1)-x(2)-x(3))*0.35-600*0.12……
qinyang(x) 也就是赋初值后迭代求解x(i)的方程,采用的是“x=fsolve(@qinyang,x0,optimset('fsolve'))”语句求的解;
现在我想把要求改一下,在满足关于几个x(i)变量的公式的和最小的情况下,求解上述方程的解x(i)
比如在 X=1140*x(19)*(x(22)^2)/((150-x(22))*150)+1000*x(20)*x(23)^2/((x(17)-x(23))*x(17)) +1000*x(21)*x(24)^2/((x(18)-x(24))*x(18))的和最小的情况下,求解出y=qinyang(x)的所有x(i)的解。

 采纳的回答

janom
janom 2022-11-23

0 个投票

目标函数、约束函数 都含有自变量啊~
而且如果需要指定迭代初值的话,fmincon有个参数x0就是。
BTW,目标函数不是要“满足”的,只是说在满足约束函数的前提下尽量让它小。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Matrix Computations 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!