24小时热门版块排行榜    

查看: 1898  |  回复: 8

maotian7658

木虫 (正式写手)

[求助] 矩阵生成[1, 0, -1]:满足总和为定值,累加和在限定范围

例如,生成3行20列的矩阵,每个元素取值为-1,0或1,1和-1的个数限定,3行的和分别为4,6,5,矩阵元素累加和不能大于5,也不能小于-3。同时1和-1按一定顺序填充,如1按照[13 12  3  18 20  9  16 5 4 14 17 6 11 10 7 19  8 1  2 15] 从头到尾放置,-1按照相反的顺序,一旦出现冲突,当前位置被放弃,考虑下一位置。
如:第一行,1和-1 的个数分别设定为9 和5,序列 [0 1 1 1 1 1 1 1 1 1 0 0 0 0 -1 -1 -1 -1 -1], 总和虽然等于4,但累加和(cumsum)为[0  1 2 3 4  5  6  7  8  9  9 9  9  9 8  7  6 5 4],不满足条件。
请问各位老师,如何能实现上述目的,能否给出具体代码。拜谢!

[ Last edited by maotian7658 on 2014-2-24 at 16:44 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maotian7658

木虫 (正式写手)

坐等大神解答!!!
2楼2014-02-24 16:45:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

【答案】应助回帖

可否解释一下这句话:
如1按照[13 12  3  18 20  9  16 5 4 14 17 6 11 10 7 19  8 1  2 15] 从头到尾放置,-1按照相反的顺序,一旦出现冲突,当前位置被放弃,考虑下一位置
3楼2014-02-24 17:01:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maotian7658

木虫 (正式写手)

引用回帖:
3楼: Originally posted by ju5200 at 2014-02-24 17:01:05
可否解释一下这句话:
如1按照 从头到尾放置,-1按照相反的顺序,一旦出现冲突,当前位置被放弃,考虑下一位置

谢谢围观,这句话的意思是存放1和-1的时候按照一定的优先级,也就是按照给出的这个序列。例子中矩阵每列含20个元素,共有20个位置,1是按照该序列从头到尾的次序存放,摆满9个位置为止,-1是从尾到头开始,也就是15,2,1,8...的顺序...遇到冲突(累加和不在范围内),放弃该位置,继续寻找下一个,只到摆满相应个数。
4楼2014-02-24 17:22:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

引用回帖:
4楼: Originally posted by maotian7658 at 2014-02-24 17:22:24
谢谢围观,这句话的意思是存放1和-1的时候按照一定的优先级,也就是按照给出的这个序列。例子中矩阵每列含20个元素,共有20个位置,1是按照该序列从头到尾的次序存放,摆满9个位置为止,-1是从尾到头开始,也就是1 ...

有个问题:根据题意 以第一行为例,一旦1的个数确定了 第一行的-1和0的个数也都确定了,那么现在任务时到底有多少个1 第二、三行任务也是确定1的个数
不妨设为三个未知数xyz,根据矩阵和的要求可以列出两个不等式,从而xyz实际上只有一个自由度 因而可以考虑穷举法
下面确定每一行1的位置就有问题了  因为你所给的顺序序列并不是必须遵守的顺序而是可以放弃的,那么1和-1谁的优先级高呢?还有,同样是1,前面的15和2的位置谁的优先级高呢?这些问题你都要先讲明白
5楼2014-02-24 21:17:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maotian7658

木虫 (正式写手)

引用回帖:
5楼: Originally posted by ju5200 at 2014-02-24 21:17:57
有个问题:根据题意 以第一行为例,一旦1的个数确定了 第一行的-1和0的个数也都确定了,那么现在任务时到底有多少个1 第二、三行任务也是确定1的个数
不妨设为三个未知数xyz,根据矩阵和的要求可以列出两个不等式 ...

1的个数是另外确定的,问题主要研究怎么去存放1和-1. 假设3行1的个数分别为9,10,8,-1的个数可以求出为:5,4,3. 优先级的问题:对于1,优先级别是从头到尾依次降低(13比12的高);对于-1,优先级别是从尾到头,优先级别依次降低(即:15比2的高)。
6楼2014-02-25 10:14:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

引用回帖:
6楼: Originally posted by maotian7658 at 2014-02-25 10:14:09
1的个数是另外确定的,问题主要研究怎么去存放1和-1. 假设3行1的个数分别为9,10,8,-1的个数可以求出为:5,4,3. 优先级的问题:对于1,优先级别是从头到尾依次降低(13比12的高);对于-1,优先级别是从尾到头,优先 ...

大概的解决方法应该是这样:无非一个判定条件 一个赋值语句A(n,m)=1 矩阵A是要求的矩阵 nm是对应位置的索引
只是具体实现起来可能要费一些时间
7楼2014-02-25 11:03:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maotian7658

木虫 (正式写手)

引用回帖:
7楼: Originally posted by ju5200 at 2014-02-25 11:03:31
大概的解决方法应该是这样:无非一个判定条件 一个赋值语句A(n,m)=1 矩阵A是要求的矩阵 nm是对应位置的索引
只是具体实现起来可能要费一些时间...

是的,就是要对对应的位置进行赋值,因为这个程序要嵌套进另一个程序,所有对它的效率要求比较高。可能有一些我不知道的函数或技巧,不知老兄有没有好的方法或建议?谢谢!
8楼2014-02-25 11:13:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maotian7658

木虫 (正式写手)

求高手指点!!
9楼2014-02-26 16:04:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 maotian7658 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料与化工304求B区调剂 +6 邱gl 2026-03-11 7/350 2026-03-17 01:27 by 学员FnSWZj
[考研] 286求调剂 +3 lemonzzn 2026-03-16 5/250 2026-03-16 20:43 by lemonzzn
[考研] 321求调剂 +5 大米饭! 2026-03-15 5/250 2026-03-16 16:33 by houyaoxu
[硕博家园] 深圳大学硕士招生(2026秋,传感器方向,仅录取第一志愿) +4 xujiaoszu 2026-03-11 8/400 2026-03-16 09:45 by xujiaoszu
[考研] 22408总分284求调剂 +3 InAspic 2026-03-13 3/150 2026-03-15 11:10 by zhq0425
[考研] 294求调剂 +3 Zys010410@ 2026-03-13 4/200 2026-03-15 10:59 by zhq0425
[考研] 085601材料工程315分求调剂 +3 yang_0104 2026-03-15 3/150 2026-03-15 10:58 by peike
[考研] 297一志愿上交085600求调剂 +5 指尖八千里 2026-03-14 5/250 2026-03-14 17:26 by a不易
[考研] 复试调剂 +4 z1z2z3879 2026-03-14 5/250 2026-03-14 16:30 by JourneyLucky
[考研] 271求调剂 +10 生如夏花… 2026-03-11 10/500 2026-03-14 00:35 by 卖报员小雨
[考研] 0805,333求调剂 +3 112253525 2026-03-10 3/150 2026-03-13 23:42 by JourneyLucky
[考研] 材料371求调剂 +9 鳄鱼? 2026-03-11 11/550 2026-03-13 22:53 by JourneyLucky
[考研] 一志愿中科院,化学方向,295求调剂 +4 一氧二氮 2026-03-11 4/200 2026-03-13 22:35 by JourneyLucky
[考研] 332求调剂 +3 Zz版 2026-03-13 3/150 2026-03-13 20:36 by 18595523086
[考研] 工科材料085601 279求调剂 +8 困于星晨 2026-03-12 10/500 2026-03-13 15:42 by ms629
[考研] 土木第一志愿276求调剂,科研和技能十分丰富,求新兴方向的导师收留 +3 土木小天才 2026-03-12 3/150 2026-03-13 15:01 by JourneyLucky
[考研] 085600材料与化工 309分请求调剂 +7 dtdxzxx 2026-03-12 8/400 2026-03-13 14:43 by jxchenghu
[考研] 070303一志愿西北大学学硕310找调剂 +3 d如愿上岸 2026-03-13 3/150 2026-03-13 10:43 by houyaoxu
[考研] 283求调剂,材料、化工皆可 +8 苏打水7777 2026-03-11 10/500 2026-03-13 09:06 by Linda Hu
[考研] 290求调剂 +3 柯淮然 2026-03-10 8/400 2026-03-11 13:48 by 柯淮然
信息提示
请填处理意见