evaluate dynamic variables in a loop and assign each one with optimvar.

Hi;
i created a number of variables like the following:
for j=1:N
eval(['b' num2str(j) '= j']);
end
i need to assign each b1,b2,b3,.... as the following inside the loop.
b1=optimvar('b1','Type','integer','LowerBound',0,'UpperBound',1);
b2=optimvar('b2','Type','integer','LowerBound',0,'UpperBound',1);
.
.
.
please help.

4 Kommentare

if there is different way no problem with it.
Cell array, or dynamic field names on a struct array.
give me a hint how to start writing the code.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Hello,
This small example may help you
clear
N = 3;
b = cell(1,N);
for i = 1:N
a = sprintf('b%d',i);
b{i} = optimvar(a,'Type','integer','LowerBound',0,'UpperBound',1);
end

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by