Matlab 中的约束优化

Constrained optimisation in Matlab

我有一些函数 f(x),其中 x 是一个六元素向量。我想使用

找到这个函数的最小值

x = fmincon(fun,x0,A,B)

我有以下限制:

a*x1<b*x2<c*x3d*x4<e*x5,其中 a,b,c,d,e 是一些数字。

我的问题是正确编写 fmincon 函数的 AB 参数。

你能帮帮我吗?

更新

我的问题是我不明白如何连接不等式: 如果我只想使用 ax1<bx2,那么 A=[a,-b,0,0,0]; B=0,如果我想使用 bx2<cx3,那么 A=[0,b,-c,0,0]; B=0。但是我无法加入这些约束。

我可以使用 A=[[a,-b,0,0,0],[0;b;-c;0;0]]; B = [0,0]; 吗?

您可以尝试如下所示的约束矩阵 A 和向量 B

A = [a,-b,0,0,0;
     0,b,-c,0,0;
     0,0,0,d,-e];

B = zeros(3,1);