作者okgogogo (低调≧﹏≦)
看板MATLAB
标题Re: [运算] 不尽相异物的排列
时间Wed Nov 30 22:49:37 2011
参考看看
clc
clear all
syms b
p=[1 -1];
A1=perms([b b b 0]) %用符号b代替
A1=unique(A1,'rows') %去除重复项
A2=subs(A1,b,p) %把b用p代入
看要排18项是怎样排法?如果0比较少的话排0比较快。
※ 引述《t007123 (林英杰後援会!!!)》之铭言:
: ※ 引述《t007123 (林英杰後援会!!!)》之铭言:
: 想请问两个问题
: 第一个
: 现在有 1 -1 0 三个数下去做排列
: 但是我 1 -1要绑在一起 而且是1後面一定要接 -1
: 然後跟0下去排 我有试过令p=[1,-1] 然後perms(p p p 0)
: 但matlab把p视为可分开的 我现在可能无法用暴力解
: 因为我想跑到18个以上 1 -1 0排列 XDD
: 请问有什麽方法吗?
: 推 Raymond0710:第一题你要的结果是 1 -1 0 和 0 1 -1 两种吗? 11/27 18:36
: 是的
: 当组数一多 1 -1 1 -1 1 -1 0
: 应该会有 4 种这样 我想把1 -1看成一个单位
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.125.4
※ 编辑: okgogogo 来自: 220.135.125.4 (11/30 22:56)
※ 编辑: okgogogo 来自: 220.135.125.4 (11/30 23:01)
1F:推 t007123:可以排序 但是"替代"的函数好像不能放symbol 12/01 08:56
2F:推 t007123:Error in ==> sym.double at29 X = reshape(ValueOfS,siz) 12/01 08:59
3F:→ t007123:Error in ==> sym.subs at 172 12/01 08:59
4F:→ t007123:NEWf = double(sym(maple('map','F',char(sym([NEWexpr{:} 12/01 08:59
5F:→ t007123:}]))))); 12/01 09:00
6F:推 t007123:我发现是 b 不能换成rank=2 的 p=[1 -1] 12/01 09:34
7F:→ okgogogo:我可以跑没问题唷...版本MATLAB R2011b 12/01 13:26
8F:推 t007123:2007 QQ 12/01 16:10