【发布时间】:2016-04-07 17:50:22
【问题描述】:
这对某些人来说可能是一个显而易见的问题,但是我是一名初学者,如果我能获得任何链接或建议,我将不胜感激。
我正在尝试创建一个代码来生成一个矩阵,该矩阵的值基于可能发生的事件的数量。
我正在考虑每个最终成员都有一个独立的事件(这被应用于化学中的最终成员混合场景)。这些事件中的每一个都可以以两种不同的方式发生(值可以是负数或正数)。我也试图让这段代码能够处理任意数量的独立事件。我认为这个矩阵将是,ncol = 独立事件的数量,nrows = 事件倍数的数量。
例如:如果我有 3 个独立事件(矩阵中的 3 列),每个事件可能出现 2 次(正或负),这意味着有 8 个事件倍数或组合(矩阵中的 8 行)。
对于每个组合(行),如果我只使用“1”表示值为正,使用“-1”表示值为负,我想自动生成结果。行组合的顺序应该无关紧要。
不幸的是,我使用的是 MatLab R2015a,但我在想一个与我所要求的功能类似的功能,在 MatLab R2016a 中称为“combnk”或“combntns”。
% Beginning of code:
NoIndEvents = 3; % Number of independent events
NoOccur = 2; % Number of occurrences for each ind. event
newmatrix = ones(NoOccur^NoIndEvents,NoIndEvents); % Initialize matrix
% Have no idea how to generate this part...
% My desired output (no hard coding & easily modified for any
% number of columns/ ind. events)
newmatrix =
1 1 1
-1 -1 -1
1 1 -1
1 -1 1
-1 1 1
-1 -1 1
-1 1 -1
1 -1 1
有人知道我可以为此使用的功能吗?我有一种感觉,这可能非常简单,我只是无法将我的大脑包裹在它的编码方面......
提前感谢您! ~悉尼
【问题讨论】:
标签: matlab events generator combinations