필터 지우기
필터 지우기

Parameter optimization without real input-output model

조회 수: 2 (최근 30일)
Roy Veldhuizen
Roy Veldhuizen 2012년 5월 14일
Hello,
I'm building a model of an accelerating engine in SimuLink, and based on real logged data I want to approximate my parameters (Cd, rolling coefficient) such that they reflect reality. To achieve this I'm using the Control and Estimation Tools manager. I think is a suitable tool but I have some problems with the implementation. The examples I've found on internet all concern an input-output based situation, such a DC engine. However, the nature of my model is a bit different. I just supply initial conditions (entry speed, gear etc.) to run the simulation. As such, I do not have a clear input-output model that i can specify for the optimizer, and thus the parameter optimizer says that the object function is in a local minimum.
I hope it's a bit clear what I mean, and you can help me out :)

채택된 답변

Alexander Efremov
Alexander Efremov 2012년 5월 14일
As I understand the optimization problem, you would like to minimize something at the end of the day (like least square error between an experimental and model time domain data). Keeping that in mind, I suppose you have some real world (or experimental) data. What kind of data is that? I suppose that should be some time domain vectors (input and output, or, as far as you're refering to some non-I\O case, just output by constant input).
I would say you have to repeat the same situation you have in real world in your model and ask Parameter Estimator to tune the parameters.
  댓글 수: 3
Alec Stothert
Alec Stothert 2012년 5월 14일
Not having an import should not be a problem, the example http://www.mathworks.com/help/toolbox/sldo/ug/brz_xvq.html#brz_xx9-5, walks through a problem with no inputs, and initial state estimation.
Roy Veldhuizen
Roy Veldhuizen 2012년 5월 15일
I managed to do it a bit differently. I specified an input vector of time with sim() command. This allowed me to use the time as an input.
[Time Distance Velocity]=sim(filename,[StartTime EndTime],OPTIONS, [input:timevector, input:timevector)]);
I know it's probably not the most neat way to do it, but it worked for me, as it allows me to specify to only give time and initial states as an input.
I think the example Alec gives is not that suitable either, as it focuses on the estimation of the initial state, which is known in my case.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Parameter Estimation에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by