How to put any variable name automatically?
    4 views (last 30 days)
  
       Show older comments
    
    Triveni
      
 on 7 Aug 2016
  
    
    
    
    
    Commented: Walter Roberson
      
      
 on 8 Aug 2016
            In this program,
a = 1 ;
b=2;
c = zeros(20,1);
d= zeros(20,1);
for k = 1:20
   c(k) = (b+k)^2 + (a+k)^3;
   d(k) = (b+k)^2 - (a+k)^3;
   end
   [maxobjective, iteration1] = max((c));
but i want to pre define objective function, means
 [maxobjective, iteration1] = max((c)); or
 [maxobjective, iteration1] = max((d));
put automatically like below.
objfun = c; %or d
a = 1 ;
b=2;
c = zeros(20,1);
d= zeros(20,1);
for k = 1:20
   c(k) = (b+k)^2 + (a+k)^3;
   d(k) = (b+k)^2 - (a+k)^3;
   end
   [maxobjective, iteration1] = max((objfun));
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 7 Aug 2016
        Use the same variable for both, but make it a cell array. And make objfun the index of the cell to use.
2 Comments
  Walter Roberson
      
      
 on 8 Aug 2016
				objfun = 1; %or 2
a = 1 ;
b=2;
c_d{1} = zeros(20,1);
c_d{2} = zeros(20,1);
for k = 1:20
  c_d{1}(k) = (b+k)^2 + (a+k)^3;
  c_d{2}(k) = (b+k)^2 - (a+k)^3;
end
[maxobjective, iteration1] = max(c_d{objfun});
More Answers (0)
See Also
Categories
				Find more on Surrogate Optimization in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
