How to put any variable name automatically?
1 view (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 Get Started with Optimization Toolbox 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!