You are here: Symbol Reference > MtxVecTools Namespace > Classes > TMtxOptimization Class > published > TMtxOptimization.VariableParameters Property
MtxVec VCL
ContentsIndex
PreviousUpNext
TMtxOptimization.VariableParameters Property

Set/read the variables in minimized function.

Pascal
property VariableParameters: TVec;

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.

Uses Math387, MtxVecTools, Optimization, MtxVecEdit; function Banana(const Pars: TVec; const Consts: TVec; const PConsts: Array of TObject): double; begin Banana := 100*Sqr(Pars[1]-Sqr(Pars[0]))+Sqr(1-Pars[0]); end; procedure TForm1.FormCreate(Sender: TObject); begin // function with two variables // initial values for variables => Pars[0] := 2, Pars[1] := -1; MtxOptim.VariableParameters.SetIt(false,[2,-1]); MtxOptim.RealFunction := Banana; MtxOptim.OptimizationMethod := optMarquardt; // numeric approximation MtxOptim.GradProcedure := nil; MtxOptim.GradHessProcedure := nil; MtxOptim.Recalculate; // now VariableParameters holds minimum position ViewValues(MtxOptim.VariableParameters,'Minimum position'); end;
#include "MtxExpr.hpp" #include "Math387.hpp" #include "Optimization.hpp" #include "MtxIntDiff.hpp" #include "MtxVecTools.hpp" // Objective function double __fastcall Banana(TVec* const Parameters, TVec* const Constants, System::TObject* const * ObjConst, const int ObjConst_Size) { double* Pars = Parameters->PValues1D(0); return 100.0*IntPower(Pars[1]-IntPower(Pars[0],2),2)+IntPower(1.0-Pars[0],2); } void __fastcall TForm1::FormCreate(TObject *Sender) { MtxOptim->VariableParameters->SetIt(false,OPENARRAY(double,(2,-1))); MtxOptim->RealFunction = Banana; MtxOptim->OptimizationMethod = optMarquardt; // numeric approximation MtxOptim->GradProcedure = NULL; MtxOptim->GradHessProcedure = NULL; MtxOptim->Recalculate(); }
Examples on GitHub
Copyright (c) 1999-2024 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!