数学建模社区-数学中国

标题: 矩阵下标的一个问题 [打印本页]

作者: csuband    时间: 2013-8-31 09:37
标题: 矩阵下标的一个问题
本帖最后由 csuband 于 2013-8-31 09:40 编辑

这个问题,是从谢金星的书上一个题目抽取而来的。A是一个20×10的矩阵,
11111111.JPG
222222222.JPG
那么如何编写这个语句呢???
我个人的做法是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
加油加油,国赛加油!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5