我想为管的环形截面的半径设置约束,即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中放入什么
答案 0 :(得分:0)
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
的外观。