是否可以添加更多的约束比默认的LSQLIN函数?

2视图(30天)
我使用lsqlin解决约束线性最小二乘问题。我指定值C, d, A, b, Aeq,说真的。我使用所有缺省约束解算器中除了上部和下界。
一个 x b
Aeq x = 说真的
我想添加一个约束的解算器不同于上述限制,我已经使用,是否有办法指定更多的约束除了默认的解算器?
任何帮助都是赞赏!
3评论
接下来的
接下来的 2023年1月26日
谢谢你的回复 @John D 'Errico @Torsten 。我有C 8号x5的矩阵。d是一个列向量的大小8 x1。
我的第一个约束是 一个 x b = C和b是一个列向量等于0.9。* d。
第二个约束是Aeq x = 说真的,Aeq 4 x5,说真的是一个列向量的矩阵大小4 x1的0。
x将从优化器,它将获得大小5 x1
从优化器获得x后,我计算一个新列d_new d_new = C * x。它将具有相同的大小。
我想添加一个额外的约束的优化器保证d_new中的每个元素具有相同的符号价值d背景不同而存在差异。
希望它的清晰!

登录置评。

接受的答案

马特·J
马特·J 2023年1月26日
编辑:马特·J 2023年1月26日
你仍然可以使用lsqlin,但正如约翰所说,您可以添加额外的不等式约束如下,
Q =‘(d)。* C;
r = 0(大小(d));
Aineq = [; Q]
bineq = [b; r];
x = lsqlin (C, d, Aineq、bineq Aeq,说真的,磅,乌兰巴托,x0,选项)

答案(1)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!