我确实有一个矩阵,在行中观察(在不同的pH下测量),数据点为列(浓度随时间变化).因此,一行由一个pH的不同数据点组成.
我确实希望将ODE适合数据.所以我定义了一个成本函数,并想计算所有观察的平方和.取此矩阵的平方和应该如下:
res = y - yhat # calculate residuals
ssq = np.diag(np.dot(res.T,res)) # sum over the diagonal
Run Code Online (Sandbox Code Playgroud)
那是对的吗 ?
Dav*_*ave 21
如果您将获取最后一个数组的总和,那将是正确的.但它也不必要地复杂(因为非对角元素也用np.dot计算)更快更好:
ssq = np.sum(res**2)
Run Code Online (Sandbox Code Playgroud)
如果你想要每个实验的ssd,你可以这样做:
ssq = np.sum(res**2, axis=1)
Run Code Online (Sandbox Code Playgroud)