How to work with unknown parameters using Nelder Mead Algorithm?
5 views (last 30 days)
Show older comments
Julkar_Mustakim
on 3 Jan 2020
Edited: Julkar_Mustakim
on 30 Jan 2020
Dear All, I need to extract the original parameters of a PV Panel using Nelder-Mead Algorithm. How can I do that?
I also have the following equation: 
Thank you and looking forward.
0 Comments
Accepted Answer
Walter Roberson
on 3 Jan 2020
Given a set of trial input parameters in a vector, use the known x values to project y values. Subtract the known y values in each case, and square those individually, and sum() the vector. The result will be a sum-of-squared-errors scalar for those input parameters. You want to minimize that: if there were a perfect fit, the residue would be 0. (The residue cannot be negative as you are adding values that are strictlly non-negative).
You can construct a function handle that given the trial parameters, calculates the residue scalar.
Now pass the function handle to your Nelder-Mead function for it to minimize.
12 Comments
Walter Roberson
on 30 Jan 2020
[xMin] = NelderMead(myfunc,x0,alpha,beta,gamma,varargin)
varargin as a parameter would not typically occur outside of a function definition: in the majority of cases if you wanted to pass on parameters that you had received, you would use
[xMin] = NelderMead(myfunc,x0,alpha,beta,gamma,varargin{:})
Or is the
[xMin] = NelderMead(myfunc,x0,alpha,beta,gamma,varargin)
line intended to be a function definition that is missing the "function" keyword?
fval = feval(objfunc,smp,varargin{:});
what is objfunc and how does it differ from myfunc ?
Where is the end statement for your if fStd test? Where is the end statement for your while loop? Why are you setting up objF and x0 and so on inside the if inside the while ?
More Answers (0)
See Also
Categories
Find more on NaNs in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!