Objective function doesn't converge but jumps around

I have been trying to complete an optimisation problem. I am looking at radial heat diffusion on a cylinder. I want to tackle it as an inverse problem in order to obtain values for heat diffusion and the like. I have an objective function Boundary_temperature which spits out the difference between the simulated data(computed by Battery_temp) and the measured data(contained in synth_temp).
The value of the objective function is just the l^2 norm of the calculated data and measured data, so a good value of the parameters should yield a small value. I set up the problem and the value of the objective function jumped about and didn't converge but jumped around, I even managed to obtain a warning of the matrix is singular warning which I don't understand.
I added in a stopping criterion, TolFun, which I set to 10^-3, and I hoped that would make things better, as I know that the value of the objective function did get that small, so I hoped that it would work quite nicely, I was wrong.
The equation in question is:
, ,
The variables I am trying to find is .

2 件のコメント

Matt J
Matt J 2020 年 3 月 2 日
It is hard to tell from the code you've attached what the unknowns are.
Matthew Hunt
Matthew Hunt 2020 年 3 月 2 日
I've added in some equations to make things clear.

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeNonlinear Control についてさらに検索

質問済み:

2020 年 3 月 2 日

コメント済み:

2020 年 3 月 2 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by