我想为管子的环形截面的半径设置一个约束,该约束r_o - r_i>.0025,其中r_o和r_i是变量,每个是沿管长度的内半径和外半径的1x11数组。我已经操纵了这个
r_o - r_i - .0025 <= 0
如何设置 A 和 b 矩阵(用于 fmincon(来解决这种不等式?
我假设我的 b 矩阵只是一个列向量,每个值为 -.0025,长度与 r_o 个变量的数量相匹配(在本例中为 11(,但不知道在矩阵 A 中放入什么。
fmincon
中的约束形式为Ax<=b
。任何线性不等式约束都可以采用这种形式。
您正在优化整个矢量r_i
,r_o
对吗?在这种情况下,我会将您的优化向量x
设置为类似x = [r_i, r_o]'
的东西,即长度为 22(列(向量,其中前 11 个元素对应于r_i
,其余 11 个元素对应于r_o
。在这种情况下,您可以将r_i <= r_o - 0.025
映射到[eye(11), -eye(11)]*x <= -0.0025*ones(11,1)
,从而告诉您A
和b
应该是什么样子。