Simultaniously配件4功能:两个函数共享所有参数,所有四个功能共享一个参数

3视图(30天)
我试图适应四个数据集和四个函数f1, f2, f3, f4。函数f1和f2分享彼此之间的拟合参数,f3, f4彼此之间共享所有拟合参数差异。但这四个功能共享一个参数。意义:
f1 (x (1), (2) x (3))
f2 (x (1), (2) x (3))
f3 (x (4), (2) x (5))
f4 (x (4), (2) x (5))
这封信是稍微更适合我的应用程序,因为我有NaN值在某些数据集。
现在我不知道如何simultaniously适合所有四个功能。如果我符合他们seperatly,我得到截然不同的一个共享参数值x (2)。
感谢任何帮助!

接受的答案

Bjorn Gustavsson
Bjorn Gustavsson 2022年9月2日
函数errtot = four_errorfcns (pars1to5 Xall、Yall sigmaYall)
err1 =总和((f1 (pars1to5 (1:3), Xall (1:)) -Yall (1:)) ^ 2 / sigmaYall。(: 1) ^ 2);%包括ignoernans等
err2 =总和((f1 (pars1to5 (1:3), Xall (2:)) -Yall (2:))。^ 2 / sigmaYall (2:) ^ 2);%在你认为合适的地方。这
err3 =总和((f1 (pars1to5 ([4 2 5]), Xall (3:)) -Yall (3:)。^ 2 / sigmaYall (3:) ^ 2);%是一个简单的
err4 =总和((f1 (pars1to5 ([4 2 5]), Xall (4:)) -Yall (4:))。^ 2 / sigmaYall (4:) ^ 2);%的例子
errtot = err1 + err2 + err3 + err4;
结束
然后您可以简单地调用 fminsearch 或者任何的兄弟姐妹。如果你修改函数返回标准化残差可以使用 lsqnonlin 。我也意识到,与3标量函数都写我写输入和输入参数为1×3数组,但是你可以很容易的适应。如果你不有 sigmaYall 标准差的数据集适合你将不得不满足于类似wheigts和删除输入参数。
HTH

更多的答案(0)

下载188bet金宝搏


释放

R2022a

社区寻宝

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

开始狩猎!