我需要更改b的元素(将1更改为0并将0更改为1)以获取新参数c(j)。我想使用宏选项,可以吗?
set j/1*100/;
parameter b(j) ,c(j);
*suppose b(j) initialized
c(j)=b(j);
loop(j,
if(c(j)=1,
c(j)=0;
else
c(j)=1;
);
谢谢!
答案 0 :(得分:1)
可以在宏中执行此操作。但是,如果只想切换0/1,则也可以只使用not
运算符。查看此代码的修改后的版本:
set j/1*100/;
parameter b(j) ,c(j);
* Fill with random data
b(j) = uniformInt(0,1);
* Note: This is actaully not necessary; you could also use b directly below
c(j)=b(j);
c(j) = not c(j);