__declspec(property(get = GetVariableParameters, put = SetVariableParameters)) TVec*VariableParameters;
Set/read the variables in minimized function.
Remarks:
Access the VariableParameters vector to set/read the variables in minimized function. To define number of variables and their initial values, set the VariableParameters vector Length and Values properties. Read the VariableParameters Values property to get the function minimum position.
Examples
#include "MtxVec.h"
#include "MtxVecTools.h"
#include "Optimization.h"
#include "Units.Math387.h"
using namespace Dew;
using namespace Dew::Math;
using namespace Dew::Math::Units;
static double Banana(TVec* Pars, TVec* Consts, const DewArray<tObject*>& objs)
{
return 100*Math387::IntPower((*Pars)[1] - Math387::IntPower((*Pars)[0], 2), 2) + Math387::IntPower(1 - (*Pars)[0], 2);
}
void Example()
{
TMtxOptimization* opt1 = new TMtxOptimization(nullptr);
// function with two variables
// initial values for variables => Pars[0] := 2, Pars[1] := -1;
opt1->VariableParameters->SetIt(false, DewArray<double>{2, -1});
opt1->RealFunction = Banana;
opt1->OptimizationMethod = TOptMethod::optMarquardt;
// numeric approximation
opt1->GradProcedure = nullptr;
opt1->GradHessProcedure = nullptr;
opt1->Recalculate();
// now VariableParameters holds minimum position
delete opt1;
}
See Also: TMtxOptimization::ConstantParameters, TMtxOptimization::SetObjects, TMtxOptimization::RealFunction
Declared in Dew::Math::TMtxOptimization · Dew.Math/MtxVecTools.h · Cross-compiler