2013-06-24 47 views
3

当用lsqcurvefit执行非线性最小二乘拟合并得到雅可比矩阵作为输出(即[x,resnorm,residual,exitflag,output,lambda,jacobian] = lsqcurvefit(...))时,我得到了雅可比矩阵的6x6矩阵。我估计的状态参数的数量是6,并且测量中的维数是2,所以我期望2x6矩阵。这里发生了什么?什么是lsqcurvefit实际返回雅可比行列式?

+0

你有多少个观察点? – macduff

+0

@macduff在这种情况下,我有三个观察点。 – Chris

+0

什么是优化'优化'设置?当我调用这个函数时,我得到的尺寸就像'number of states' X''观察的数量',你能发布一个你的问题的修剪版本,所以我可以重新创建它吗? – macduff

回答

3

所以,我想通了。因为我有三个2x1观察值,所以内部lsqcurvefit将它们存储为6x1向量,而不是我想象的方式(2x3矩阵)(请参见Linear Indexing)。部分原因是文件不清楚,部分原因是我对最小二乘的误解。

无论如何,返回的雅可比实际上是三个2x6雅可比矩阵(关于6维状态的观测集i的部分)叠加在一起,这是最小二乘雅可比行列式的预期行为。如果我有第四次观察,Jacobian将是8x6。

相关问题