我有一个向量z,我希望通过两个其他向量(x,y)的线性组合来近似,使得a * x + b * y和z的残差最小化。另外,我想保持一个系数(a)为拟合正。 任何建议哪些命令可能有帮助? 谢谢!
答案 0 :(得分:0)
你必须定义一个能够降低成本的函数。成本越低,解决方案越好。输出必须是单个标量,例如差异的规范。
要避免x的负值,请添加(x<0)*inf
之类的内容。这会拒绝带有负x的每个解决方案。
如果这样做,请使用fminsearch
作为数字解决方案。
答案 1 :(得分:0)
如果您对其中一个系数没有限制,那么您的问题可能被视为多元回归(由regress
在matlab中解决)。由于其中一个系数是有界的,因此您应该使用lsqlin
。该函数解决了系数上具有边界或不等式的最小二乘问题。如果您的信号不居中,请不要忘记包含全部拦截预测器。
我认为fminsearch
在这种情况下会超调,因为lsqlin
完全符合您的要求。