I need to create a 3d plot with each step of fminsearch
    4 views (last 30 days)
  
       Show older comments
    
    Jorge Armando Vazquez
 on 10 May 2021
  
    
    
    
    
    Commented: Walter Roberson
      
      
 on 15 May 2021
            Hi, here is my program 
par0 = [0.005276, 0.5017, 88.6357];% initial values
fun_objetivo = @(par,pfrac)FunObjetivo(par);
options = optimset('MaxFunEvals',3000,'Display','iter','PlotFcns',@optimplotfval);
%We use here the Nelder-Mead method
par_optimos = fminsearch(fun_objetivo, par0, options);
I need help with some comands to create a 3d plot, what I want is a 3d plot with "par_optimos(1)" as X, "par_optimos(2)" as Y and "min f(x)" as Z , so I can see how two of  the values of my vector  "par_optimos" are optimized in each iteration.
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 10 May 2021
        options = optimset('MaxFunEvals',3000,'Display','iter','PlotFcns',@plot_12z);
and
function stop = plot_12z(X,OPTIMVALUES,STATE)
  persistent h
  stop = false;
  switch STATE
      case 'init'
        if isempty(h) || ~isvalid(h)
            fig = figure();
            ax = axes(fig);
            h = animatedline();
        end
      case 'done'
          if ~isempty(h) && isvalid(h)
            delete(ancestor(h), 'figure');
          end
      case 'iter'
          if isvalid(h)
             addpoints(h, X(1), X(2), OPTIMVALUES.fval);
          end
      case 'interupt'
          %no new data
  end
end
16 Comments
More Answers (0)
See Also
Categories
				Find more on Graphics Performance 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!
