csuband 发表于 2013-8-31 09:37

矩阵下标的一个问题

本帖最后由 csuband 于 2013-8-31 09:40 编辑

这个问题,是从谢金星的书上一个题目抽取而来的。A是一个20×10的矩阵,


那么如何编写这个语句呢???
我个人的做法是i=16,17,18,19,20用@for循环给出,@for(lie(j)|j#le#20#and#j#ge#16:a(j,25-j)=-5);
i=21,22,23,24单独赋值,a(1,4)=-5;a(2,3)=-5;a(3,2)=-5;a(4,1)=-5;但是这有点复杂。。。
@for循环只能有一个过滤条件吧???

wujianjack2 发表于 2013-8-31 10:59

   楼主你好,冒昧回答下你的问题。
   如果要完成此目的,可以这么写:
MODEL:
SETS:
ROW/1..20/;
COL/1..10/;
NUM(ROW,COL):A;
ENDSETS
CALC:
@FOR(NUM(I,J)|I#GE#16:A(I,25-I)=-5);
@FOR(NUM(I,J)|I#LE#4:A(I,5-I)=-5);
ENDCALC
END

写得稍微完整了些,其中CALC ENDCALC段中是实现这个赋值的,或许也显得很麻烦。但是,我认为,A矩阵是20*10的矩阵,下标索引不可以直接出现20以上的数,实际处理时,应该根据题意来进行实际操作即可。

一点小建议,望楼主笑纳。

csuband 发表于 2013-8-31 15:00

理解了,我一直在想一个语句写出来。。结果怎么也想不出来。。。换下思路就是的,谢谢你!!!

chen675103379 发表于 2013-9-12 09:39

一直不知道LINGO还有这个用法,谢谢帖主了。

逆___行 发表于 2013-9-12 09:42

加油加油,国赛加油!
页: [1]
查看完整版本: 矩阵下标的一个问题