随机交换字符(Matlab)

时间:2017-01-08 16:53:36

标签: matlab sequence swap

我有一个输入值是一组序列如下:

{ 'ABCDE'
  'ABCD'
  'ABE'
  'ABCDE'
  'ABD'
  'ABCD'
  'ABCDE' }

我尝试在3个随机序列中交换“A”和“B”,并保持其他序列不变。有人可以有任何建议吗?

2 个答案:

答案 0 :(得分:1)

可能的解决方案

A={ 'ABCDE'
  'ABCD'
  'ABE'
  'ABCDE'
  'ABD'
  'ABCD'
  'ABCDE' };

N = numel(A);

for r = randperm(N,3)
    A(r) = A{r}([2 1 3:end]);
end

for r = randperm(N,3)
    A{r}(1:2) = A{r}([2 1]);
end

randperm(N,3)1:N

中选择3个随机值

然后使用索引[2 1 3:end]我们可以交换第一个和第二个元素

答案 1 :(得分:1)

如果您不想拥有Intent passCount = new Intent(); passCount.putExtra("clickCount", clickCount); CountActivity.this.setResult(Activity.RESULT_OK,passCount); CountActivity.this.finish(); ,而是需要从for loopcell再从char返回char进行额外的数据转换步骤},这可以解决你的问题:

cell