-1
4

2 回答 2

0

我对你的问题有点迷茫,但这是我认为你需要的:

  1. 查找或定义迭代完成后要保留的变量
  2. 确保它们被迭代索引,例如h在任何地方替换为h(iteration)
  3. 完成所有迭代后,评估结果并计算平均值
于 2013-10-23T14:12:21.070 回答
0

问题就在循环的开始:

for t=1 : iteration
    s=zeros(4,1);

    ...

    s(offset,:)=h;
    offset=offset+1;

这意味着您s在每次迭代中重置您的变量。如果您将初始化移到s循环之外,事情应该可以正常工作。事实上,您似乎只存储了最后一次迭代的结果(您将之前的结果归零)。

编辑它有点难以知道它的大小h(它看起来像一个单一的值,但你正在做s(offset,:) = h;这有点令人困惑)。无论如何,如果你s足够大以包含所有值,并正确索引它,你应该没问题:

s = zeros( iteration, 4, 1 );

for t = 1 : iteration

  ...

  s(t, offset, :) = h;
  offset = offset + 1;

h现在,对于每次迭代,您将在 中获得 的所有值s。那个更好吗?

编辑 2你想要每次迭代的h次数10。将此行放在for t=循环之外:

Hcount = zeros(1,iteration);

这在你计算之后h

Hcount(t) = numel(find(h==10));

在每次迭代的“for loop this will contain what you wanted - and you can check it againsts h”值的末尾。which will have one row of

于 2013-10-23T17:55:20.747 回答