主要内容

系统无线性约束

解决方案的协商与限制

fsolve恢复联合国行政系统的无界线。没有顽固,没有le permite incluir restricciones, ni siquiera límites de restricción。Así que,¿cómo se puede resolver un sistema de ecuaciones没有lineales cuando hay限制性?

没有se puede garantizar que exista una solución que cumpla sus restrictions。有可能没有问题solución,没有限制。没有任何障碍,存在técnicas para ayudarle一个公共汽车解决问题的限制。

Para ilustrar las técnicas,体贴cómo resolver las ecuaciones

F 1 x x 1 + 1 1 0 - x 1 1 + x 2 2 1 + x 2 2 + x 2 F 2 x x 2 + 2 2 0 - x 2 1 + x 1 2 1 + x 1 2 + x 1

Donde los componentes de x 德本没有否定。拉斯厄瓜西涅斯:

x - 1 - 2 x 1 0 - 2 x - 1 2 0 x 1 0 2 0

Solo una solución cumple las restricciones, en concreto x 1 0 2 0

拉función辅助fbnd艾尔最后的结局 F x numericamente。

用不同的方式

Por lo general, un sistema de N ecuaciones en N 变量“在走廊上的引导者”,“在走廊上的引导者”,“没有引导者的引导者”también“引导者”。De este modo, una forma De buscar una solución que cumpla alguna restricciones组成en generalar un número De puntos incialesx0Y, después,射射fsolveComenzando en cadax0

在这里,para buscar una solución厄瓜多尔的系统 F x 0 , tome 10 puntos aleatorios distribuidos normmente con una media de 0 y una desviación estándar de 100。

rng默认的%用于再现性N = 10;尝试10个随机起点pts = 100*randn(N,2);初始点是以点为单位的行soln = 0 (N,2);分配溶液Opts = optimoptions(“fsolve”“显示”“关闭”);k = 1:N soln(k,:) = fsolve(@fbnd,pts(k,:),opts);找到解决方案金宝搏官方网站结束

“我对你的限制”。

Idx = soln(:,1) >= 0 & soln(:,2) >= 0;disp(溶液(idx:))
10.0000 20.0000 10.0000 20.0000 10.0000 20.0000 10.0000 20.0000 20.0000

使用不同的算法

fsolve这是一种算法。这是我对你的理解。

En este ejemplo, tomeX0 = [1,9]Y检查la solución que devuelve cada算法。

X0 = [1,9];Opts = optimoptions(@fsolve,“显示”“关闭”...“算法”“trust-region-dogleg”);X1 = fsolve(@fbnd,x0,opts)
x1 =1×2-1.0000 - -2.0000
选择。算法=“信赖域”;X2 = fsolve(@fbnd,x0,opts)
x2 =1×2-1.0000 - 20.0000
选择。算法=“levenberg-marquardt”;X3 = fsolve(@fbnd,x0,opts)
x3 =1×20.9523 - 8.9941

在这里,对算法的理解不同,对错误的理解也不同。宁古纳,坎普拉斯,限制。洛杉矶“solucion”x3印度的国家solución,中国简单的联合国当地的国家。

Utilizarlsqnonlin反对这样的

lsqnonlin意图最小la suma de los cuadrados de los components de una función矢量 F x .De este modo, tra De resolver la ecuación F x 0 .Asimismo,lsqnonlinAcepta límites de restricción。

问题求解公式lsqnonliny resuelvalo。

Lb = [0,0];rng默认的X0 = 100*randn(2,1);[x,res] = lsqnonlin(@fbnd,x0,lb)
找到局部极小值。优化完成,因为梯度的大小小于最优性公差的值。
x =2×110.0000 - 20.0000
Res = 2.4783e-25

En este caso,lsqnonlin收敛a la solución cumpliendo las restricciones。喝水可以utilizarlsqnonlinCon el求解器MultiStartde全局优化工具箱para realizar la búsqueda en muchos puntos iniciales automáticamente。ConsulteMultiStart使用lsqcurvefit或lsqnonlin(全局优化工具箱)

建立规章制度fmincon

普德的改革问题fmincon形式上的关系:

  • Proporcione una función客观常数,como@ (x) 0, que se evalúa en 0 para cadax

  • Establezca la función客观性fsolve没有界线的限制fmincon

  • 比例的cualquier ottra restricción con la sintaxisfmincon习惯性的。

拉función辅助fminconstr艾尔最后的结局实行无直线限制。这就是问题所在。

Lb = [0,0];%下界约束rng默认的%可重复起始点X0 = 100*randn(2,1);Opts = optimoptions(@fmincon,“算法”“内点”“显示”“关闭”);x = fmincon (@ (x) 0 x0 ,[],[],[],[], 磅,[],@fminconstr选择)
x =2×110.0000 - 20.0000

En este caso,fmincon重新解决这个问题。

一些必要配套

Este código crea la función辅助fbnd

函数F = fbnd F (x) (1) = (x (1) + 1) * (10 x (1)) * (1 + x (2) ^ 2) / (1 + x (2) ^ 2 + (2));F (2) = (x (2) + 2) * (20 x (2)) * (1 + x (1) ^ 2) / (1 + x (1) ^ 2 + x (1));结束

Este código crea la función辅助fminconstr

函数[c,ceq] = fminconstr(x) c = [];%无非线性不等式Ceq = fbnd(x);求解目标为非线性等式约束结束

Consulte也

||

特马relacionados