直接上两个错误信息:
-
F1211 20:05:10.914233 19596 problem_impl.cc:482] Parameter block not found: 00000258ACD17AE8. You must add the parameter block to the problem before it can be set constant. *** Check failure stack trace: ***
-
Termination: FAILURE (ParameterBlock: 000001F0B83E4980 with size 1 has at least one invalid value.
First invalid value is at index: 0.
Parameter block values: inf )
第一个出错是因为你在setparameter的时候没有先add。比如你使用了problem.SetParameterBlockConstant()或者problem.SetParameterization()等等。解决办法就是在set之前先把set的变量add进去,使用函数problem.AddParameterBlock()即可。比如这样:
第二个出错是因为参数块中出现了无效的数值,即inf(无穷大)。出现这一问题的原因一般都是因为ba过程中出现了除0的情况,所以只要找到除0的地方并进行改正即可。