我想要设置一个约束,一个圆管的环形截面的半径,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中放什么。
发布于 2018-10-16 16:04:20
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应该是什么样子。
https://stackoverflow.com/questions/52839033
复制相似问题